[OE-core] RFC: gstreamer 1.0 recipes

Burton, Ross ross.burton at intel.com
Mon Apr 8 09:35:03 UTC 2013


Op 8 apr. 2013, om 01:38 heeft Carlos Rafael Giani
<dv at pseudoterminal.org> het volgende geschreven:
> to start working with GStreamer 1.0 on several embedded platforms, I decided to
> adapt the existing GStreamer recipes from danny for 1.0. Out of this I created a layer,
> which is hosted at https://github.com/dv1/meta-gstreamer1.0 .
>
> I write this RFC, because I figure that GStreamer 1.0 support is already on TODO lists
> of several people, and will eventually end up in OE-Core, just like GStreamer 0.10 did.

Excellent!  I'd love to see this merged into oe-core as soon as we've
branched for 1.4.

> I built the packages for several platforms (cubox, beagleboard, imx6), and they worked
> well. Since 1.0 has been designed to be able to coexist with 0.10 in the same rootfs, I
> changed the naming convention for the packages: they all start with "gstreamer1.0-" .

Perfect.

>> * gstreamer: check_fix.patch (I could not reproduce the documented problem), and gstregistrybin.c/.h (why are these present?)

The binary registry stuff is upstream now I think.

>> * gst-plugins-base: configure.ac-fix-subparse-plugin.patch (not sure what this is trying to fix, and this line does not exist in 1.0), and gst-plugins-base-tremor.patch (again, works well without it)

Fine, is there are problems we'll soon find them again. :)

>> I am also considering some kind of autodetection for when yasm and liborc are available (for example, because meta-oe was added to bblayers.conf), and then switches on Orc and enables yasm in gst-libav. Or better yet, if libav is available as a recipe, it lets gst-libav use it instead of its internal copy. These autodetections would improve performance significantly.

Build-time autodetection has to also be deterministic, i.e. it
examines the MACHINE and layers instead of poking at the sysroot.

So...

On 8 April 2013 08:57, Koen Kooi <koen at dominion.thruhere.net> wrote:
> I've been meaning to ask the same questions, since I need both orc and external libav to make gstreamer  (0.10, but still) useable on my platforms. I came up with the following ideas:
>
> 1) Make every external dep a PACKAGECONFIG option in OE-core gstreamer
> 2) Add bbappends with extra PACKAGECONFIG options for gstreamer in the layer that has the external dep
> 3) add bbappens in the DISTRO layer that enables extra external dependencies.
>
> Angstrom is currently using 3) and I absolutely hate it. 2) is scales a lot better, but apparently is verboten judging from the patches sent that remove the qt bbappends that do the same.
> Which leaves 1), which will cause problems for most users, since they will spot the PACKAGECONFIG options but not bother to read the comments saying they need to enable extra layers.
>
> I favour 1) since that has all the knowledge in a single place, looked after by the OE gst maintainer (which we don't have yet, but still).

(1) definitely needs to happen in my opinion  I'm not a massive fan of
(2) in general as it leads to stuff changing simply by adding a layer
- you may pull in meta-oe for some other packages but suddenly the
GStreamer package is pulling in more dependencies.  I guess for things
like GStreamer where the dependencies are generally isolated into
separate packages this is less of an issue though.

Ross




More information about the Openembedded-core mailing list