From 42ebbb0788b0b6a480ea9b0d76dfa54f82f18df0 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Tue, 18 Oct 2011 15:44:06 +0300 Subject: demux_ts: fixed buffer leak. (buffer was lost if PES packet had no payload) --- src/demuxers/demux_ts.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 44c46c3f3..f1943275e 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -1108,11 +1108,11 @@ static void demux_ts_buffer_pes(demux_ts_t*this, unsigned char *ts, m->counter++; if (pus) { /* new PES packet */ - if (m->buf && m->buf->size) { - demux_ts_flush_media(m); - } + + demux_ts_flush_media(m); + /* allocate the buffer here, as pes_header needs a valid buf for dvbsubs */ - m->buf = m->fifo->buffer_pool_alloc(m->fifo); + m->buf = m->fifo->buffer_pool_alloc(m->fifo); if (!demux_ts_parse_pes_header(this->stream->xine, m, ts, len)) { m->buf->free_buffer(m->buf); -- cgit v1.2.3