From 7f9be72e72057dbf72ddbf91fa5d1fe01c6e2ba6 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 f27b2bfdde..935db6e3c4 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_vec_deque_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);