[gst-devel] AMR caps incompatibility between muxer and encoder

Daniel Díaz mrchapp at gmail.com
Thu Oct 26 00:56:02 CEST 2006


Hello there!


On 10/25/06, Benoit Fouet <benoit.fouet at purplelabs.com> wrote:
> Hi
>
> SP GLE wrote:
> > Hi,
> > I'm trying to link an 'amrnbenc' element and a 'ffmux_mov',
> > amrnbenc SRC caps are
> >    Capabilities:
> >       audio/AMR
> >                    rate: 8000
> >                channels: 1
> >
> > ffmux_mov SINK Caps are
> >       audio/x-amr-nb
> >                    rate: [ 8000, 96000 ]
> >                channels: [ 1, 2 ]
> >
> > so linking seems incompatible, how can i link these elements ? Is there
> > a way to change capabilities ?
> >
> > failed negotiation between pads is attached for the following cmd :
> > GST_DEBUG=4 GST_DEBUG_NO_COLOR=1  gst-launch audiotestsrc !
> > audioconvert ! amrnbenc ! ffmux_mov ! filesink location=/tmp/f.mov
> >
> > Thanks.
> >
> you have to change the source code of amr decoder, so that it is
> audio/x-amr-nb too on its sink pad.

Why was that, again?

As I understand it, audio/x-amr-nb-sh is "MIME-ful" AMR narrow band,
that is, with a header like this: `echo '#!AMR' > header.amr`.

Then, audio/AMR is "MIME-less" AMR information. Certainly, the output
of the amrnbenc is lacking such header because it is pure AMR data, no
MIME header.

That's why amrnbparse takes audio/x-amr-nb-sh and outputs audio/AMR.

See section 8.1 of RFC 3267, where it says that MIME type for AMR is
precisely audio/AMR, with audio/AMR-WB being used for wide band.

Also, I vaguely recall that one of the de/muxers needed such header
for AMR, or needed it not when coming from RTP. Or something
in-between :) But in any case, it is possible to have a complete
pipeline with those elements without changing the source code.

Hope that makes some sense.

Daniel Díaz
ddiaz at ti.com


> then compile and install back the library, and this should be ok :)
>
> Hope that helps,
>
> -- Ben




More information about the gstreamer-devel mailing list