Add icamerasrc as dmabuf capable peer element

icamerasrc is another gstreamer plugin using to capture RAW
frames from camera device. It is based on libcamhal library.
There are some properties available to control icamera behavior.

Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=759481

Fixme: This is the similar workaround we done for v4l2src.
The workaround will be removed once we fix #755072
This commit is contained in:
Lim Siew Hoon 2016-02-17 15:40:54 +02:00 committed by Sreerenj Balachandran
parent 733c9b6fba
commit ce1ab4673c

View file

@ -375,12 +375,19 @@ has_dmabuf_capable_peer (GstVaapiPluginBase * plugin, GstPad * pad)
if (GST_IS_PUSH_SRC (element)) { if (GST_IS_PUSH_SRC (element)) {
element_name = gst_element_get_name (element); element_name = gst_element_get_name (element);
if (!element_name || sscanf (element_name, "v4l2src%d", &v) != 1) if (!element_name)
break;
if ((sscanf (element_name, "v4l2src%d", &v) != 1)
&& (sscanf (element_name, "camerasrc%d", &v) != 1))
break; break;
v = 0; v = 0;
g_object_get (element, "io-mode", &v, NULL); g_object_get (element, "io-mode", &v, NULL);
is_dmabuf_capable = v == 5; /* "dmabuf-import" enum value */ if (strncmp (element_name, "camerasrc", 9) == 0)
is_dmabuf_capable = v == 3;
else
is_dmabuf_capable = v == 5; /* "dmabuf-import" enum value */
break; break;
} else if (GST_IS_BASE_TRANSFORM (element)) { } else if (GST_IS_BASE_TRANSFORM (element)) {
element_name = gst_element_get_name (element); element_name = gst_element_get_name (element);