diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-18 15:44:06 +0300 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-18 15:44:06 +0300 |
commit | 42ebbb0788b0b6a480ea9b0d76dfa54f82f18df0 (patch) | |
tree | 1e8559912a31b522da72eb085b86af555011f482 /src | |
parent | fd021ba10d26c185cc6a536d69aad832ff77569a (diff) | |
download | xine-lib-42ebbb0788b0b6a480ea9b0d76dfa54f82f18df0.tar.gz xine-lib-42ebbb0788b0b6a480ea9b0d76dfa54f82f18df0.tar.bz2 |
demux_ts: fixed buffer leak. (buffer was lost if PES packet had no payload)
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/demux_ts.c | 8 |
1 files changed, 4 insertions, 4 deletions
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); |