[meta-ti] [PATCH] kselftests: fix capabilities and sigaltstack packaging

2017-03-16 Thread Denys Dmytriyenko
From: Denys Dmytriyenko 

1. capabilities requires cap-ng.h header file, otherwise skipping the build
2. sigaltstack was not using TEST_PROGS resulting in binary not being installed

Since the main package depends on all subpackages, in both cases it would lead
to a failure to install it into an image.

Signed-off-by: Denys Dmytriyenko 
Cc: Fathi Boudra 
---
 recipes-kernel/kselftests/kselftests_4.9.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/recipes-kernel/kselftests/kselftests_4.9.bb 
b/recipes-kernel/kselftests/kselftests_4.9.bb
index 3b1e43e..a7b4ba6 100644
--- a/recipes-kernel/kselftests/kselftests_4.9.bb
+++ b/recipes-kernel/kselftests/kselftests_4.9.bb
@@ -60,6 +60,7 @@ do_configure () {
sed "s|^CC := .*||g" -i 
${S}/tools/testing/selftests/powerpc/switch_endian/Makefile
sed "s|gcc|\$(CC)|g" -i 
${S}/tools/testing/selftests/breakpoints/Makefile
sed "s|^LDFLAGS += -lrt -lpthread|LDLIBS += -lrt -lpthread|g" -i 
${S}/tools/testing/selftests/timers/Makefile
+   sed "s|BINARIES|TEST_PROGS|g" -i 
${S}/tools/testing/selftests/sigaltstack/Makefile
 }
 
 do_compile () {
@@ -138,6 +139,8 @@ FILES_${PN}-x86 = "${bindir}/kselftests/x86"
 FILES_${PN}-zram = "${bindir}/kselftests/zram"
 FILES_${PN}-dbg += "${bindir}/kselftests/*/.debug"
 
+ALLOW_EMPTY_${PN}-capabilities = "1"
+
 RDEPENDS_${PN}-cpu-hotplug += "bash"
 RDEPENDS_${PN}-efivarfs += "bash"
 RDEPENDS_${PN}-memory-hotplug += "bash"
-- 
2.7.4

-- 
___
meta-ti mailing list
meta-ti@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-ti


Re: [meta-ti] [krogoth][PATCH 3/3] gstreamer1.0-plugins-bad: waylandsink: add input format I420 support

2017-03-16 Thread Ruei, Eric
Nak
Denys: can you ignore this series? I meant to send to meta-arago.

Eric


-Original Message-
From: meta-ti-boun...@yoctoproject.org 
[mailto:meta-ti-boun...@yoctoproject.org] On Behalf Of Ruei, Eric
Sent: Thursday, March 16, 2017 1:27 PM
To: meta-ti@yoctoproject.org
Subject: [meta-ti] [krogoth][PATCH 3/3] gstreamer1.0-plugins-bad: waylandsink: 
add input format I420 support

Signed-off-by: Eric Ruei 
---
 ...waylandsink-add-input-format-I420-support.patch | 89 ++
 .../gstreamer1.0-plugins-bad_1.6.3.bbappend|  2 +
 2 files changed, 91 insertions(+)
 create mode 100644 
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch

diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
new file mode 100644
index 000..c4bf4b1
--- /dev/null
+++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugin
+++ s-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
@@ -0,0 +1,89 @@
+From 4d04ea92f196b9e0880917cf029a95c9ebef0ea9 Mon Sep 17 00:00:00 2001
+From: Eric Ruei 
+Date: Wed, 22 Feb 2017 10:49:01 -0500
+Subject: [PATCH] gstwaylandsink: add input format I420 support
+
+The software-based video decoder produces the output in I420 format. To 
+display the output without additional ARM MHz consumed in video format 
+conversion, the function gst_wl_memory_construct_wl_buffer is enhanced to 
support I420 format.
+
+Signed-off-by: Eric Ruei 
+---
+ ext/wayland/wldrm.c | 41 ++---
+ 1 file changed, 34 insertions(+), 7 deletions(-)
+
+diff --git a/ext/wayland/wldrm.c b/ext/wayland/wldrm.c index 
+8f2c393..cb2b0f2 100644
+--- a/ext/wayland/wldrm.c
 b/ext/wayland/wldrm.c
+@@ -5,33 +5,60 @@
+ #include 
+ #include 
+ 
++GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug); #define GST_CAT_DEFAULT 
++gstwayland_debug
++
++
+ struct wl_buffer *
+ gst_wl_drm_memory_construct_wl_buffer (GstMemory * mem, GstWlDisplay * 
display,
+ const GstVideoInfo * info)
+ {
+   gint video_width = GST_VIDEO_INFO_WIDTH (info);
+   gint video_height = GST_VIDEO_INFO_HEIGHT (info);
++  GstVideoFormat format = GST_VIDEO_INFO_FORMAT (info);
+   int fd = -1;
+   struct omap_bo *bo;
+   struct wl_buffer *buffer;
+-
+-  /* TODO get format, etc from caps.. and query device for
+-   * supported formats, and make this all more flexible to
+-   * cope with various formats:
+-   */
+-  uint32_t fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++  uint32_t fourcc;
+   uint32_t name;
+   /* note: wayland and mesa use the terminology:
+*stride - rowstride in bytes
+*pitch  - rowstride in pixels
+*/
+   uint32_t strides[3] = {
+-GST_ROUND_UP_4 (video_width), GST_ROUND_UP_4 (video_width), 0,
++GST_ROUND_UP_4 (video_width), 0, 0,
+   };
+   uint32_t offsets[3] = {
+ 0, strides[0] * video_height, 0
+   };
+ 
++  if (format == GST_VIDEO_FORMAT_NV12)  {
++/* NV12 */
++fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++strides[1] = GST_ROUND_UP_4 (video_width);  }  else if(format == 
++ GST_VIDEO_FORMAT_I420)  {
++/* YUV420 */
++fourcc = GST_MAKE_FOURCC ('Y', 'U', '1', '2');
++strides[1] = strides[2] = GST_ROUND_UP_4 (video_width/2);
++offsets[2] = offsets[1] + strides[1] * video_height/2;  }  else  {
++
++GST_DEBUG ("Unsupported video format: %d", format);
++/*
++ * There are two xRGB frames with width and height = 1 required in the 
begining of a video stream.
++ * If we consider them as errot, then it will case libwayland-clent.so 
crashes
++ * due to invalid error handling.
++ * Consider them as NV12 until we can figure out a better solution
++ */
++fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++strides[1] = GST_ROUND_UP_4 (video_width);  }
++
+   fd = gst_fd_memory_get_fd (mem);
+ 
+   if (fd < 0 ) {
+--
+1.9.1
+
diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
index 317b19e..bbd1d99 100644
--- 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
+++ b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugin
+++ s-bad_1.6.3.bbappend
@@ -22,11 +22,13 @@ DEPENDS_append_ti33x = " \
 SRC_URI_append_omap-a15 = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
 file://0002-kmssink-add-YUYV-support.patch \
+file://0001-gstwaylandsink-add-input-format-I420-support.patch \
 "
 
 SRC_URI_append_ti43x = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
 file://0002-kmssink-add-YUYV-support.patch \
+

[meta-ti] [krogoth][PATCH 2/3] gstreamer1.0-plugins-bad: kmssink: add YUYV support

2017-03-16 Thread Eric Ruei
Signed-off-by: Eric Ruei 
---
 .../0002-kmssink-add-YUYV-support.patch| 81 ++
 .../gstreamer1.0-plugins-bad_1.6.3.bbappend|  2 +
 2 files changed, 83 insertions(+)
 create mode 100644 
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch

diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch
new file mode 100644
index 000..a5791cc
--- /dev/null
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-kmssink-add-YUYV-support.patch
@@ -0,0 +1,81 @@
+From af348c890c04ce9626d411055aae0974f410219f Mon Sep 17 00:00:00 2001
+From: Eric Ruei 
+Date: Tue, 14 Mar 2017 17:24:07 -0400
+Subject: [PATCH 2/2] kmssink: add YUYV support
+
+Signed-off-by: Eric Ruei 
+---
+ sys/kms/gstkmsbufferpriv.c | 32 +++-
+ sys/kms/gstkmssink.c   |  2 +-
+ 2 files changed, 28 insertions(+), 6 deletions(-)
+
+diff --git a/sys/kms/gstkmsbufferpriv.c b/sys/kms/gstkmsbufferpriv.c
+index 172a4c3..57c01f8 100644
+--- a/sys/kms/gstkmsbufferpriv.c
 b/sys/kms/gstkmsbufferpriv.c
+@@ -41,22 +41,44 @@
+ static int
+ create_fb (GstKMSBufferPriv * priv, GstKMSSink * sink)
+ {
++
+   /* TODO get format, etc from caps.. and query device for
+* supported formats, and make this all more flexible to
+* cope with various formats:
+*/
+-  uint32_t fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
+-
++  GstVideoFormat format = sink->format;
++  uint32_t fourcc;
+   uint32_t handles[4] = {
+-omap_bo_handle (priv->bo), omap_bo_handle (priv->bo),
++omap_bo_handle (priv->bo),
+   };
+   uint32_t pitches[4] = {
+-GST_ROUND_UP_4 (sink->input_width), GST_ROUND_UP_4 (sink->input_width),
++GST_ROUND_UP_4 (sink->input_width),
+   };
+   uint32_t offsets[4] = {
+-0, pitches[0] * sink->input_height
++0,
+   };
+ 
++  /**
++   * Only two formats are supported:
++   * AM3/4: YUYV
++   * AM5: NV12, YUYV
++   */
++  if(format == GST_VIDEO_FORMAT_YUY2)
++  {
++/* YUYV */
++fourcc = GST_MAKE_FOURCC ('Y', 'U', 'Y', 'V');
++pitches[0] = GST_ROUND_UP_4 (sink->input_width*2);
++  }
++  else
++  {
++/* NV12 */
++fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++handles[1] = omap_bo_handle (priv->bo);
++pitches[1] = GST_ROUND_UP_4 (sink->input_width);
++offsets[1] = pitches[0] * sink->input_height;
++  }
++
++
+   return drmModeAddFB2 (priv->fd, sink->input_width, sink->input_height,
+   fourcc, handles, pitches, offsets, >fb_id, 0);
+ }
+diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
+index 9795bdf..b36d88f 100644
+--- a/sys/kms/gstkmssink.c
 b/sys/kms/gstkmssink.c
+@@ -50,7 +50,7 @@ static GstStaticPadTemplate gst_kms_sink_template_factory =
+ GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+-GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE("NV12"))
++GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE("{NV12,YUY2}"))
+ );
+ 
+ enum
+-- 
+1.9.1
+
diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
index 2c903d4..317b19e 100644
--- 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
@@ -21,10 +21,12 @@ DEPENDS_append_ti33x = " \
 
 SRC_URI_append_omap-a15 = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
