![]() |
![]() |
![]() |
![]() |
This appendix contains the list of supported codecs for the QNX Audio Architecture. A supported codec in these terms is a codec for which QNX Software Systems has produced a Dynamic Linked Library (DLL) to control it.
The currently supported codecs include:
We support a codec only if it's a standardized part with a detailed specification, and it's used in audio platforms of use to us and our customers.
As well as providing analog audio mixer functions, a codec may also provide other callback functions of use to the audio driver, such as Sample Rate Conversion (SRC) or S/PDIF. Handling PCM Audio Data chapter.
To use one of these codecs, call ado_mixer_dll() in your Audio HW DLL's ctrl_init() function. For more information, see “Using a standard mixer DLL” in the Handling Analog Audio Data chapter.
The sections below indicate what arguments you need to pass to ado_mixer_dll().
typedef
struct ado_mixer_dll_params_ac97
{
HW_CONTEXT_T *hw_context;
uint16_t (*read) (HW_CONTEXT_T *hw_context,
uint16_t reg);
void (*write) (HW_CONTEXT_T *hw_context,
uint16_t reg, uint16_t val);
int32_t (*init) (HW_CONTEXT_T *hw_context);
void (*destroy) (HW_CONTEXT_T *hw_context);
} ado_mixer_dll_params_ac97_t;
The members include:
Pass a pointer to a ado_mixer_dll_params_ac97_t structure as the params argument to ado_mixer_dll().
enum ac97_SRC
{
AC97_FRONT_DAC_SRC,
AC97_SURR_DAC_SRC,
AC97_LFE_DAC_SRC,
AC97_LR_ADC_SRC,
};
typedef
struct ado_mixer_dll_callbacks_ac97
{
MIXER_CONTEXT_T *mix_context;
int32_t (*SRC_test) (MIXER_CONTEXT_T * mix_context,
enum ac97_SRC src,
ado_pcm_cap_t * caps);
int32_t (*SRC_set) (MIXER_CONTEXT_T * mix_context,
enum ac97_SRC src,
uint32_t * rate);
}
ado_mixer_dll_callbacks_ac97_t;
The members include:
Pass a pointer to a ado_mixer_dll_callbacks_ac97_t structure as the callbacks argument to ado_mixer_dll().
typedef
struct ado_mixer_dll_params_ak4531
{
HW_CONTEXT_T *hw_context;
void (*write) (HW_CONTEXT_T *hw_context,
uint16_t reg, uint16_t val);
void (*destroy) (HW_CONTEXT_T *hw_context);
} ado_mixer_dll_params_ak4531_t;
The members include:
Pass a pointer to a ado_mixer_dll_params_ak4531_t structure as the params argument to ado_mixer_dll().
![]() |
![]() |
![]() |
![]() |