vapostproc: Append featured caps rather than merge.
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 16 Nov 2021 09:40:03 +0000 (10:40 +0100)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 22 Nov 2021 15:27:10 +0000 (15:27 +0000)
So it would be possible to honor upstream preference.

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

subprojects/gst-plugins-bad/sys/va/gstvavpp.c

index 42f14c1..6540a17 100644 (file)
@@ -893,14 +893,17 @@ gst_va_vpp_transform_caps (GstBaseTransform * trans, GstPadDirection direction,
   ret = gst_va_vpp_caps_remove_fields (caps);
 
   tmp = gst_va_vpp_complete_caps_features (ret, GST_CAPS_FEATURE_MEMORY_VA);
-  ret = gst_caps_merge (ret, tmp);
+  if (!gst_caps_is_subset (tmp, ret))
+    gst_caps_append (ret, tmp);
 
   tmp = gst_va_vpp_complete_caps_features (ret, GST_CAPS_FEATURE_MEMORY_DMABUF);
-  ret = gst_caps_merge (ret, tmp);
+  if (!gst_caps_is_subset (tmp, ret))
+    gst_caps_append (ret, tmp);
 
   tmp = gst_va_vpp_complete_caps_features (ret,
       GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
-  ret = gst_caps_merge (ret, tmp);
+  if (!gst_caps_is_subset (tmp, ret))
+    gst_caps_append (ret, tmp);
 
   if (filter) {
     GstCaps *intersection;