+file://0002-kmssink-add-YUYV-support.patch \
 "
 
 SRC_URI_append_ti43x = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
+file://0002-kmssink-add-YUYV-support.patch \
 "
 
 SRC_URI_append_ti33x = " \
-- 
1.9.1

-- 
___
meta-ti mailing list
meta-ti@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-ti


[meta-ti] [krogoth][PATCH 1/3] gstreamer1.0-plugins-bad: kmssink: remove DCE dependencies

2017-03-16 Thread Eric Ruei
- remove DCE dependencies from kmssink
- AM4(ti43x) shares the same branch as of AM5(omap-a15)

Signed-off-by: Eric Ruei 
---
 .../0001-kmssink-remove-DCE-dependencies.patch | 96 ++
 .../gstreamer1.0-plugins-bad_1.6.3.bbappend|  8 +-
 2 files changed, 102 insertions(+), 2 deletions(-)
 create mode 100644 
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-kmssink-remove-DCE-dependencies.patch

diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-kmssink-remove-DCE-dependencies.patch
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-kmssink-remove-DCE-dependencies.patch
new file mode 100644
index 000..e050e08
--- /dev/null
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-kmssink-remove-DCE-dependencies.patch
@@ -0,0 +1,96 @@
+From 6b04eb39296caec717d310872c1f0acfa85c5ae7 Mon Sep 17 00:00:00 2001
+From: Eric Ruei 
+Date: Wed, 15 Mar 2017 09:08:13 -0400
+Subject: [PATCH 1/2] kmssink: remove DCE dependencies
+
+Replace DCE related API calls to libdrm and omapdrm API calls
+to decouple DCE from kmssink
+
+Signed-off-by: Eric Ruei 
+---
+ configure.ac |  1 -
+ sys/kms/Makefile.am  |  2 --
+ sys/kms/gstkmssink.c | 17 +
+ 3 files changed, 13 insertions(+), 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2e0d1f3..2b1ecaa 100644
+--- a/configure.ac
 b/configure.ac
