vp9parse: Delaying src caps until frame is parsed if profile > 0
authorSeungha Yang <seungha@centricular.com>
Sun, 30 Oct 2022 09:35:08 +0000 (18:35 +0900)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 31 Oct 2022 11:29:38 +0000 (11:29 +0000)
subsampling and/or bitdepth information will be required for
negotiation

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

subprojects/gst-plugins-bad/gst/videoparsers/gstvp9parse.c

index 23c84e8..4d44642 100644 (file)
@@ -824,8 +824,12 @@ gst_vp9_parse_set_sink_caps (GstBaseParse * parse, GstCaps * caps)
 
   /* if all of decoder's capability related values are provided
    * by upstream, update src caps now */
-  if (self->width > 0 && self->height > 0 && profile)
+  if (self->width > 0 && self->height > 0 && profile &&
+      /* Other profiles defines multiple bitdepth/subsampling
+       * Delaying src caps update for non profile-0 streams */
+      self->profile == GST_VP9_PROFILE_0) {
     gst_vp9_parse_update_src_caps (self, in_caps);
+  }
 
   gst_caps_unref (in_caps);