audiodecoder: Don't return not-negotiated if flushing

If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.

https://bugzilla.gnome.org/show_bug.cgi?id=701763
This commit is contained in:
Mathieu Duponchelle 2013-06-21 20:41:15 +02:00 committed by Nicolas Dufresne
parent 748cbbd76e
commit 97e68b36c7

View file

@ -1033,7 +1033,10 @@ gst_audio_decoder_finish_frame (GstAudioDecoder * dec, GstBuffer * buf,
(GST_AUDIO_INFO_IS_VALID (&ctx->info)
&& gst_pad_check_reconfigure (dec->srcpad)))) {
if (!gst_audio_decoder_negotiate (dec)) {
ret = GST_FLOW_NOT_NEGOTIATED;
if (GST_PAD_IS_FLUSHING (dec->srcpad))
ret = GST_FLOW_FLUSHING;
else
ret = GST_FLOW_NOT_NEGOTIATED;
goto exit;
}
}