+@@ -2119,7 +2119,6 @@ dnl *** kms ***
+ translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
+ AG_GST_CHECK_FEATURE(KMS, [kmssink], kms, [
+   PKG_CHECK_MODULES([DRM], [libdrm libdrm_omap], HAVE_KMS=yes, HAVE_KMS=no)
+-  PKG_CHECK_MODULES(LIBDCE, [libdce >= 1.0.0], HAVE_KMS=yes, HAVE_KMS=no)
+   AC_SUBST(DRM_CFLAGS)
+   AC_SUBST(DRM_LIBS)
+ ])
+diff --git a/sys/kms/Makefile.am b/sys/kms/Makefile.am
+index 6d56073..cc7353e 100644
+--- a/sys/kms/Makefile.am
 b/sys/kms/Makefile.am
+@@ -9,7 +9,6 @@ libgstkmssink_la_CFLAGS = \
+   $(GST_PLUGINS_BAD_CFLAGS) \
+   $(GST_PLUGINS_BASE_CFLAGS) \
+   $(GST_BASE_CFLAGS) \
+-  $(LIBDCE_CFLAGS) \
+   $(GST_CFLAGS) \
+   $(DRM_CFLAGS)
+ 
+@@ -17,7 +16,6 @@ libgstkmssink_la_LIBADD = \
+   $(GST_PLUGINS_BASE_LIBS) \
+   $(GST_BASE_LIBS) \
+   $(GST_LIBS) \
+-  $(LIBDCE_LIBS) \
+   $(DRM_LIBS) \
+   -lgstvideo-$(GST_API_VERSION) \
+   $(top_builddir)/gst-libs/gst/drm/libgstdrm-$(GST_API_VERSION).la
+diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
+index 17e6407..9795bdf 100644
+--- a/sys/kms/gstkmssink.c
 b/sys/kms/gstkmssink.c
