msdkenc: add macro definitions to avoid the gst-inspect error
authorTong Wu <tong1.wu@intel.com>
Tue, 22 Mar 2022 02:37:59 +0000 (10:37 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 23 Mar 2022 04:34:06 +0000 (04:34 +0000)
Since the strings are empty for GST_MSDK_CAPS_MAKE_WITH_DMABUF_FEATURE
and GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE, when excuting
gst-inspect-1.0.exe msdkh265enc, there will be convert static caps error
because of the extra semicolon between two empty strings. Now macro
definitions are added to avoid this issue.

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

subprojects/gst-plugins-bad/sys/msdk/gstmsdkenc.c
subprojects/gst-plugins-bad/sys/msdk/gstmsdkh265enc.c
subprojects/gst-plugins-bad/sys/msdk/gstmsdkvp9enc.c

index 7ef0329..f8b3e6f 100644 (file)
@@ -78,6 +78,14 @@ static void gst_msdkenc_close_encoder (GstMsdkEnc * thiz);
 GST_DEBUG_CATEGORY_EXTERN (gst_msdkenc_debug);
 #define GST_CAT_DEFAULT gst_msdkenc_debug
 
+#ifdef _WIN32
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_MSDK_CAPS_STR
+        ("{ NV12, I420, YV12, YUY2, UYVY, BGRA }", "NV12"))
+    );
+#else
 static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
@@ -85,6 +93,7 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
         ("{ NV12, I420, YV12, YUY2, UYVY, BGRA }", "NV12") "; "
         GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE ("NV12"))
     );
+#endif
 
 #define PROP_HARDWARE_DEFAULT            TRUE
 #define PROP_ASYNC_DEPTH_DEFAULT         4
index fe679e9..f0fda43 100644 (file)
@@ -130,12 +130,20 @@ enum
 #define PRFOLIE_STR     "{ " PROFILES_1032 " }"
 #endif
 
+#ifdef _WIN32
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_MSDK_CAPS_STR (COMMON_FORMAT,
+            "{ NV12, P010_10LE }")));
+#else
 static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_MSDK_CAPS_STR (COMMON_FORMAT,
             "{ NV12, P010_10LE }") "; "
         GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE ("NV12")));
+#endif
 
 static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
index 8014666..da35769 100644 (file)
@@ -67,12 +67,20 @@ GST_DEBUG_CATEGORY_EXTERN (gst_msdkvp9enc_debug);
 #define SRC_PROFILES  "{ " PROFILES " }"
 #endif
 
+#ifdef _WIN32
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_MSDK_CAPS_STR (COMMON_FORMAT,
+            "{ NV12, P010_10LE }")));
+#else
 static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS (GST_MSDK_CAPS_STR (COMMON_FORMAT,
             "{ NV12, P010_10LE }") "; "
         GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE ("NV12")));
+#endif
 
 static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,