[oe] [PATCH] gst-plugins-good: v4l2src: Make Leapoard Imaging VGA Camera work out of the box
Joel A Fernandes
agnel.joel at gmail.com
Fri Jul 29 22:58:07 UTC 2011
Format enumeration in Gstreamer expects drivers to implement VIDIOC_ENUM_FMT and if not, it calls
VIDIOC_TRY_FMT on a set of "emulated formats" which could be unsupported resulting in failure of
the format negotiation stage [1]
We add UYVY to the set of formats making the mt9v113 sensor in this camera board and other sensors
that don't support the emulated formats work out-of-the box without needing a caps filter element
[1] http://lists.freedesktop.org/archives/gstreamer-devel/2011-July/032425.html
Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
---
...-UYVY-color-format-to-the-list-of-enumera.patch | 43 ++++++++++++++++++++
recipes/gstreamer/gst-plugins-good_0.10.28.bb | 4 +-
2 files changed, 46 insertions(+), 1 deletions(-)
create mode 100644 recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch
diff --git a/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch b/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch
new file mode 100644
index 0000000..88a0125
--- /dev/null
+++ b/recipes/gstreamer/gst-plugins-good/0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch
@@ -0,0 +1,43 @@
+From d5a1f365bfd4420912735709bcb8004d3ad7226c Mon Sep 17 00:00:00 2001
+From: Joel A Fernandes <agnel.joel at gmail.com>
+Date: Fri, 29 Jul 2011 17:23:43 -0500
+Subject: [PATCH] v4l2src: Add UYVY color format to the list of enumerations
+
+OMAP3 ISP returns -EINVAL for VIDIOC_ENUM_FMT ioctl on video node. Due to this, format negotiation fails. This adds UYVY format to the list of enumerations.
+
+Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
+---
+ sys/v4l2/gstv4l2object.c | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
+index 7e15489..e04c0fd 100644
+--- a/sys/v4l2/gstv4l2object.c
++++ b/sys/v4l2/gstv4l2object.c
+@@ -1025,6 +1025,23 @@ gst_v4l2_object_fill_format_list (GstV4l2Object * v4l2object)
+ (GCompareFunc) format_cmp_func);
+ }
+
++/* Add UYVY format to the list of enumerations */
++ format = g_new0 (struct v4l2_fmtdesc, 1);
++ format->type = (enum v4l2_buf_type)-1;
++ format->index = n;
++ format->flags = 0;
++ format->pixelformat = V4L2_PIX_FMT_UYVY;
++ v4l2object->formats = g_slist_insert_sorted (v4l2object->formats, format,
++ (GCompareFunc) format_cmp_func);
++
++ GST_INFO_OBJECT (v4l2object->element, "index: %u", format->index);
++ GST_INFO_OBJECT (v4l2object->element, "type: %d", format->type);
++ GST_INFO_OBJECT (v4l2object->element, "flags: %08x", format->flags);
++ GST_INFO_OBJECT (v4l2object->element, "description: '%s'",
++ format->description);
++ GST_INFO_OBJECT (v4l2object->element, "pixelformat: %" GST_FOURCC_FORMAT,
++ GST_FOURCC_ARGS (format->pixelformat));
++
+ #ifndef GST_DISABLE_GST_DEBUG
+ {
+ GSList *l;
+--
+1.7.0.4
+
diff --git a/recipes/gstreamer/gst-plugins-good_0.10.28.bb b/recipes/gstreamer/gst-plugins-good_0.10.28.bb
index a398f4c..b93236b 100644
--- a/recipes/gstreamer/gst-plugins-good_0.10.28.bb
+++ b/recipes/gstreamer/gst-plugins-good_0.10.28.bb
@@ -1,6 +1,8 @@
require gst-plugins.inc
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
+
+SRC_URI += "file://0001-v4l2src-Add-UYVY-color-format-to-the-list-of-enumera.patch"
SRC_URI[archive.md5sum] = "6ef1588921f59d85c44ee2e49a3c97a0"
SRC_URI[archive.sha256sum] = "adfbce68b9fbadb7a7aeda2227af6afe1928ef025af4158726617b9d6834b028"
--
1.7.0.4
More information about the Openembedded-devel
mailing list