[gst-devel] Re: [gst-cvs] thomasvs gst-plugins: gst-plugins/ gst-plugins/ext/lame/ gst-plugins/ext/mad/

Ronald Bultje rbultje at ronald.bitfreak.net
Mon Jun 14 08:55:07 CEST 2004


On Mon, 14 Jun 2004, Thomas Vander Stichele wrote:
> On Mon, 2004-06-14 at 16:57, Ronald Bultje wrote:
> > On Mon, 14 Jun 2004, Thomas Vander Stichele wrote:
> > > +	  sync caps.  Make sure mad can only output a list of rates, not
> > > +	  a full range.  In the future, have three caps lists for each of the
> > > +	  mpeg versions.  Change mpegversion to a double as well.
> >
> > No!

> >  MPEG-2.5 does not
> > exist, it's just a marketing name.
> I know, it's a Fraunhofer invention, but one that is implemented
> everywhere.

So now imagine that they call it MPEG-1 subversion 2.5 layer 3, because
that's what it means.

> >  The real MPEG-2 (the one output by
> > faac, not the one output by lame) is AAC, like MPEG-4.
> not entirely.  There is "MPEG-2 with AAC extensions", and there is
> "proper MPEG-4 which includes the full AAC spectrum".

Right, so if you read the PWG's mimetype definitions (online on our
website, I might put that somewhere separately later on), you'll see that
mpegversion=2 is meant to define MPEG-2 with the AAC extensions. All the
others are fully compatible to MPEG-1.

This might not be compatible to the fancy marketing on our websites, but
note that our mimetype/caps definitions are not meant to be marketeable
in the first place. ;).

Where does it say "MPEG-2 with or without AAC extensions"? The one is
fully compatible with MPEG-1, the other is not compatible at all. As far
as I knowq, they one with and without AAC extensions, as you call it, are
completely different. they just use the same base encoding techniques
(which is why we use the same mimetype audio/mpeg for it).

I know that MPEG-2 doesn't implement AAC as well as MPEG-4 does, but
that's not the point. MPEG-2 and -4 are different, hence the different
mpegversion=2/4 property.

> I didn't actually commit that change, I just noted that it should be
> done.  Setting caps of mpegversion 1 and sample rate 8000 is just wrong,
> period.  If you hardcode mpegversion to 1 everywhere, you might as well
> remove mpegversion as a property everywhere, because you're not actually
> *doing* anything with it and it's just confusing because it's wrong.

It's used. mpegversion=2 or 4 are incompatible with mpegversion=1, and
they're decoded by faad. Remove the property and mad will be selected as
MPEG-4 decoder, which will screw up .mp4/.m4a playback.

Again, caps/properties/mimetypes are primarily technical, not necessarily
informative (though it's ususally nice if they are).


More information about the gstreamer-devel mailing list