Audio Codec¶
Overview¶
The Audio Codec API provides access to digital audio codecs.
Configuration Options¶
Related configuration options:
API Reference¶
- group audio_codec_interface
Abstraction for audio codecs.
Enums
-
enum audio_pcm_rate_t¶
PCM audio sample rates.
Values:
-
enumerator AUDIO_PCM_RATE_8K = 8000¶
8 kHz sample rate
-
enumerator AUDIO_PCM_RATE_16K = 16000¶
16 kHz sample rate
-
enumerator AUDIO_PCM_RATE_24K = 24000¶
24 kHz sample rate
-
enumerator AUDIO_PCM_RATE_32K = 32000¶
32 kHz sample rate
-
enumerator AUDIO_PCM_RATE_44P1K = 44100¶
44.1 kHz sample rate
-
enumerator AUDIO_PCM_RATE_48K = 48000¶
48 kHz sample rate
-
enumerator AUDIO_PCM_RATE_96K = 96000¶
96 kHz sample rate
-
enumerator AUDIO_PCM_RATE_192K = 192000¶
192 kHz sample rate
-
enumerator AUDIO_PCM_RATE_8K = 8000¶
-
enum audio_pcm_width_t¶
PCM audio sample bit widths.
Values:
-
enumerator AUDIO_PCM_WIDTH_16_BITS = 16¶
16-bit sample width
-
enumerator AUDIO_PCM_WIDTH_20_BITS = 20¶
20-bit sample width
-
enumerator AUDIO_PCM_WIDTH_24_BITS = 24¶
24-bit sample width
-
enumerator AUDIO_PCM_WIDTH_32_BITS = 32¶
32-bit sample width
-
enumerator AUDIO_PCM_WIDTH_16_BITS = 16¶
-
enum audio_dai_type_t¶
Digital Audio Interface (DAI) type.
Values:
-
enumerator AUDIO_DAI_TYPE_I2S¶
I2S Interface.
-
enumerator AUDIO_DAI_TYPE_INVALID¶
Other interfaces can be added here.
-
enumerator AUDIO_DAI_TYPE_I2S¶
-
enum audio_property_t¶
Codec properties that can be set by audio_codec_set_property().
Values:
-
enumerator AUDIO_PROPERTY_OUTPUT_VOLUME¶
Output volume.
-
enumerator AUDIO_PROPERTY_OUTPUT_MUTE¶
Output mute/unmute.
-
enumerator AUDIO_PROPERTY_OUTPUT_VOLUME¶
-
enum audio_channel_t¶
Audio channel identifiers to use in audio_codec_set_property().
Values:
-
enumerator AUDIO_CHANNEL_FRONT_LEFT¶
Front left channel.
-
enumerator AUDIO_CHANNEL_FRONT_RIGHT¶
Front right channel.
-
enumerator AUDIO_CHANNEL_LFE¶
Low frequency effect channel.
-
enumerator AUDIO_CHANNEL_FRONT_CENTER¶
Front center channel.
-
enumerator AUDIO_CHANNEL_REAR_LEFT¶
Rear left channel.
-
enumerator AUDIO_CHANNEL_REAR_RIGHT¶
Rear right channel.
-
enumerator AUDIO_CHANNEL_REAR_CENTER¶
Rear center channel.
-
enumerator AUDIO_CHANNEL_SIDE_LEFT¶
Side left channel.
-
enumerator AUDIO_CHANNEL_SIDE_RIGHT¶
Side right channel.
-
enumerator AUDIO_CHANNEL_ALL¶
All channels.
-
enumerator AUDIO_CHANNEL_FRONT_LEFT¶
Functions
-
static inline int audio_codec_configure(const struct device *dev, struct audio_codec_cfg *cfg)¶
Configure the audio codec.
Configure the audio codec device according to the configuration parameters provided as input
- Parameters:
dev – Pointer to the device structure for codec driver instance.
cfg – Pointer to the structure containing the codec configuration.
- Returns:
0 on success, negative error code on failure
-
static inline void audio_codec_start_output(const struct device *dev)¶
Set codec to start output audio playback.
Setup the audio codec device to start the audio playback
- Parameters:
dev – Pointer to the device structure for codec driver instance.
-
static inline void audio_codec_stop_output(const struct device *dev)¶
Set codec to stop output audio playback.
Setup the audio codec device to stop the audio playback
- Parameters:
dev – Pointer to the device structure for codec driver instance.
-
static inline int audio_codec_set_property(const struct device *dev, audio_property_t property, audio_channel_t channel, audio_property_value_t val)¶
Set a codec property defined by audio_property_t.
Set a property such as volume level, clock configuration etc.
- Parameters:
dev – Pointer to the device structure for codec driver instance.
property – The codec property to set
channel – The audio channel for which the property has to be set
val – pointer to a property value of type audio_codec_property_value_t
- Returns:
0 on success, negative error code on failure
-
static inline int audio_codec_apply_properties(const struct device *dev)¶
Atomically apply any cached properties.
Following one or more invocations of audio_codec_set_property, that may have been cached by the driver, audio_codec_apply_properties can be invoked to apply all the properties as atomic as possible
- Parameters:
dev – Pointer to the device structure for codec driver instance.
- Returns:
0 on success, negative error code on failure
-
union audio_dai_cfg_t¶
- #include <codec.h>
Digital Audio Interface Configuration.
Configuration is dependent on DAI type
Public Members
-
struct i2s_config i2s¶
I2S configuration.
-
struct i2s_config i2s¶
-
struct audio_codec_cfg¶
- #include <codec.h>
Codec configuration parameters.
Public Members
-
uint32_t mclk_freq¶
MCLK input frequency in Hz.
-
audio_dai_type_t dai_type¶
Digital interface type.
-
audio_dai_cfg_t dai_cfg¶
DAI configuration info.
-
uint32_t mclk_freq¶
-
union audio_property_value_t¶
- #include <codec.h>
Codec property values.
-
enum audio_pcm_rate_t¶