<!--
{
  "documentType" : "article",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/audio-codec",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Audio Codec"
}
-->

# Audio Codec

Translate audio data from one format to another.

## Topics

### Initializing an Audio Codec

[`AudioCodecInitialize`](/documentation/AudioToolbox/AudioCodecInitialize(_:_:_:_:_:))

Sets up the specified codec to perform a data format translation.

[`AudioCodecReset`](/documentation/AudioToolbox/AudioCodecReset(_:))

Flushes all the audio data in the codec and clears the input buffer.

[`AudioCodecUninitialize`](/documentation/AudioToolbox/AudioCodecUninitialize(_:))

Moves the codec from the initialized state back to the uninitialized state.

### Configuring Buffers

[`AudioCodecAppendInputBufferList`](/documentation/AudioToolbox/AudioCodecAppendInputBufferList(_:_:_:_:_:))

[`AudioCodecProduceOutputBufferList`](/documentation/AudioToolbox/AudioCodecProduceOutputBufferList(_:_:_:_:_:))

### Accessing the Data

[`AudioCodecAppendInputData`](/documentation/AudioToolbox/AudioCodecAppendInputData(_:_:_:_:_:))

Appends audio data to the codec’s input buffer.

[`AudioCodecProduceOutputPackets`](/documentation/AudioToolbox/AudioCodecProduceOutputPackets(_:_:_:_:_:_:))

Retrieves output data from a codec.

### Accessing Codec Properties

[`AudioCodecGetProperty`](/documentation/AudioToolbox/AudioCodecGetProperty(_:_:_:_:))

Retrieves the value of a codec property.

[`AudioCodecGetPropertyInfo`](/documentation/AudioToolbox/AudioCodecGetPropertyInfo(_:_:_:_:))

Retrieves information about a codec property.

[`AudioCodecSetProperty`](/documentation/AudioToolbox/AudioCodecSetProperty(_:_:_:_:))

Sets the value of a codec property.

### Codec Types

[`AudioCodecMagicCookieInfo`](/documentation/AudioToolbox/AudioCodecMagicCookieInfo)

A structure holding magic cookie information needed by some codecs.

[`AudioCodecPrimeInfo`](/documentation/AudioToolbox/AudioCodecPrimeInfo)

A structure specifying the number of leading and trailing empty frames to be inserted.

[`AudioCodec`](/documentation/AudioToolbox/AudioCodec)

An instance of a Component Manager component.

[`AudioCodecAppendInputBufferListProc`](/documentation/AudioToolbox/AudioCodecAppendInputBufferListProc)

[`AudioCodecAppendInputDataProc`](/documentation/AudioToolbox/AudioCodecAppendInputDataProc)

[`AudioCodecGetPropertyInfoProc`](/documentation/AudioToolbox/AudioCodecGetPropertyInfoProc)

[`AudioCodecGetPropertyProc`](/documentation/AudioToolbox/AudioCodecGetPropertyProc)

[`AudioCodecInitializeProc`](/documentation/AudioToolbox/AudioCodecInitializeProc)

[`AudioCodecProduceOutputBufferListProc`](/documentation/AudioToolbox/AudioCodecProduceOutputBufferListProc)

[`AudioCodecProduceOutputPacketsProc`](/documentation/AudioToolbox/AudioCodecProduceOutputPacketsProc)

[`AudioCodecPropertyID`](/documentation/AudioToolbox/AudioCodecPropertyID)

An integer identifying an audio codec property.

[`AudioCodecResetProc`](/documentation/AudioToolbox/AudioCodecResetProc)

[`AudioCodecSetPropertyProc`](/documentation/AudioToolbox/AudioCodecSetPropertyProc)

[`AudioCodecUninitializeProc`](/documentation/AudioToolbox/AudioCodecUninitializeProc)

### Audio Settings

[`AudioSettingsFlags`](/documentation/AudioToolbox/AudioSettingsFlags)

[`kAudioSettings_AvailableValues`](/documentation/AudioToolbox/kAudioSettings_AvailableValues)

[`kAudioSettings_CurrentValue`](/documentation/AudioToolbox/kAudioSettings_CurrentValue)

[`kAudioSettings_Hint`](/documentation/AudioToolbox/kAudioSettings_Hint)

[`kAudioSettings_LimitedValues`](/documentation/AudioToolbox/kAudioSettings_LimitedValues)

[`kAudioSettings_Parameters`](/documentation/AudioToolbox/kAudioSettings_Parameters)

[`kAudioSettings_SettingKey`](/documentation/AudioToolbox/kAudioSettings_SettingKey)

[`kAudioSettings_SettingName`](/documentation/AudioToolbox/kAudioSettings_SettingName)

[`kAudioSettings_Summary`](/documentation/AudioToolbox/kAudioSettings_Summary)

[`kAudioSettings_TopLevelKey`](/documentation/AudioToolbox/kAudioSettings_TopLevelKey)

[`kAudioSettings_Unit`](/documentation/AudioToolbox/kAudioSettings_Unit)

[`kAudioSettings_ValueType`](/documentation/AudioToolbox/kAudioSettings_ValueType)

[`kAudioSettings_Version`](/documentation/AudioToolbox/kAudioSettings_Version)

### Enumerations

[Output Status Constants](/documentation/AudioToolbox/1494122-output-status-constants)

Status values returned from the [`AudioCodecProduceOutputPackets(_:_:_:_:_:_:)`](/documentation/AudioToolbox/AudioCodecProduceOutputPackets(_:_:_:_:_:_:)) function.

[Program Target Levels](/documentation/AudioToolbox/1494116-program-target-levels)

[Dynamic Range Control Modes](/documentation/AudioToolbox/1494094-dynamic-range-control-modes)

[Bit Rate Control Mode Constants](/documentation/AudioToolbox/1494144-bit-rate-control-mode-constants)

Bit rate control modes to be used with `kAudioCodecPropertyBitRateControlMode`.

[Global Codec Properties](/documentation/AudioToolbox/1494121-global-codec-properties)

These read-only properties disclose the capabilities of the codec and remain the same for all instances of the codec.

[Instance Codec Properties](/documentation/AudioToolbox/1494111-instance-codec-properties)

Properties that can be set or read on an instance of the audio codec.

[Audio Codec Priming Method Constants](/documentation/AudioToolbox/1494154-audio-codec-priming-method-const)

Values used with `kAudioCodecPropertyPrimeMethod`.

[Audio Codec Quality Constants](/documentation/AudioToolbox/1494130-audio-codec-quality-constants)

Sound quality settings to be used with the property `kAudioCodecPropertyQualitySetting`.

[Audio Codec Routine Selectors](/documentation/AudioToolbox/1494074-audio-codec-routine-selectors)

Selectors used by the Component Manager to call routines implemented by the codec and exposed to developers through the Audio Codec Services API. These selectors are for use by codec developers; if you are calling Audio Codec Services functions, you don’t need to use these constants.

[Audio Codec Delays](/documentation/AudioToolbox/1494127-audio-codec-delays)

[Audio Codec Delay Modes](/documentation/AudioToolbox/1494050-audio-codec-delay-modes)

[Audio Codec Properties](/documentation/AudioToolbox/1494068-audio-codec-properties)

[Audio Codec Errors](/documentation/AudioToolbox/1494076-audio-codec-errors)



---

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)