[FFmpeg-devel] [PATCH] Add asrc_anullsrc - null audio source

S.N. Hemanth Meenakshisundaram smeenaks
Mon Aug 23 22:35:32 CEST 2010


> On date Monday 2010-08-23 20:24:10 +0200, Michael Niedermayer encoded:
>> On Sat, Aug 21, 2010 at 12:25:24AM +0200, Stefano Sabatini wrote:
>> > On date Friday 2010-08-20 01:06:04 +0200, Michael Niedermayer encoded:
>> > > On Fri, Aug 20, 2010 at 01:03:27AM +0200, Stefano Sabatini wrote:
>> > [...]
>> > > > > > +    priv->channel_layout = CH_LAYOUT_STEREO;
>> > > > > > +
>> > > > > > +    if (args)
>> > > > > > +        sscanf(args, "%ld:%ld", &priv->sample_rate,
>> &priv->channel_layout);
>> > > > >
>> > > > > reading channel layout like this is maybe not ideal
>> > > >
>> > > > Please elaborate.
>> > >
>> > > 7
>> > >
>> > > you want an english awnser instead of a number?
>> > > the user also wants to specify his speaker configuration be listing
>> > > speakers and not just their number
>> >
>> > I suppose this means that the user should be able to specify a string
>> > rather than a number? I had the same concern, but I'm not sure we have
>> > an API right now for doing the string <-> number mapping.
>>
>> yes
>> but not only that, x channels is ambigous, there can be several layouts
>> with x channels
>
> OK now I see, channel_layout contains flags, these the values:
> #define CH_FRONT_LEFT             0x00000001
> #define CH_FRONT_RIGHT            0x00000002
> #define CH_FRONT_CENTER           0x00000004
> #define CH_LOW_FREQUENCY          0x00000008
> #define CH_BACK_LEFT              0x00000010
> #define CH_BACK_RIGHT             0x00000020
> #define CH_FRONT_LEFT_OF_CENTER   0x00000040
> #define CH_FRONT_RIGHT_OF_CENTER  0x00000080
> #define CH_BACK_CENTER            0x00000100
> #define CH_SIDE_LEFT              0x00000200
> #define CH_SIDE_RIGHT             0x00000400
> #define CH_TOP_CENTER             0x00000800
> #define CH_TOP_FRONT_LEFT         0x00001000
> #define CH_TOP_FRONT_CENTER       0x00002000
> #define CH_TOP_FRONT_RIGHT        0x00004000
> #define CH_TOP_BACK_LEFT          0x00008000
> #define CH_TOP_BACK_CENTER        0x00010000
> #define CH_TOP_BACK_RIGHT         0x00020000
> #define CH_STEREO_LEFT            0x20000000  ///< Stereo downmix.
> #define CH_STEREO_RIGHT           0x40000000  ///< See CH_STEREO_LEFT.
>
> Since they are so much, I'd prefer to keep it as an integer, then when
> we will have an options API for doing flags <-> string conversion that
> may be used instead.
>

There is already a flags to string mapping in libavcodec/audioconvert.c,
is there a problem with using those?
I had posted a patch for converting these strings to flags a couple of
days ago.

Also, the code above currently reads in the channel layout flag and not
the number of channels, since number of channels map to more than one
layout.

Regards,






More information about the ffmpeg-devel mailing list