From: Seungha Yang Date: Sun, 28 Mar 2021 07:11:23 +0000 (+0900) Subject: codecs: vp9decoder: Don't check codec change with show_existing_frame X-Git-Tag: 1.19.3~507^2~570 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=771326a0fb292ae86882cc2dfe160409674ef3ea;p=platform%2Fupstream%2Fgstreamer.git codecs: vp9decoder: Don't check codec change with show_existing_frame Show existing frame will zero frame_type value but it doesn't mean it's keyframe. Part-of: --- diff --git a/gst-libs/gst/codecs/gstvp9decoder.c b/gst-libs/gst/codecs/gstvp9decoder.c index f6d14ab..e38ff4e 100644 --- a/gst-libs/gst/codecs/gstvp9decoder.c +++ b/gst-libs/gst/codecs/gstvp9decoder.c @@ -297,7 +297,8 @@ gst_vp9_decoder_handle_frame (GstVideoDecoder * decoder, goto unmap_and_error; } - if (priv->wait_keyframe && frame_hdr.frame_type != GST_VP9_KEY_FRAME) { + if (priv->wait_keyframe && (frame_hdr.frame_type != GST_VP9_KEY_FRAME + || frame_hdr.show_existing_frame)) { GST_DEBUG_OBJECT (self, "Drop frame before initial keyframe"); gst_buffer_unmap (in_buf, &map); @@ -307,6 +308,7 @@ gst_vp9_decoder_handle_frame (GstVideoDecoder * decoder, } if (frame_hdr.frame_type == GST_VP9_KEY_FRAME && + !frame_hdr.show_existing_frame && !gst_vp9_decoder_check_codec_change (self, &frame_hdr)) { GST_ERROR_OBJECT (self, "codec change error"); goto unmap_and_error;