baseaudiodecoder: fix FLUSH_STOP actions

This commit is contained in:
Mark Nauwelaerts 2011-03-29 15:51:40 +02:00 committed by Tim-Philipp Müller
parent 660aa2e2c0
commit 5003868dc7

View file

@ -992,6 +992,7 @@ gst_base_audio_decoder_flush (GstBaseAudioDecoder * dec, gboolean hard)
if (!hard) { if (!hard) {
ret = gst_base_audio_decoder_drain (dec); ret = gst_base_audio_decoder_drain (dec);
} else { } else {
gst_base_audio_decoder_clear_queues (dec);
gst_segment_init (&dec->segment, GST_FORMAT_TIME); gst_segment_init (&dec->segment, GST_FORMAT_TIME);
dec->priv->error_count = 0; dec->priv->error_count = 0;
} }
@ -1357,7 +1358,7 @@ gst_base_audio_decoder_sink_eventfunc (GstBaseAudioDecoder * dec,
case GST_EVENT_FLUSH_STOP: case GST_EVENT_FLUSH_STOP:
/* prepare for fresh start */ /* prepare for fresh start */
gst_base_audio_decoder_flush (dec, FALSE); gst_base_audio_decoder_flush (dec, TRUE);
break; break;
case GST_EVENT_EOS: case GST_EVENT_EOS: