nvvp9sldec: Drop frames on non-keyframe format change
authorSeungha Yang <seungha@centricular.com>
Thu, 2 Dec 2021 07:04:21 +0000 (16:04 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 2 Dec 2021 19:19:59 +0000 (19:19 +0000)
NVDEC doesn't seem to be able to handle the case

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1407>

subprojects/gst-plugins-bad/sys/nvcodec/gstnvvp9dec.c

index 8f13451..3ba6fce 100644 (file)
@@ -150,6 +150,7 @@ done:
 static gboolean
 gst_nv_vp9_dec_open (GstVideoDecoder * decoder)
 {
+  GstVp9Decoder *vp9dec = GST_VP9_DECODER (decoder);
   GstNvVp9Dec *self = GST_NV_VP9_DEC (decoder);
   GstNvVp9DecClass *klass = GST_NV_VP9_DEC_GET_CLASS (self);
 
@@ -167,6 +168,10 @@ gst_nv_vp9_dec_open (GstVideoDecoder * decoder)
     return FALSE;
   }
 
+  /* NVDEC doesn't support non-keyframe resolution change and it will result
+   * in outputting broken frames */
+  gst_vp9_decoder_set_non_keyframe_format_change_support (vp9dec, FALSE);
+
   return TRUE;
 }