diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-12-11 15:30:05 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2001-12-11 15:30:05 +0000 |
commit | 7c6b15eb257aa005e3d01394c09ca1f48e0f7ab7 (patch) | |
tree | 58f548c3419ac4fee61fc00c5833002c400ccf43 /src/xine-engine | |
parent | 1416e359d0bfcb59d2021d3904b50dc55bbfe466 (diff) | |
download | xine-lib-7c6b15eb257aa005e3d01394c09ca1f48e0f7ab7.tar.gz xine-lib-7c6b15eb257aa005e3d01394c09ca1f48e0f7ab7.tar.bz2 |
audio_decoder->reset() on discontinuities
CVS patchset: 1221
CVS date: 2001/12/11 15:30:05
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/audio_decoder.c | 21 | ||||
-rw-r--r-- | src/xine-engine/xine_internal.h | 6 |
2 files changed, 6 insertions, 21 deletions
diff --git a/src/xine-engine/audio_decoder.c b/src/xine-engine/audio_decoder.c index b2bc1ac89..fa6a3582b 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.56 2001/11/20 12:41:57 miguelfreitas Exp $ + * $Id: audio_decoder.c,v 1.57 2001/12/11 15:30:06 miguelfreitas Exp $ * * * functions that implement audio decoding @@ -137,11 +137,8 @@ void *audio_decoder_loop (void *this_gen) { case BUF_CONTROL_AVSYNC_RESET: printf ("audio_decoder: discontinuity ahead\n"); - /* fixme ? */ if (this->cur_audio_decoder_plugin) { - this->cur_audio_decoder_plugin->close (this->cur_audio_decoder_plugin); - this->cur_audio_decoder_plugin = NULL; - this->audio_type = 0; + this->cur_audio_decoder_plugin->reset (this->cur_audio_decoder_plugin); } this->metronom->expect_audio_discontinuity (this->metronom); @@ -157,20 +154,6 @@ void *audio_decoder_loop (void *this_gen) { default: -#if 0 - while (this->audio_mute==2) { - xine_usec_sleep (50000); - } - - if (this->audio_mute) { - /* - lrb_add (this->audio_temp, buf); - continue; - */ - break; - } -#endif - xine_profiler_start_count (prof_audio_decode); if ( (buf->type & 0xFF000000) == BUF_AUDIO_BASE ) { diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index 140db9a71..c091cbb61 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.h @@ -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_internal.h,v 1.62 2001/12/09 18:03:26 guenter Exp $ + * $Id: xine_internal.h,v 1.63 2001/12/11 15:30:06 miguelfreitas Exp $ * */ @@ -54,7 +54,7 @@ extern "C" { #define INPUT_PLUGIN_MAX 50 #define DEMUXER_PLUGIN_MAX 50 #define DECODER_PLUGIN_MAX 256 -#define DECODER_PLUGIN_IFACE_VERSION 3 +#define DECODER_PLUGIN_IFACE_VERSION 4 #define AUDIO_OUT_PLUGIN_MAX 50 #define VIDEO_OUT_PLUGIN_MAX 50 #define XINE_MAX_EVENT_LISTENERS 50 @@ -111,6 +111,8 @@ struct audio_decoder_s { void (*decode_data) (audio_decoder_t *this, buf_element_t *buf); + void (*reset) (audio_decoder_t *this); + void (*close) (audio_decoder_t *this); char* (*get_identifier) (void); |