msdkh265enc: re-add the sink pad template
authorXiang, Haihao <haihao.xiang@intel.com>
Tue, 27 Nov 2018 07:55:51 +0000 (15:55 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Wed, 12 Dec 2018 09:00:13 +0000 (09:00 +0000)
We will add more profiles in the sink caps of msdkh265enc, so let
msdkh265enc re-add the sink pad template. Note this change doesn't
impact any capability

sys/msdk/gstmsdkh265enc.c

index 3ae9bbd..3f9d8e3 100644 (file)
 #  include "mfxplugin.h"
 #endif
 
+#include <gst/allocators/gstdmabuf.h>
+
 #include "gstmsdkh265enc.h"
 
 GST_DEBUG_CATEGORY_EXTERN (gst_msdkh265enc_debug);
 #define GST_CAT_DEFAULT gst_msdkh265enc_debug
 
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw, "
+        "format = (string) { NV12, I420, YV12, YUY2, UYVY, BGRA }, "
+        "framerate = (fraction) [0, MAX], "
+        "width = (int) [ 16, MAX ], height = (int) [ 16, MAX ],"
+        "interlace-mode = (string) progressive" ";"
+        GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
+            "{ NV12 }")));
+
 static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
@@ -211,6 +224,7 @@ gst_msdkh265enc_class_init (GstMsdkH265EncClass * klass)
       "H265 video encoder based on Intel Media SDK",
       "Josep Torra <jtorra@oblong.com>");
 
+  gst_element_class_add_static_pad_template (element_class, &sink_factory);
   gst_element_class_add_static_pad_template (element_class, &src_factory);
 }