audioencoder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING instead from finish_frame(). https://bugzilla.gnome.org/show_bug.cgi?id=701763
This commit is contained in:
parent
a9e4750674
commit
50fd867a43
@ -627,7 +627,10 @@ gst_audio_encoder_finish_frame (GstAudioEncoder * enc, GstBuffer * buf,
|
|||||||
if (G_UNLIKELY (ctx->output_caps_changed
|
if (G_UNLIKELY (ctx->output_caps_changed
|
||||||
|| gst_pad_check_reconfigure (enc->srcpad))) {
|
|| gst_pad_check_reconfigure (enc->srcpad))) {
|
||||||
if (!gst_audio_encoder_negotiate (enc)) {
|
if (!gst_audio_encoder_negotiate (enc)) {
|
||||||
ret = GST_FLOW_NOT_NEGOTIATED;
|
if (GST_PAD_IS_FLUSHING (enc->srcpad))
|
||||||
|
ret = GST_FLOW_FLUSHING;
|
||||||
|
else
|
||||||
|
ret = GST_FLOW_NOT_NEGOTIATED;
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user