Since a while I’ve been working on a OpenEmbedded overlay called marmita. But this post is not about it. Where I want to aim now is about a nice trick: how to use Jhbuild using an OpenEmbedded setup.
First of all, install jhbuild. And, of course, install Marmita.
In Marmita, just as in Poky, in order to get into the OE environment, the user source the script marmita-init-build-env.
Then, I setup another script, which is though to be the rcfile of a new bash session: marmita-simple-cross-compiling-env.
So, at this moment we have set all those environment variables needed to run a jhbuild session. There is also an alias for the jhbuild build, which specifies the jhbuildrc file, crafted for a cross-compiled environment: marmita.jhbuildrc.
For the moment I’ve only built GStreamer. And as a matter of fact, in the process, I came up with a simple patch for gst-plugins-bad.
By the way, the destination directory is in the /opt directory, under the stage directory; so, if you want to play with the generated output in a device, just copy that directory tree into the device’s file system.
Yes, I cannot say that I achieved a full integration between jhbuild and OE, but what I can state is that cooperation is quite possible.
In contrast with Epiphany-WebKit, Firefox seems to be quite picky at rendering videos through the HTML5 tag <video>: it demands the correct HTTP headers.
It doesn’t assume anything. If the stream doesn’t have the correct headers, Firefox just will put a black box in you face without any further explanation.
In order to overcome this issue, struggling a little with the sparse information available through the Internet, I came with this .htaccess file:
AddType video/ogg .ogv
Header set Access-Control-Allow-Origin "*"
Header unset Etag
First of all, my Apache server doesn’t recognize the video/ogg mime type.
Second, the header MUST NOT include the ETag key.
And finally, there’s new header, which isn’t fully implemented by the all browsers, but it will be, and will mess up all our pages with embedded videos, is the cross domain accessibility.