summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2002-11-06 23:20:45 +0000
committerDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2002-11-06 23:20:45 +0000
commit24f509f4296e611e20684328bc4fcbfc151060fc (patch)
tree21887d6e2ea8a663d4d4725bac40a2ce2dd13c29 /src
parenta80e398415ee70ab44930beac307ae1273960e54 (diff)
downloadxine-lib-24f509f4296e611e20684328bc4fcbfc151060fc.tar.gz
xine-lib-24f509f4296e611e20684328bc4fcbfc151060fc.tar.bz2
fix stream ending deadlock without audio driver
CVS patchset: 3196 CVS date: 2002/11/06 23:20:45
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/audio_out.c5
-rw-r--r--src/xine-engine/demux.c3
2 files changed, 4 insertions, 4 deletions
diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c
index a17f438c8..a222a8067 100644
--- a/src/xine-engine/audio_out.c
+++ b/src/xine-engine/audio_out.c
@@ -17,7 +17,7 @@
* along with self program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: audio_out.c,v 1.75 2002/10/29 16:02:45 mroi Exp $
+ * $Id: audio_out.c,v 1.76 2002/11/06 23:20:45 f1rmb Exp $
*
* 22-8-2001 James imported some useful AC3 sections from the previous alsa driver.
* (c) 2001 Andy Lo A Foe <andy@alsaplayer.org>
@@ -492,13 +492,12 @@ static void *ao_loop (void *this_gen) {
in_buf = buf = fifo_remove (this->out_fifo);
bufs_since_sync++;
#ifdef LOG
- printf ("audio_out: got a buffer\n");
+ printf ("audio_out: got a buffer\n");
#endif
while ((this->audio_loop_running) ||
(!this->audio_loop_running && this->out_fifo->first)) {
-
if (this->flush_audio_driver) {
#ifdef LOG
printf ("audio_out: flush audio driver\n");
diff --git a/src/xine-engine/demux.c b/src/xine-engine/demux.c
index e4bc9f4e7..5b7138cd1 100644
--- a/src/xine-engine/demux.c
+++ b/src/xine-engine/demux.c
@@ -175,7 +175,8 @@ static void *demux_loop (void *stream_gen) {
/* wait before sending end buffers: user might want to do a new seek */
while(stream->demux_thread_running &&
((!stream->video_fifo || stream->video_fifo->size(stream->video_fifo)) ||
- (!stream->audio_fifo || stream->audio_fifo->size(stream->audio_fifo))) &&
+ (stream->audio_out
+ && (!stream->audio_fifo || stream->audio_fifo->size(stream->audio_fifo)))) &&
status == DEMUX_FINISHED ){
pthread_mutex_unlock( &stream->demux_lock );
xine_usec_sleep(100000);