baseaudiodecoder: fix FLUSH_STOP actions
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 29 Mar 2011 13:51:40 +0000 (15:51 +0200)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sat, 27 Aug 2011 13:46:59 +0000 (14:46 +0100)
gst-libs/gst/audio/gstbaseaudiodecoder.c

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