d3d11videosink: Specify d3d11 memory caps feature on sinkpad template
authorSeungha Yang <seungha.yang@navercorp.com>
Sat, 24 Aug 2019 08:43:43 +0000 (17:43 +0900)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 5 Dec 2019 02:29:18 +0000 (02:29 +0000)
sys/d3d11/gstd3d11format.c
sys/d3d11/gstd3d11videosink.c

index 7d1077e..5823376 100644 (file)
@@ -24,6 +24,7 @@
 #include "gstd3d11format.h"
 #include "gstd3d11utils.h"
 #include "gstd3d11device.h"
+#include "gstd3d11memory.h"
 
 #ifndef GST_DISABLE_GST_DEBUG
 #define GST_CAT_DEFAULT ensure_debug_category()
@@ -277,6 +278,9 @@ gst_d3d11_device_get_supported_caps_internal (GstD3D11Device * device,
   gst_caps_set_value (supported_caps, "format", &v_list);
   g_value_unset (&v_list);
 
+  gst_caps_set_features_simple (supported_caps,
+      gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY));
+
   data->caps = supported_caps;
 }
 
index 225a384..16806a8 100644 (file)
@@ -39,14 +39,14 @@ enum
 #define DEFAULT_FORCE_ASPECT_RATIO        TRUE
 #define DEFAULT_ENABLE_NAVIGATION_EVENTS  TRUE
 
+#define CAPS_FORMAT "{ BGRA, RGBA, RGB10A2_LE }"
+
 static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-raw, "
-        "format = (string) { BGRA, RGBA, RGB10A2_LE }, "
-        "framerate = (fraction) [ 0, MAX ], "
-        "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]")
-    );
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
+        (GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY, CAPS_FORMAT)
+    ));
 
 GST_DEBUG_CATEGORY (d3d11_video_sink_debug);
 #define GST_CAT_DEFAULT d3d11_video_sink_debug