+@@ -31,7 +31,6 @@
+ #include "gstkmssink.h"
+ #include "gstkmsbufferpriv.h"
+ 
+-#include 
+ #include 
+ #include 
+ #include 
+@@ -516,13 +515,18 @@ gst_kms_sink_start (GstBaseSink * bsink)
+ 
+   sink = GST_KMS_SINK (bsink);
+ 
+-  drm_dev = dce_init ();
++  drm_fd = open("/dev/dri/card0", O_RDWR | O_CLOEXEC);
++  if(drm_fd == NULL)
++goto drm_failed;
++  else {
++drm_dev = omap_device_new(drm_fd);
++  }
++
+   if (drm_dev == NULL)
+ goto device_failed;
+   else {
++sink->fd = drm_fd;
+ sink->dev = drm_dev;
+-sink->fd = dce_get_fd ();
+-drm_fd = dce_get_fd ();
+   }
+ 
+   sink->resources = drmModeGetResources (sink->fd);
+@@ -539,6 +543,11 @@ fail:
+   gst_kms_sink_reset (sink);
+   return FALSE;
+ 
++drm_failed:
++  GST_ELEMENT_ERROR (sink, RESOURCE, FAILED,
++  (NULL), ("drmOpen failed"));
++  goto fail;
++
+ device_failed:
+   GST_ELEMENT_ERROR (sink, RESOURCE, FAILED,
+   (NULL), ("omap_device_new failed"));
+-- 
+1.9.1
+
diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
index b5ccebf..2c903d4 100644
--- 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
@@ -8,7 +8,6 @@ PACKAGECONFIG_append_ti43x = " 
${@bb.utils.contains('DISTRO_FEATURES','wayland',
 PACKAGECONFIG_append_ti33x = " 
${@bb.utils.contains('DISTRO_FEATURES','wayland','wayland','',d)}"
 
 DEPENDS_append_omap-a15 = " \
-libdce \
 libdrm \
 "
 
@@ -18,10 +17,14 @@ DEPENDS_append_ti43x = " \
 
 DEPENDS_append_ti33x = " \
 libdrm \
+"
+
+SRC_URI_append_omap-a15 = " \
+file://0001-kmssink-remove-DCE-dependencies.patch \
 "
 
 SRC_URI_append_ti43x = " \
-file://0001-gstwaylandsink-Add-mouse-drag-and-drop-support.patch \
+file://0001-kmssink-remove-DCE-dependencies.patch \
 "
 
 SRC_URI_append_ti33x = " \
@@ -38,6 +41,7 @@ SRC_URI = 
"git://git.ti.com/glsdk/gstreamer1-0-plugins-bad.git;protocol=git;bran
 S = "${WORKDIR}/git"
 
 SRCREV_omap-a15 = "eb41f1c8fde05f87587c83d157835e3b2d19a298"
+SRCREV_ti43x = "eb41f1c8fde05f87587c83d157835e3b2d19a298"
 SRCREV = 

[meta-ti] [krogoth][PATCH 3/3] gstreamer1.0-plugins-bad: waylandsink: add input format I420 support

2017-03-16 Thread Eric Ruei
Signed-off-by: Eric Ruei 
---
 ...waylandsink-add-input-format-I420-support.patch | 89 ++
 .../gstreamer1.0-plugins-bad_1.6.3.bbappend|  2 +
 2 files changed, 91 insertions(+)
 create mode 100644 
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch

diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
new file mode 100644
index 000..c4bf4b1
--- /dev/null
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-gstwaylandsink-add-input-format-I420-support.patch
@@ -0,0 +1,89 @@
+From 4d04ea92f196b9e0880917cf029a95c9ebef0ea9 Mon Sep 17 00:00:00 2001
+From: Eric Ruei 
+Date: Wed, 22 Feb 2017 10:49:01 -0500
+Subject: [PATCH] gstwaylandsink: add input format I420 support
+
+The software-based video decoder produces the output in I420 format. To display
+the output without additional ARM MHz consumed in video format conversion,
+the function gst_wl_memory_construct_wl_buffer is enhanced to support I420 
format.
+
+Signed-off-by: Eric Ruei 
+---
+ ext/wayland/wldrm.c | 41 ++---
+ 1 file changed, 34 insertions(+), 7 deletions(-)
+
+diff --git a/ext/wayland/wldrm.c b/ext/wayland/wldrm.c
+index 8f2c393..cb2b0f2 100644
+--- a/ext/wayland/wldrm.c
 b/ext/wayland/wldrm.c
+@@ -5,33 +5,60 @@
+ #include 
+ #include 
+ 
++GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug);
++#define GST_CAT_DEFAULT gstwayland_debug
++
++
+ struct wl_buffer *
+ gst_wl_drm_memory_construct_wl_buffer (GstMemory * mem, GstWlDisplay * 
display,
+ const GstVideoInfo * info)
+ {
+   gint video_width = GST_VIDEO_INFO_WIDTH (info);
+   gint video_height = GST_VIDEO_INFO_HEIGHT (info);
++  GstVideoFormat format = GST_VIDEO_INFO_FORMAT (info);
+   int fd = -1;
+   struct omap_bo *bo;
+   struct wl_buffer *buffer;
+-
+-  /* TODO get format, etc from caps.. and query device for
+-   * supported formats, and make this all more flexible to
+-   * cope with various formats:
+-   */
+-  uint32_t fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++  uint32_t fourcc;
+   uint32_t name;
+   /* note: wayland and mesa use the terminology:
+*stride - rowstride in bytes
+*pitch  - rowstride in pixels
+*/
+   uint32_t strides[3] = {
+-GST_ROUND_UP_4 (video_width), GST_ROUND_UP_4 (video_width), 0,
++GST_ROUND_UP_4 (video_width), 0, 0,
+   };
+   uint32_t offsets[3] = {
+ 0, strides[0] * video_height, 0
+   };
+ 
++  if (format == GST_VIDEO_FORMAT_NV12)
++  {
++/* NV12 */
++fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++strides[1] = GST_ROUND_UP_4 (video_width);
++  }
++  else if(format == GST_VIDEO_FORMAT_I420)
++  {
++/* YUV420 */
++fourcc = GST_MAKE_FOURCC ('Y', 'U', '1', '2');
++strides[1] = strides[2] = GST_ROUND_UP_4 (video_width/2);
++offsets[2] = offsets[1] + strides[1] * video_height/2;
++  }
++  else
++  {
++
++GST_DEBUG ("Unsupported video format: %d", format);
++/*
++ * There are two xRGB frames with width and height = 1 required in the 
begining of a video stream.
++ * If we consider them as errot, then it will case libwayland-clent.so 
crashes
++ * due to invalid error handling.
++ * Consider them as NV12 until we can figure out a better solution
++ */
++fourcc = GST_MAKE_FOURCC ('N', 'V', '1', '2');
++strides[1] = GST_ROUND_UP_4 (video_width);
++  }
++
+   fd = gst_fd_memory_get_fd (mem);
+ 
+   if (fd < 0 ) {
+-- 
+1.9.1
+
diff --git 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
index 317b19e..bbd1d99 100644
--- 
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
+++ 
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
@@ -22,11 +22,13 @@ DEPENDS_append_ti33x = " \
 SRC_URI_append_omap-a15 = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
 file://0002-kmssink-add-YUYV-support.patch \
+file://0001-gstwaylandsink-add-input-format-I420-support.patch \
 "
 
 SRC_URI_append_ti43x = " \
 file://0001-kmssink-remove-DCE-dependencies.patch \
 file://0002-kmssink-add-YUYV-support.patch \
+file://0001-gstwaylandsink-add-input-format-I420-support.patch \
 "
 
 SRC_URI_append_ti33x = " \
-- 
1.9.1

-- 
___
meta-ti mailing list
meta-ti@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-ti