diff options
author | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-05-28 12:08:20 +0000 |
---|---|---|
committer | Daniel Caujolle-Bert <f1rmb@users.sourceforge.net> | 2001-05-28 12:08:20 +0000 |
commit | 00eefe1016adb7d586a3cf79f015afc6e367f920 (patch) | |
tree | eec831f95eeddb8d8d1ca5f1a0b2410cb8a0be3f /src/xine-engine | |
parent | a94dd5082488feb9248044f122dec8da9bc90d1a (diff) | |
download | xine-lib-00eefe1016adb7d586a3cf79f015afc6e367f920.tar.gz xine-lib-00eefe1016adb7d586a3cf79f015afc6e367f920.tar.bz2 |
Ability to playback streams without loaded audio driver.
CVS patchset: 89
CVS date: 2001/05/28 12:08:20
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/audio_decoder.c | 17 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 13 |
2 files changed, 22 insertions, 8 deletions
diff --git a/src/xine-engine/audio_decoder.c b/src/xine-engine/audio_decoder.c index cdd73ec6b..8b947856b 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.9 2001/05/24 23:15:40 f1rmb Exp $ + * $Id: audio_decoder.c,v 1.10 2001/05/28 12:08:20 f1rmb Exp $ * * * functions that implement audio decoding @@ -155,6 +155,21 @@ void *audio_decoder_loop (void *this_gen) { } } + else { + /* No audio driver loaded */ + pthread_mutex_lock (&this->xine_lock); + + this->audio_finished = 1; + + if (this->video_finished) { + pthread_mutex_unlock (&this->xine_lock); + xine_notify_stream_finished (this); + } else + pthread_mutex_unlock (&this->xine_lock); + + pthread_exit(NULL); + } + buf->free_buffer (buf); } diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 6dd68199c..f7d6557cb 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.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: xine.c,v 1.18 2001/05/28 01:28:11 f1rmb Exp $ + * $Id: xine.c,v 1.19 2001/05/28 12:08:20 f1rmb Exp $ * * top-level xine functions * @@ -211,7 +211,8 @@ static void xine_play_internal (xine_t *this, char *MRL, return; } - printf ("xine: using input plugin >%s< for this MRL.\n", this->cur_input_plugin->get_identifier(this->cur_input_plugin)); + printf ("xine: using input plugin >%s< for this MRL.\n", + this->cur_input_plugin->get_identifier(this->cur_input_plugin)); /* * find demuxer plugin @@ -224,7 +225,8 @@ static void xine_play_internal (xine_t *this, char *MRL, return; } - printf ("xine: using demuxer plugin >%s< for this MRL.\n", this->cur_demuxer_plugin->get_identifier()); + printf ("xine: using demuxer plugin >%s< for this MRL.\n", + this->cur_demuxer_plugin->get_identifier()); /* * Init SPU decoder with colour lookup table. @@ -438,11 +440,8 @@ xine_t *xine_init (vo_driver_t *vo, if(ao) { this->audio_out = ao; this->audio_out->connect (this->audio_out, this->metronom); - audio_decoder_init (this); } - else - this->audio_out = NULL; /* Disabling audio output */ - + audio_decoder_init (this); /* * init SPU decoder |