[FFmpeg-devel] [PATCH 001/244] Add a new channel layout API

Anton Khirnov anton at khirnov.net
Tue Feb 25 17:36:35 EET 2020


Quoting Nicolas George (2020-02-25 12:47:03)
> Anton Khirnov (12020-02-19):
> > Thanks for the links. As far as I can tell this can be mapped to the
> > proposed API just fine
> 
> Except for the user interface part, as I already pointed: if there are
> several times the same channel, the API needs to provide a standard way
> for the user to specify one.

As far as I can tell, the Apple API linked above does not support that
either. The way of describing the channel layout is given by
mChannelLayoutTag, which can be either
- kAudioChannelLayoutTag_UseChannelBitmap, which is effectively
  equivalent to our current API, or the new API's LAYOUT_NATIVE
- one of several predefined layouts, which can be mapped either to
  LAYOUT_NATIVE or LAYOUT_CUSTOM
- kAudioChannelLayoutTag_UseChannelDescriptions, which cannot be
  represented in the current API, but is effectively equivalent to the
  new API's LAYOUT_CUSTOM
  The AudioChannelDescription struct contains:
    * AudioChannelFlags, which apply to coordinates
    * three floats, which are the coordinates
    * AudioChannelLabel, which is uint32 similar to our AVChannel

I see no support for any custom free-form text labels of the kind you
want me to add.

> 
> >                        (except for signalling precise speaker
> > coordinates, which I don't think anything uses).
> 
> I think somebody uses it, because somebody felt the need to include it
> in the standard. Therefore, we need to support it.

In addition to Hendrik's reply (which I agree with), support for this
can be later added through a new layout type if someone really needs it.
I see no reason to spend effort implementing functionality that is not
actually used for anything.

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list