summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-03-12 14:53:16 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-03-12 14:53:16 +0000
commite7ef4c2bd94e68660cf5be840c7dc4814871d9e6 (patch)
treee7b2975b62f7a30c02fb4f778ef6324803e18e1a
parent29742cb950ecd54dc1bc13952bdc0a17b1b72096 (diff)
downloadxine-lib-e7ef4c2bd94e68660cf5be840c7dc4814871d9e6.tar.gz
xine-lib-e7ef4c2bd94e68660cf5be840c7dc4814871d9e6.tar.bz2
<small break from my dissertation...>
this should fix hang on exit reported by Bastien. untested. CVS patchset: 6243 CVS date: 2004/03/12 14:53:16
-rw-r--r--src/xine-engine/audio_decoder.c15
1 files changed, 14 insertions, 1 deletions
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;