struct AVChannelLayout

Defined at line 301 of file ../../prebuilt/third_party/ffmpeg/pkg/ffmpeg/include/libavutil/channel_layout.h

An AVChannelLayout holds information about the channel layout of audio data.

A channel layout here is defined as a set of channels ordered in a specific

way (unless the channel order is AV_CHANNEL_ORDER_UNSPEC, in which case an

AVChannelLayout carries only the channel count).

All orders may be treated as if they were AV_CHANNEL_ORDER_UNSPEC by

ignoring everything but the channel count, as long as av_channel_layout_check()

considers they are valid.

Unlike most structures in FFmpeg, sizeof(AVChannelLayout) is a part of the

public ABI and may be used by the caller. E.g. it may be allocated on stack

or embedded in caller-defined structs.

AVChannelLayout can be initialized as follows:

- default initialization with {0}, followed by setting all used fields

correctly;

- by assigning one of the predefined AV_CHANNEL_LAYOUT_* initializers;

- with a constructor function, such as av_channel_layout_default(),

av_channel_layout_from_mask() or av_channel_layout_from_string().

The channel layout must be unitialized with av_channel_layout_uninit()

Copying an AVChannelLayout via assigning is forbidden,

av_channel_layout_copy() must be used instead (and its return value should

be checked)

No new fields may be added to it without a major version bump, except for

new elements of the union fitting in sizeof(uint64_t).

Public Members

AVChannelOrder order
int nb_channels
 u
void * opaque

Records