Show existing frame will zero frame_type value but it doesn't mean
it's keyframe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2112>
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);
}
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;