summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThibaut Mattern <tmattern@users.sourceforge.net>2005-03-20 18:41:55 +0000
committerThibaut Mattern <tmattern@users.sourceforge.net>2005-03-20 18:41:55 +0000
commit62f7f3b9c62912677d6243e425d561461ead3279 (patch)
tree037b0ddbc8be00d22fa67442dc83d97f987ffeb8 /src
parent35ff997745d7b68d16d8d688fb257e06c7e210f1 (diff)
downloadxine-lib-62f7f3b9c62912677d6243e425d561461ead3279.tar.gz
xine-lib-62f7f3b9c62912677d6243e425d561461ead3279.tar.bz2
Fixed problem when play_internal called _x_demux_start_thread and the previous demux thread has not been joined.
CVS patchset: 7442 CVS date: 2005/03/20 18:41:55
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/demux.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xine-engine/demux.c b/src/xine-engine/demux.c
index b7a3f4dbc..3a2634e26 100644
--- a/src/xine-engine/demux.c
+++ b/src/xine-engine/demux.c
@@ -20,7 +20,7 @@
* Demuxer helper functions
* hide some xine engine details from demuxers and reduce code duplication
*
- * $Id: demux.c,v 1.56 2005/03/06 11:08:40 tmattern Exp $
+ * $Id: demux.c,v 1.57 2005/03/20 18:41:55 tmattern Exp $
*/
@@ -332,7 +332,10 @@ int _x_demux_start_thread (xine_stream_t *stream) {
if( !stream->demux_thread_running ) {
- _x_assert(stream->demux_thread == 0);
+ if (stream->demux_thread) {
+ void *p;
+ pthread_join(stream->demux_thread, &p);
+ }
stream->demux_thread_running = 1;
if ((err = pthread_create (&stream->demux_thread,