From 2b1f5673605eaee6792d86d4b84bc59249a36eb0 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 22 Oct 2024 23:41:13 +0900 Subject: [PATCH] vp8decoder: Fix resolution change handling Do not store resolution in set_format() so that resolution change can be detected on keyframe as intended. Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928 Part-of: --- .../gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c index eae9c12c88..868042b8d3 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.c @@ -115,6 +115,9 @@ gst_vp8_decoder_start (GstVideoDecoder * decoder) gst_vp8_parser_init (&priv->parser); priv->wait_keyframe = TRUE; + priv->had_sequence = FALSE; + priv->width = 0; + priv->height = 0; priv->output_queue = gst_queue_array_new_for_struct (sizeof (GstVp8DecoderOutputFrame), 1); @@ -217,9 +220,6 @@ gst_vp8_decoder_set_format (GstVideoDecoder * decoder, self->input_state = gst_video_codec_state_ref (state); - priv->width = GST_VIDEO_INFO_WIDTH (&state->info); - priv->height = GST_VIDEO_INFO_HEIGHT (&state->info); - query = gst_query_new_latency (); if (gst_pad_peer_query (GST_VIDEO_DECODER_SINK_PAD (self), query)) gst_query_parse_latency (query, &priv->is_live, NULL, NULL);