summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-18 15:44:06 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-18 15:44:06 +0300
commit42ebbb0788b0b6a480ea9b0d76dfa54f82f18df0 (patch)
tree1e8559912a31b522da72eb085b86af555011f482 /src
parentfd021ba10d26c185cc6a536d69aad832ff77569a (diff)
downloadxine-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.c8
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);