rdk: secure parser support dmabuffer only [1/1]

PD#SWPL-23981

Problem:
the gstreamer auto-plugin set up not correct due

Solution:
make secure parser support dmabuffer only, so that auto-plugin
not change the pipe

Verify:
U212 + RDK

Change-Id: I04f21e6246181a90337cac674652931d76a96cae
Signed-off-by: Tao Guo <tao.guo@amlogic.com>
diff --git a/gst-aml-drm-plugins-1.0/src/dummy/gstdummydrm.c b/gst-aml-drm-plugins-1.0/src/dummy/gstdummydrm.c
index fc26065..9b520e9 100644
--- a/gst-aml-drm-plugins-1.0/src/dummy/gstdummydrm.c
+++ b/gst-aml-drm-plugins-1.0/src/dummy/gstdummydrm.c
@@ -169,7 +169,7 @@
             ret = gst_caps_copy(caps);
             unsigned size = gst_caps_get_size(ret);
             for (unsigned i = 0; i < size; ++i) {
-                gst_caps_set_features(ret, i, NULL);
+                gst_caps_set_features(ret, i, gst_caps_features_from_string(GST_CAPS_FEATURE_MEMORY_DMABUF));
             }
         }  else {
             ret = gst_caps_copy(srccaps);
diff --git a/gst-aml-drm-plugins-1.0/src/secure_parse/gsth264_sec_parse.c b/gst-aml-drm-plugins-1.0/src/secure_parse/gsth264_sec_parse.c
index 79a9f95..99ca023 100644
--- a/gst-aml-drm-plugins-1.0/src/secure_parse/gsth264_sec_parse.c
+++ b/gst-aml-drm-plugins-1.0/src/secure_parse/gsth264_sec_parse.c
@@ -79,14 +79,15 @@
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h264(memory:SecMem)"));
+    GST_STATIC_CAPS ("video/x-h264(" GST_CAPS_FEATURE_MEMORY_SECMEM_MEMORY ")"));
 
 static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-h264, parsed = (boolean) true, "
-        "stream-format=(string) { avc, avc3, byte-stream }, "
-        "alignment=(string) { au, nal }"));
+    GST_STATIC_CAPS ("video/x-h264(" GST_CAPS_FEATURE_MEMORY_DMABUF "),"
+        "parsed = (boolean) true, "
+        "stream-format=(string)byte-stream, "
+        "alignment=(string)au"));
 
 #define parent_class gst_h264_sec_parse_parent_class
 G_DEFINE_TYPE (GstH264SecParse, gst_h264_sec_parse, GST_TYPE_BASE_PARSE);
@@ -1847,6 +1848,8 @@
   caps = NULL;
   if (G_UNLIKELY (!sps)) {
     caps = gst_caps_copy (sink_caps);
+    gst_caps_set_simple (caps, "width", G_TYPE_INT, 1920,
+              "height", G_TYPE_INT, 1080, NULL);
   } else {
     gint crop_width, crop_height;
     gint fps_num, fps_den;
@@ -2013,7 +2016,7 @@
   if (caps) {
     guint size = gst_caps_get_size(caps);
     for (unsigned i = 0; i < size; ++i) {
-      gst_caps_set_features(caps, i, NULL);
+      gst_caps_set_features(caps, i, gst_caps_features_from_string(GST_CAPS_FEATURE_MEMORY_DMABUF));
     }
 
     gst_caps_set_simple (caps, "parsed", G_TYPE_BOOLEAN, TRUE,
diff --git a/gst-aml-drm-plugins-1.0/src/secure_parse/gstvp9_sec_trans.c b/gst-aml-drm-plugins-1.0/src/secure_parse/gstvp9_sec_trans.c
index a44064c..69abd43 100644
--- a/gst-aml-drm-plugins-1.0/src/secure_parse/gstvp9_sec_trans.c
+++ b/gst-aml-drm-plugins-1.0/src/secure_parse/gstvp9_sec_trans.c
@@ -10,12 +10,12 @@
 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-vp9(memory:SecMem)"));
+    GST_STATIC_CAPS ("video/x-vp9(" GST_CAPS_FEATURE_MEMORY_SECMEM_MEMORY ")"));
 
 static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ("video/x-vp9"));
+    GST_STATIC_CAPS ("video/x-vp9(" GST_CAPS_FEATURE_MEMORY_DMABUF ")"));
 
 #define gst_vp9_sec_trans_parent_class parent_class
 G_DEFINE_TYPE(GstVp9SecTrans, gst_vp9_sec_trans, GST_TYPE_BASE_TRANSFORM);
@@ -117,12 +117,18 @@
             ret = gst_caps_copy(srccaps);
             s = gst_caps_get_structure (caps, 0);
 
-            if (s && gst_structure_has_field (s, "width")) {
-                gst_structure_get_int (s, "width", &width);
+            if (s) {
+                width = 1920;
+                if (gst_structure_has_field (s, "width")) {
+                    gst_structure_get_int (s, "width", &width);
+                }
                 gst_caps_set_simple (ret, "width", G_TYPE_INT, width, NULL);
             }
-            if (s && gst_structure_has_field (s, "height")) {
-                gst_structure_get_int (s, "height", &height);
+            if (s) {
+                height = 1080;
+                if (gst_structure_has_field (s, "height")) {
+                    gst_structure_get_int (s, "height", &height);
+                }
                 gst_caps_set_simple (ret, "height", G_TYPE_INT, height, NULL);
             }
         }
@@ -134,7 +140,7 @@
             ret = gst_caps_copy(caps);
             unsigned size = gst_caps_get_size(ret);
             for (unsigned i = 0; i < size; ++i) {
-                gst_caps_set_features(ret, i, NULL);
+                gst_caps_set_features(ret, i, gst_caps_features_from_string(GST_CAPS_FEATURE_MEMORY_DMABUF));
             }
         }  else {
             ret = gst_caps_copy(srccaps);