architectural question (Android): gstreamer / openmax / libfslvpuwrap / imxvpuapi

Sebastian Dröge sebastian at centricular.com
Mon Oct 6 09:55:09 PDT 2014


On Mo, 2014-10-06 at 10:47 -0600, Stephen Webb wrote:
> I'm trying to understand how these things fit together / relate to each
> other.  I'm afraid that I may not know enough to even ask intelligent
> questions at this point, so if someone can point me to documentation or
> other resources tat would help, that would be great.
> 
> My current questions:
> 
> 1.  How do gstreamer and openmax relate to each other?  Is it best to think
> of gstreamer as a replacement/alternative to Openmax?  A replacement for
> the OpenMax AL?  They both seem to do a lot of the same things.

GStreamer is a bit like OpenMAX AL and OpenMAX IL together, but has an
even broader scope than those too.

GStreamer can use OpenMAX IL via gst-omx (so you can use e.g. hardware
codecs that have an OpenMAX IL API in GStreamer pipelines). In theory
you could also implement the OpenMAX IL and AL API on top of GStreamer.

> 2.  I was under the impression that OpenMax was the standard way to get
> multimedia support on Android - as in it is required in some way when doing
> multimedia work on Android (specifically when any low level hardware access
> comes into play).  Having dug in and looked around a fair amount, I don't
> see much mention of OpenMax - it doesn't seem so central at all.

OpenMAX IL is not public API on Android but many devices use it (but you
shouldn't use it directly unless you target exactly a specific device),
OpenMAX AL is public API on Android but last time I looked only
supported MPEG TS.

The public API for accessing codecs on Android is the Java
android.media.MediaCodec API, which is supported by the GStreamer
androidmedia plugin.

> 2.  I found the imxvpuapi project.  If this works on Android this seems
> like exactly what I need.
> a.  Does it work on Android?
> b.  With the only dependency being libfslvpuwrap / vpu_wrapper.h this
> appears to interface directly with the freescale vpu driver (no OMX, no
> gstreamer).  Is this right?  Does this work on Android?  If so, am I
> confused about how Android locks things down and doesn't allow applications
> to get low level hardware access?

I don't know any answers for this one, but you're constraining yourself
to iMX based devices then in any case :)

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141006/ee57838c/attachment.sig>


More information about the gstreamer-devel mailing list