vtdec: Mark pad as needing reconfiguration again if it failed

And return FLUSHING instead of NOT_NEGOTIATED on flushing pads.

https://bugzilla.gnome.org/show_bug.cgi?id=774623
This commit is contained in:
Sebastian Dröge 2016-11-17 20:20:52 +02:00
parent db504c9ea5
commit 279fb3d99f

View file

@ -808,7 +808,14 @@ gst_vtdec_push_frames_if_needed (GstVtdec * vtdec, gboolean drain,
/* negotiate now so that we know whether we need to use the GL upload meta or /* negotiate now so that we know whether we need to use the GL upload meta or
* not */ * not */
if (gst_pad_check_reconfigure (decoder->srcpad)) { if (gst_pad_check_reconfigure (decoder->srcpad)) {
gst_video_decoder_negotiate (decoder); if (!gst_video_decoder_negotiate (decoder)) {
gst_pad_mark_reconfigure (decoder->srcpad);
if (GST_PAD_IS_FLUSHING (decoder->srcpad))
ret = GST_FLOW_FLUSHING;
else
ret = GST_FLOW_NOT_NEGOTIATED;
return ret;
}
} }
if (drain) if (drain)