Function

CMAudioFormatDescriptionCreateSummary

Creates a summary audio format description from an array of audio format descriptions.

Declaration

OSStatus CMAudioFormatDescriptionCreateSummary(CFAllocatorRef allocator, CFArrayRef formatDescriptionArray, uint32_t flags, CMAudioFormatDescriptionRef  _Nullable *formatDescriptionOut);

Parameters

allocator

The allocator to use. Pass kCFAllocatorDefault or NULL to use the default allocator.

formatDescriptionArray

The array of format descriptions to summarize.

flags

Pass 0.

summaryFormatDescriptionOut

On output, returns the newly created audio format description.

Discussion

The summary format description will be canonical LPCM and deep enough in sample rate, channel layout and channel count to sensibly contain the result of decoding and mixing the constituent format descriptions.

See Also

Audio-Specific Functions

CMAudioFormatDescriptionCreate

Creates a format description for an audio media stream.

CMAudioFormatDescriptionEqual

Evaluates equality for the specified parts of two audio format descriptions.

CMAudioFormatDescriptionGetChannelLayout

Returns a read-only pointer to (and size of) the AudioChannelLayout inside an audio CMFormatDescription.

CMAudioFormatDescriptionGetFormatList

Returns a read-only pointer to (and size of) the array of AudioFormatListItem structs inside an audio CMFormatDescription.

CMAudioFormatDescriptionGetMagicCookie

Returns a read-only pointer to (and size of) the magic cookie inside an audio CMFormatDescription.

CMAudioFormatDescriptionGetMostCompatibleFormat

Returns a read-only pointer to the appropriate AudioFormatListItem inside an audio CMFormatDescription.

CMAudioFormatDescriptionGetRichestDecodableFormat

Returns a read-only pointer to the appropriate AudioFormatListItem inside an audio CMFormatDescription.

CMAudioFormatDescriptionGetStreamBasicDescription

Returns a read-only pointer to the AudioStreamBasicDescription inside an audio CMFormatDescription.

CMDoesBigEndianSoundDescriptionRequireLegacyCBRSampleTableLayout

Examine a big-endian SoundDescription data structure in a CMBlockBuffer, and report whether the sample tables will need to use the legacy CBR layout.

CMSwapBigEndianSoundDescriptionToHost

Converts a SoundDescription data structure from big-endian to host-endian in place.

CMSwapHostEndianSoundDescriptionToBig

Converts a SoundDescription data structure from host-endian to big-endian in place.

CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionData

Creates a CMAudioFormatDescription from a big-endian SoundDescription data structure.

CMAudioFormatDescriptionCreateFromBigEndianSoundDescriptionBlockBuffer

Creates a CMAudioFormatDescription from a big-endian SoundDescription data structure in a CMBlockBuffer.

CMAudioFormatDescriptionCopyAsBigEndianSoundDescriptionBlockBuffer

Copies the contents of a CMAudioFormatDescription to a CMBlockBuffer in big-endian byte ordering.