From e7ef4c2bd94e68660cf5be840c7dc4814871d9e6 Mon Sep 17 00:00:00 2001 From: Miguel Freitas Date: Fri, 12 Mar 2004 14:53:16 +0000 Subject: this should fix hang on exit reported by Bastien. untested. CVS patchset: 6243 CVS date: 2004/03/12 14:53:16 --- src/xine-engine/audio_decoder.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/xine-engine/audio_decoder.c b/src/xine-engine/audio_decoder.c index 1821fdd5c..3e6401b17 100644 --- a/src/xine-engine/audio_decoder.c +++ b/src/xine-engine/audio_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: audio_decoder.c,v 1.122 2004/03/03 20:17:40 mroi Exp $ + * $Id: audio_decoder.c,v 1.123 2004/03/12 14:53:16 miguelfreitas Exp $ * * * functions that implement audio decoding @@ -395,6 +395,19 @@ static void *audio_decoder_loop (void *stream_gen) { } } + /* free all held header buffers */ + if( first_header ) { + buf_element_t *cur, *next; + + cur = first_header; + while( cur ) { + next = cur->next; + cur->free_buffer (cur); + cur = next; + } + first_header = last_header = NULL; + } + running_ticket->release(running_ticket, 0); return NULL; -- cgit v1.2.3