vulkanh26xdec: re-negotiate after FLUSH

Vulkan decoders also have the same issue as VA decoders fixed in !9457, where
FLUSH event doesn't renegotiate downstream the pipeline.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9560>
This commit is contained in:
Víctor Manuel Jáquez Leal 2025-08-15 12:06:45 +02:00 committed by GStreamer Marge Bot
parent 101722d477
commit 9c93152599
2 changed files with 12 additions and 4 deletions

View File

@ -305,8 +305,11 @@ gst_vulkan_h264_decoder_negotiate (GstVideoDecoder * decoder)
GstVideoFormat format;
/* Ignore downstream renegotiation request. */
if (!self->need_negotiation)
return TRUE;
if (!self->need_negotiation) {
GST_DEBUG_OBJECT (decoder,
"Input state hasn't changed, no need to reconfigure downstream caps");
goto bail;
}
if (!gst_vulkan_decoder_out_format (self->decoder, &format_prop))
return FALSE;
@ -333,6 +336,7 @@ gst_vulkan_h264_decoder_negotiate (GstVideoDecoder * decoder)
GST_INFO_OBJECT (self, "Negotiated caps %" GST_PTR_FORMAT,
self->output_state->caps);
bail:
return GST_VIDEO_DECODER_CLASS (parent_class)->negotiate (decoder);
}

View File

@ -325,8 +325,11 @@ gst_vulkan_h265_decoder_negotiate (GstVideoDecoder * decoder)
GstVideoFormat format;
/* Ignore downstream renegotiation request. */
if (!self->need_negotiation)
return TRUE;
if (!self->need_negotiation) {
GST_DEBUG_OBJECT (decoder,
"Input state hasn't changed, no need to reconfigure downstream caps");
goto bail;
}
if (!gst_vulkan_decoder_out_format (self->decoder, &format_prop))
return FALSE;
@ -349,6 +352,7 @@ gst_vulkan_h265_decoder_negotiate (GstVideoDecoder * decoder)
GST_INFO_OBJECT (self, "Negotiated caps %" GST_PTR_FORMAT,
self->output_state->caps);
bail:
return GST_VIDEO_DECODER_CLASS (parent_class)->negotiate (decoder);
}