Skip to contentSkip to conversation

gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi

PATCH In review Alex J Lennon 2 participants 6 messages Jun 9, 2014 – Jun 11, 2014

lore
Share & tools
lore
#0 lore raw

cover gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi

Please see following patch for details

Alex J Lennon (1):
gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi

 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
Signature · 1 line
2.0.0
#1 lore raw

PATCH 1/1 gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi

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.

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
---
 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
recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend new file +1 -0
new file mode 100644
index 0000000..199e0c1
@@ -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"
Signature · 1 line
2.0.0
#2 lore raw

Hi Alex,

Quoted 6 lines · Alex J Lennon

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.

Quoted 32 lines

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
---
 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

recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend new file +1 -0
@@ -0,0 +1 @@
+EXTRA_OECONF += "
Quoted 4 lines

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.

Thanks.

Signature · 2 lines
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12
#3 lore raw
Quoted 57 lines · Andrei Gherzan

Hi Alex,

On Mon, Jun 9, 2014 at 10:23 AM, Alex J Lennon <[email protected] <mailto:[email protected]>> 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 <[email protected]
    <mailto:[email protected]>>
    ---
     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"
Quoted 4 lines

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

#4 lore raw
Quoted 60 lines · Alex J Lennon
Quoted 58 lines · Andrei Gherzan

Hi Alex,

On Mon, Jun 9, 2014 at 10:23 AM, Alex J Lennon
<[email protected]
<mailto:[email protected]>> 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 <[email protected]
    <mailto:[email protected]>>
    ---
     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"
Quoted 8 lines
Quoted 4 lines

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

#5 lore raw
Quoted 71 lines · Alex J Lennon

On 11/06/2014 00:22, Alex J Lennon wrote:

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

Hi Alex,

Quoted 6 lines · Alex J Lennon

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.

Quoted 33 lines

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

---
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

recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.2.3.bbappend new file +1 -0
@@ -0,0 +1 @@
+EXTRA_OECONF += "
Quoted 4 lines

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.

Quoted 8 lines

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

Great. Thank you Alex.

Signature · 2 lines
*Andrei Gherzan*
m: +40.744.478.414 |  f: +40.31.816.28.12