[gst-embedded] gstreamer / glib on powerpc

Herb Peyerl hpeyerl+gst at beer.org
Thu Jul 22 14:13:31 PDT 2010


Solved.

So there were a couple of problems.

First problem:

 - gstreamer calls register_printf_specifier to register some printf extensions.
 - however, the glib supplied *printf family doesn't support registered extensions.
 - since I was cross-compiling, autoconf couldn't do AC_TRY_RUN()
   to determine whether my target's *printf() was
   C98/C99/positional-parameters compliant and as such defaulted
   to 'no' which meant I got the glib built-in printf which doesn't
   support the registration of extensions and hence any debugging
   output containing any of the custom format characters simply
   failed.

First problem resolved why we were unable to get any reasonable debug output.

Second problem was the consistant failures to negotiate among streams and so forth.

This turned out to be a steady belief within gstreamer that our PowerPC was little-endian
and hence the various 64 bit scaling functions (and probably lots of other things) were
incorrectly manipulating int's...  The fix turned out to require us passing GLIB_CFLAGS
to 'configure' to point at our cross-compile sys-root instead of /usr/include/glib-2.0.
This allowed <glib.h> to find <glibconfig.h> and everything became immediately happier.





More information about the Gstreamer-embedded mailing list