From 40d1cd40878b822aa7fbb7872f43660d2866cb75 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Tue, 9 Jul 2002 20:39:26 +0000 Subject: fix buffer leakage (symptom: xine freezes on exit) CVS patchset: 2236 CVS date: 2002/07/09 20:39:26 --- src/demuxers/demux_qt.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 4d5243dc3..a43a746f4 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -30,7 +30,7 @@ * build_frame_table * free_qt_info * - * $Id: demux_qt.c,v 1.61 2002/07/08 21:57:42 tmattern Exp $ + * $Id: demux_qt.c,v 1.62 2002/07/09 20:39:26 miguelfreitas Exp $ * */ @@ -1159,6 +1159,7 @@ static void *demux_qt_loop (void *this_gen) { if (this->input->read(this->input, buf->content, buf->size) != buf->size) { + buf->free_buffer(buf); this->status = DEMUX_FINISHED; break; } @@ -1196,6 +1197,7 @@ static void *demux_qt_loop (void *this_gen) { if (this->input->read(this->input, buf->content, buf->size) != buf->size) { + buf->free_buffer(buf); this->status = DEMUX_FINISHED; break; } @@ -1388,7 +1390,9 @@ static int demux_qt_start (demux_plugin_t *this_gen, buf->decoder_info[2] = this->qt->audio_bits; buf->decoder_info[3] = this->qt->audio_channels; this->audio_fifo->put (this->audio_fifo, buf); - } + } else + buf->free_buffer(buf); + this->status = DEMUX_OK; this->send_end_buffers = 1; -- cgit v1.2.3