Clang port of GStreamer 1.12.4 to Android

Stirling Westrup swestrup at gmail.com
Thu Jun 7 16:56:35 UTC 2018


As part of our development work on Android, we were forced to
cross-compile GStreamer 1.12.4 with clang for Android ARM v7a

We now have a set of bash scripts which accomplish this task, in case
anyone else is interested.

There are several caveats:

1) We've only tested the build scripts on Linux, specifically the
OpenSuse and Centos distros, as that's the environments we work in. We
don't support either Mac or Windows builds.

2) We don't build everything. In particular, we only ported the
minimal set of libraries needed to support all of the elements that we
use, but the framework is now in place for adding more libraries.

3) We've only tested cross compiling to ARM7, although it should be
relatively easy to change the target.

4) We have custom patches in place to support the conversion. Some fix
issues in the libraries, but others are unoffical bug fixes or new
features for some of the elements we rely on. You will probably want
to strip them out.

5) We only compile down to the individual libraries. Pulling them
altogether and linking them with gstreamer_android.c is something we
left up to Android Studio, for maximum flexibility, but we can supply
our Android.mk file for building the final library.

I don't know if these scripts will be of use to anyone else, but it
took a few months of development and testing to get them working, so
we're willing to release them, with minimal documentation or
handholding.

So, this is far from a final solution, but if someone needs a
quick-and-dirty clang conversion for gstreamer, here it is.

-- 
Stirling Westrup
Programmer, Entrepreneur.
https://www.linkedin.com/e/fpf/77228
http://www.linkedin.com/in/swestrup
http://technaut.livejournal.com
http://sourceforge.net/users/stirlingwestrup


More information about the gstreamer-devel mailing list