From b92a0a3e844caf8c54a45037a68e817550ea7bc6 Mon Sep 17 00:00:00 2001 From: He Junyan Date: Fri, 24 Feb 2023 20:15:20 +0800 Subject: [PATCH] h265decoder: fail early if no input caps have been provided The h265decoder class does not implement the ->parse() virtual function, and we always need to add the h265parse element before it. So we should set_needs_format of the decoder to TRUE, then if no parse before it, it can fail with a "not-negotiated" error early, rather than go on and generate unexpected error. Part-of: --- subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c | 1 + 1 file changed, 1 insertion(+) diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c index 4731300417..201cc6b8c5 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c @@ -218,6 +218,7 @@ gst_h265_decoder_init (GstH265Decoder * self) GstH265DecoderPrivate *priv; gst_video_decoder_set_packetized (GST_VIDEO_DECODER (self), TRUE); + gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (self), TRUE); self->priv = priv = gst_h265_decoder_get_instance_private (self);