On 10/06/2014 19:48, Andrei Gherzan wrote:
Hi Alex,


On Mon, Jun 9, 2014 at 10:23 AM, Alex J Lennon <ajlennon@dynamicdevices.co.uk> wrote:
The eglglessink needs to be built to target the Raspberry Pi or it will seg-fault in use.

Autoconf attempts to detect whether to build for RPi but there are some include files needed, the search path to which must be specified.

Format lines - max 78 chars per line.
 

ref: https://github.com/raspberrypi/firmware/issues/34

ref: https://github.com/raspberrypi/firmware/issues/99

This patch adds the needed include paths and forces the plugin to be built for Raspberry Pi.

With this patch the following pipeline works on RPi,

modprobe bcm2835-v4l2 gst_v4l2src_is_broken=1
gst-launch-1.0 --gst-debug-no-color v4l2src ! 'video/x-raw,format=RGB,width=1280,height=720,framerate=(fraction)30/1' ! eglglessink max-lateness=-1

Change-Id: I80826a43a428199b2a05ea51404ead24a815c38f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
---
 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend

diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
new file mode 100644
index 0000000..199e0c1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend
@@ -0,0 +1 @@
+EXTRA_OECONF += " CPPFLAGS='-I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux' --with-egl-window-system=rpi"

This append should be done only for raspberrypi machine. Having this append (EXTRA_OECONF) for other machines too would break gstreamer1.0-plugins-bad as most of the times bblayers.conf includes many layers not always related to the MACHINE selected.

Absolutely. Our emails may have crossed here and if so my apologies, but this is why I directed the .bbappend to [meta-raspberrypi] as that's where it's needed.

Cheers,

Alex