<!--
{
  "documentType" : "article",
  "framework" : "CoreAudioTypes",
  "identifier" : "/documentation/CoreAudioTypes/audio-stream-basic-description-flags",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Audio Stream Basic Description Flags"
}
-->

# Audio Stream Basic Description Flags

The standard format flags for an audio stream basic description.

## Discussion

When you use an [`AudioStreamBasicDescription`](/documentation/CoreAudioTypes/AudioStreamBasicDescription), the fields describe the complete layout of the sample data in the buffers that the description represents, whereas, typically, an [`AudioBuffer`](/documentation/CoreAudioTypes/AudioBuffer) in an [`AudioBufferList`](/documentation/CoreAudioTypes/AudioBufferList) represents those buffers.

However, when a description has the [`kAudioFormatFlagIsNonInterleaved`](/documentation/CoreAudioTypes/kAudioFormatFlagIsNonInterleaved) flag, the audio buffer list has a different structure and semantic. In this case, the description fields describe the format of one of the audio buffers in the list, and each audio buffer in the list has a single (mono) channel of audio data. Then the description’s [`mChannelsPerFrame`](/documentation/CoreAudioTypes/AudioStreamBasicDescription/mChannelsPerFrame) indicates the total number of audio buffers in the audio buffer list, and each buffer contains one channel. This is primarily for use with the audio unit and audio converter representation of this list, and not the audio hardware usage.

## Topics

### Constants

[`var kAppleLosslessFormatFlag_16BitSourceData: AudioFormatFlags`](/documentation/CoreAudioTypes/kAppleLosslessFormatFlag_16BitSourceData)

A flag that indicates Apple Lossless data sourced from 16-bit native endian signed integer data.

[`var kAppleLosslessFormatFlag_20BitSourceData: AudioFormatFlags`](/documentation/CoreAudioTypes/kAppleLosslessFormatFlag_20BitSourceData)

A flag that indicates Apple Lossless data sourced from 20-bit native endian signed integer data aligned high in 24 bits.

[`var kAppleLosslessFormatFlag_24BitSourceData: AudioFormatFlags`](/documentation/CoreAudioTypes/kAppleLosslessFormatFlag_24BitSourceData)

A flag that indicates Apple Lossless data sourced from 24-bit native endian signed integer data.

[`var kAppleLosslessFormatFlag_32BitSourceData: AudioFormatFlags`](/documentation/CoreAudioTypes/kAppleLosslessFormatFlag_32BitSourceData)

A flag that indicates Apple Lossless data sourced from 32-bit native endian signed integer data.

[`var kAudioFormatFlagIsAlignedHigh: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsAlignedHigh)

A flag that indicates whether placement of the sample bits is with the high or low bits of the channel.

[`var kAudioFormatFlagIsBigEndian: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsBigEndian)

A flag that indicates whether the format is big or little endian.

[`var kAudioFormatFlagIsFloat: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsFloat)

A flag that indicates whether the format is floating point or integer.

[`var kAudioFormatFlagIsNonInterleaved: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsNonInterleaved)

A flag that indicates whether the samples for each channel or frame are continguously located, and whether the layout of the channels or frames is end-to-end.

[`var kAudioFormatFlagIsNonMixable: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsNonMixable)

A flag that indicates the format is nonmixable.

[`var kAudioFormatFlagIsPacked: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsPacked)

A flag that indicates whether placement of the sample bits occupy the entire available bits of the channel.

[`var kAudioFormatFlagIsSignedInteger: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagIsSignedInteger)

A flag that indicates whether the format is signed or unsigned integer.

[`var kAudioFormatFlagsAreAllClear: AudioFormatFlags`](/documentation/CoreAudioTypes/kAudioFormatFlagsAreAllClear)

A flag that indicates whether all the flags are clear.

[`var kLinearPCMFormatFlagIsAlignedHigh: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsAlignedHigh)

A flag that indicates whether placement of the sample bits is with the high or low bits of the channel.

[`var kLinearPCMFormatFlagIsBigEndian: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsBigEndian)

A flag that indicates whether the format is big or little endian.

[`var kLinearPCMFormatFlagIsFloat: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsFloat)

A flag that indicates whether the format is floating point or integer.

[`var kLinearPCMFormatFlagIsNonInterleaved: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsNonInterleaved)

A flag that indicates whether the samples for each channel or frame are continguously located, and whether the layout of the channels or frames is end-to-end.

[`var kLinearPCMFormatFlagIsNonMixable: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsNonMixable)

A flag that indicates the format is nonmixable.

[`var kLinearPCMFormatFlagIsPacked: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsPacked)

A flag that indicates whether placement of the sample bits occupy the entire available bits of the channel.

[`var kLinearPCMFormatFlagIsSignedInteger: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagIsSignedInteger)

A flag that indicates whether the format is signed or unsigned integer.

[`var kLinearPCMFormatFlagsAreAllClear: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagsAreAllClear)

A flag that indicates whether all the flags are clear.

[`var kLinearPCMFormatFlagsSampleFractionMask: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagsSampleFractionMask)

A flag that indicates the sample fraction mask.

[`var kLinearPCMFormatFlagsSampleFractionShift: AudioFormatFlags`](/documentation/CoreAudioTypes/kLinearPCMFormatFlagsSampleFractionShift)

A flag that indicates the bit position of the PCM flag’s 6-bit bitfield.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)