From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 896E7E00B83; Wed, 11 Jun 2014 00:29:29 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=HTML_MESSAGE autolearn=ham version=3.3.1 X-Spam-HAM-Report: * 0.0 HTML_MESSAGE BODY: HTML included in message Received: from www.dynamicdevices.co.uk (www.dynamicdevices.co.uk [89.200.136.37]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id DDCE6E0082A for ; Wed, 11 Jun 2014 00:29:16 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by www.dynamicdevices.co.uk (Postfix) with ESMTP id 4243D27E036; Wed, 11 Jun 2014 07:29:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at lennoab2.miniserver.com Received: from www.dynamicdevices.co.uk ([127.0.0.1]) by localhost (www.dynamicdevices.co.uk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ri9SHgpQtfoX; Wed, 11 Jun 2014 07:28:51 +0000 (UTC) Received: from [127.0.0.1] (cpc32-live22-2-0-cust59.17-2.cable.virginm.net [82.36.253.60]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by www.dynamicdevices.co.uk (Postfix) with ESMTPSA id 47C5E27E02A; Wed, 11 Jun 2014 07:28:51 +0000 (UTC) Message-ID: <53980530.8000705@dynamicdevices.co.uk> Date: Wed, 11 Jun 2014 08:28:48 +0100 From: Alex J Lennon User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Andrei Gherzan References: <9c061d514d5c846032c672ae42b6a1119e4e69db.1402296985.git.ajlennon@dynamicdevices.co.uk> <53979352.6040909@dynamicdevices.co.uk> In-Reply-To: <53979352.6040909@dynamicdevices.co.uk> X-Enigmail-Version: 1.6 Cc: Yocto Project Subject: Re: [meta-raspberrypi][PATCH 1/1] gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jun 2014 07:29:29 -0000 Content-Type: multipart/alternative; boundary="------------030806060107020802080008" --------------030806060107020802080008 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On 11/06/2014 00:22, Alex J Lennon wrote: > > On 10/06/2014 19:48, Andrei Gherzan wrote: >> Hi Alex, >> >> >> On Mon, Jun 9, 2014 at 10:23 AM, Alex J Lennon >> > > 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 > > >> --- >> 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. Andrei - Upon further reflection I see what you mean. Somebody might well include the meta-raspberrypi layer, yet not be building for the Raspberry Pi. Not something I'd considered. I'll re-work the patch to take this into account. Cheers, Alex --------------030806060107020802080008 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
On 11/06/2014 00:22, Alex J Lennon wrote:

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.

Andrei - Upon further reflection I see what you mean. Somebody might well include the meta-raspberrypi layer, yet not be building for the Raspberry Pi. Not something I'd considered. I'll re-work the patch to take this into account.

Cheers, Alex

--------------030806060107020802080008--