Gstreamer supported formats list?

Sean McNamara smcnam at
Tue Apr 10 16:50:46 PDT 2012


On Sun, Apr 8, 2012 at 4:25 PM, RoastedChicken <nkougioul at> wrote:
> Hello Everybody,
> i have been searching for a while now but didnt manage to find a list with
> gstreamer's supported formats.
> Does anybody have a list of video/audio files that are supported or can i
> assume that every format is playable by the framework?

First, let me say that this is NOT a simple question where you can
answer it with a static list of formats that are applicable on all
systems, so please do not believe that this is the case. If you take
nothing else from this post, at least be aware that "it depends" is
the safest general-purpose answer to this question.

In response to your question, I'll ask you a question. Try to answer
this question: what words can be spoken by an English-language

If you think about it even a little, you'll have to acknowledge that
it depends on the speaker. A 5 year old who is learning English as a
second language is not going to be able to speak the same words as a
47 year old with a doctorate degree in English. And there are many
shades of gray in between these extremes.

The situation with gstreamer and its supported formats is similar.
What formats are supported by gstreamer? It depends on the
implementation. The following factors can influence which plugins are

* Configure options chosen at compile-time for the plugin packages
(gst-plugins-good, -bad, -ugly, and others)
* Whether proprietary / potentially patent-encumbered codecs are
enabled or intentionally disabled (e.g. from gst-plugins-ugly; many of
these codecs are purposefully not included in Free Software
distributions of Linux)
* Whether libraries that gstreamer depends on are supported on the
target system, and the development packages installed. Some plugins
may be disabled if the configure script can't find the development
packages at build-time.
* Whether third-party codecs, such as those provided by Fluendo, are
installed on the system.
* Whether some codecs are not even supported by the current
architecture (at least in the past, I think there were issues with
some codecs compiling/running properly/efficiently on ARM hardware for
* Whether third-party libraries, such as FFMPEG, support the codecs
they say they support. Gstreamer does have some external plugin
interfaces to other codec frameworks, which themselves have an answer
of "it depends" to the codecs supported. FFMPEG is a great example,
but in the mobile space I'm sure there are others.

I'm not sure if there are other variables, but these are important
ones. I was working with a company a couple of years ago that was
basically plugging in their own proprietary gstreamer plugins (a
binary blob); all of the supported codecs except those in
gst-plugins-base and gst-plugins-good were apparently licensed from a
third-party vendor and wrapped in a plugin library. This, too, is
common on embedded systems.

Anyway, there are ways (using code) to query which plugins are
available, and to gracefully handle situations where you have media
you want to play, but the user doesn't have a codec for it. We can
handle those situations very, very well. But actually installing a
missing codec is a little bit more on the fringe, and depends on
whether you're using desktop Linux, or some other environment
(Android? some custom Linux build? ChromeOS? Windows? Mac? etc...).
The most progress that's been made, along the lines of installing
missing codecs, is (IMHO) on desktop Linux, where certain
distributions can actually go out and fetch the codec package,
download and install it as soon as it finds media you lack a codec
for. Don't know if anyone else has gone this direction.



> Thanks
> --
> View this message in context:
> Sent from the GStreamer-devel mailing list archive at
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list