491 lines
17 KiB
C
491 lines
17 KiB
C
/*
|
|
* Copyright (c) XMEDIA. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __XMEDIA_API_AO_H__
|
|
#define __XMEDIA_API_AO_H__
|
|
|
|
#include "common.h"
|
|
#include "xmedia_type.h"
|
|
#include "xmedia_audio_common.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif /* __cplusplus */
|
|
|
|
#define XMEDIA_AO_CHN_MAX 3
|
|
#define XMEDIA_AO_SYSCHN_CHNID (XMEDIA_AO_CHN_MAX - 1)
|
|
|
|
typedef enum {
|
|
XMEDIA_AO_DEV_DAC0,
|
|
XMEDIA_AO_DEV_I2S0,
|
|
XMEDIA_AO_DEV_MAX,
|
|
} ao_dev;
|
|
|
|
typedef struct {
|
|
xmedia_u32 reserved;
|
|
} ao_dac_attr;
|
|
|
|
typedef struct {
|
|
xmedia_bool master;
|
|
audio_i2s_mode i2s_mode;
|
|
audio_i2s_mclk_sel mclk_sel;
|
|
audio_i2s_bclk_sel bclk_sel;
|
|
xmedia_bool pcm_sample_rise_edge;
|
|
audio_i2s_pcm_delay pcm_delay_cycle;
|
|
} ao_i2s_attr;
|
|
|
|
typedef struct {
|
|
audio_dev_work_mode mode;
|
|
audio_sample_rate sample_rate;
|
|
audio_channel channels;
|
|
audio_bit_depth bit_depth;
|
|
xmedia_u32 pcm_frame_max_num;
|
|
xmedia_u32 pcm_samples_per_frame;
|
|
union {
|
|
ao_dac_attr dac_attr;
|
|
ao_i2s_attr i2s_attr;
|
|
} un_attr;
|
|
} ao_dev_attr;
|
|
|
|
typedef enum {
|
|
AO_VQE_ENHANCE_ATTR_VERSION_1 = 0x1,
|
|
AO_VQE_ENHANCE_ATTR_VERSION_2 = 0x2,
|
|
AO_VQE_ATTR_VERSION_MAX,
|
|
} ao_vqe_attr_version;
|
|
|
|
typedef struct {
|
|
ao_vqe_attr_version version;
|
|
xmedia_void* attr; /* refer to ao_vqe_attr_v1 or ao_vqe_attr_v2 */
|
|
} ao_vqe_attr;
|
|
|
|
typedef struct {
|
|
xmedia_s32 threshold; /* support -31 ~ 0db */
|
|
xmedia_s32 step; /* support 0 ~ 5 */
|
|
} dac_drc_attr;
|
|
|
|
typedef struct ao_chn_state_s {
|
|
xmedia_u32 total_num;
|
|
xmedia_u32 free_num;
|
|
xmedia_u32 busy_num;
|
|
} ao_chn_state_s;
|
|
|
|
typedef enum {
|
|
AO_PARAM_CODEC_SET_MUTE = 0x3000000, /* refer to xmedia_bool */
|
|
AO_PARAM_CODEC_GET_MUTE, /* refer to xmedia_bool */
|
|
AO_PARAM_CODEC_SET_DAC_GAIN, /* refer to xmedia_s32, range[-95,18], by step of 1 dB */
|
|
AO_PARAM_CODEC_GET_DAC_GAIN, /* refer to xmedia_s32 */
|
|
AO_PARAM_CODEC_SET_DAC_DRC_ATTR, /* not support, refer to dac_drc_attr */
|
|
AO_PARAM_CODEC_GET_DAC_DRC_ATTR, /* not support, refer to dac_drc_attr */
|
|
AO_PARAM_CODEC_CLEAR_DAC_DRC_ATTR, /* not support, refer to dac_drc_attr */
|
|
AO_PARAM_CODEC_SET_DAC_LEFT_GAIN, /* refer to xmedia_s32, range[-95,18], by step of 1 dB */
|
|
AO_PARAM_CODEC_GET_DAC_LEFT_GAIN, /* refer to xmedia_s32 */
|
|
AO_PARAM_CODEC_SET_DAC_RIGHT_GAIN, /* refer to xmedia_s32, range[-95,18], by step of 1 dB */
|
|
AO_PARAM_CODEC_GET_DAC_RIGHT_GAIN, /* refer to xmedia_s32 */
|
|
AO_PARAM_CODEC_SET_DAC_LEFT_MUTE, /* refer to xmedia_bool */
|
|
AO_PARAM_CODEC_GET_DAC_LEFT_MUTE, /* refer to xmedia_bool */
|
|
AO_PARAM_CODEC_SET_DAC_RIGHT_MUTE, /* refer to xmedia_bool */
|
|
AO_PARAM_CODEC_GET_DAC_RIGHT_MUTE, /* refer to xmedia_bool */
|
|
|
|
AO_PARAM_SET_OUTPORT_VOLUME, /* not support, refer to xmedia_s32, range[-81,6], by step of 1 dB */
|
|
AO_PARAM_GET_OUTPORT_VOLUME, /* not support, refer to xmedia_s32 */
|
|
AO_PARAM_SET_OUTPORT_MUTE, /* not support, refer to xmedia_bool */
|
|
AO_PARAM_GET_OUTPORT_MUTE, /* not support, refer to xmedia_bool */
|
|
|
|
AO_PARAM_CODEC_SET_DAC_ANALOG_GAIN, /* refer to xmedia_s32, range[-21,0], by step of 3 dB */
|
|
AO_PARAM_CODEC_GET_DAC_ANALOG_GAIN, /* refer to xmedia_s32 */
|
|
} ao_dev_param_cmd;
|
|
|
|
/*
|
|
* 函数功能: 初始化音频输出模块
|
|
* 函数参数:
|
|
* 无
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_NOT_READY - AO节点打开失败
|
|
*/
|
|
xmedia_s32 xmedia_ao_init(xmedia_void);
|
|
|
|
/*
|
|
* 函数功能: 去初始化音频输出模块
|
|
* 函数参数:
|
|
* 无
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
XMEDIA_ERRCODE_BUSY - 设备未禁用
|
|
*/
|
|
xmedia_s32 xmedia_ao_exit(xmedia_void);
|
|
|
|
/*
|
|
* 函数功能: 获取音频输出设备默认设置参数
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* attr - 输出参数,设备属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 传入参数为空
|
|
* XMEDIA_ERRCODE_NOT_INIT - 设备初始化状态错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_get_default_attr(ao_dev dev, ao_dev_attr *attr);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备参数
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* attr - 输入参数,设备属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 传入参数为空
|
|
* XMEDIA_ERRCODE_NOT_INIT - 设备初始化状态错误
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 设备状态错误
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 参数校验失败
|
|
*/
|
|
xmedia_s32 xmedia_ao_set_dev_attr(ao_dev dev, const ao_dev_attr *attr);
|
|
|
|
/*
|
|
* 函数功能: 获取音频输出设备用户设置的属性
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* attr - 输出参数,设备属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 传入参数为空
|
|
* XMEDIA_ERRCODE_NOT_CONFIG - 用户没有配置参数
|
|
*/
|
|
xmedia_s32 xmedia_ao_get_dev_attr(ao_dev dev, ao_dev_attr *attr);
|
|
|
|
/*
|
|
* 函数功能: 使能音频输出设备
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NOT_INIT - 设备初始化状态错误
|
|
* XMEDIA_ERRCODE_NOT_CONFIG - 设备没有配置参数
|
|
* XMEDIA_ERRCODE_NOT_ENOUGH_MEMORY - 设备分配内存失败
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 函数内部位宽错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_enable_dev(ao_dev dev);
|
|
|
|
/*
|
|
* 函数功能: 禁用音频输出设备
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NOT_INIT - 设备初始化状态错误
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 操作不允许,通道未销毁
|
|
*/
|
|
xmedia_s32 xmedia_ao_disable_dev(ao_dev dev);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备各种参数
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* cmd - 输入参数,设置的命令
|
|
* param - 输入参数,需要参考的参数
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - param为空指针
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 参数校验失败
|
|
*/
|
|
xmedia_s32 xmedia_ao_set_dev_param(ao_dev dev, ao_dev_param_cmd cmd, xmedia_void* param);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备声道模式
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* mode - 输入参数,通道模式
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 无效mode参数
|
|
*/
|
|
xmedia_s32 xmedia_ao_set_trackmode(ao_dev dev, audio_track_mode mode);
|
|
|
|
/*
|
|
* 函数功能: 获取音频输出设备声道模式
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* mode - 输出参数,获取的模式
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - mode空指针
|
|
*/
|
|
xmedia_s32 xmedia_ao_get_trackmode(ao_dev dev, audio_track_mode* mode);
|
|
|
|
/*
|
|
* 函数功能: 创建音频输出设备通道
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 内部参数为空
|
|
* XMEDIA_ERRCODE_NOT_ENOUGH_MEMORY - 内存分配失败
|
|
* XMEDIA_ERRCODE_NOT_ENABLE - 设备使能状态错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_create_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 销毁音频输出设备通道
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_DISABLE - 通道使能状态错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_destroy_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 使能音频输出设备通道
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 设备状态错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_enable_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 禁用音频输出设备通道
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 设备状态错误
|
|
*/
|
|
xmedia_s32 xmedia_ao_disable_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 擦除音频输出通道buf缓存
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_EXIST - 通道不存在
|
|
*/
|
|
xmedia_s32 xmedia_ao_flush_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 暂停音频输出通道播放
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_EXIST - 通道不存在
|
|
*/
|
|
xmedia_s32 xmedia_ao_pause_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 恢复音频输出通道播放
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_EXIST - 通道不存在
|
|
*/
|
|
xmedia_s32 xmedia_ao_resume_chn(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 查询通道播放状态
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* state - 输出参数,通道播放状态
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 参数为空
|
|
* XMEDIA_ERRCODE_NOT_EXIST - 通道不存在
|
|
* XMEDIA_ERRCODE_NOT_ENABLE - 通道未使能
|
|
*/
|
|
xmedia_s32 xmedia_ao_query_chn_state(ao_dev dev, ao_chn chn, ao_chn_state_s* state);
|
|
|
|
/*
|
|
* 函数功能: 往音频输出设备通道送入音频帧
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* frame - 输入参数,音频帧信息
|
|
* time_out - 输入参数,超时时间
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_BUFFER_FULL - 音频输出设备通道buf已满
|
|
*/
|
|
xmedia_s32 xmedia_ao_send_frame(ao_dev dev, ao_chn chn, const audio_frame* frame, xmedia_s32 time_out);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备通道算法的属性
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* attr - 输入参数,算法的属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效设备通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 参数为空
|
|
* XMEDIA_ERRCODE_NOT_PERMITTED - 设备状态错误
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 参数校验失败
|
|
*/
|
|
xmedia_s32 xmedia_ao_set_vqe_attr(ao_dev dev, ao_chn chn, const ao_vqe_attr* attr);
|
|
|
|
/*
|
|
* 函数功能: 获取音频输出设备通道算法的属性
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,需要的设置算法的通道ID
|
|
* attr - 输出参数,算法的属性
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效设备通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - 参数为空
|
|
* XMEDIA_ERRCODE_NOT_CONFIG - 用户没有配置参数
|
|
* XMEDIA_ERRCODE_INVALID_PARAM - 参数校验失败
|
|
*/
|
|
xmedia_s32 xmedia_ao_get_vqe_attr(ao_dev dev, ao_chn chn, ao_vqe_attr* attr);
|
|
|
|
/*
|
|
* 函数功能: 使能音频输出通道语音算法功能
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,需要的使能算法的通道ID
|
|
* enable - 输入参数,使能状态
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_CONFIG - 没有设置算法参数
|
|
*/
|
|
xmedia_s32 xmedia_ao_enable_vqe(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 禁用音频输出通道语音算法功能
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,需要的使能算法的通道ID
|
|
* enable - 输出参数,使能状态
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_CONFIG - 没有设置算法参数
|
|
*/
|
|
xmedia_s32 xmedia_ao_disable_vqe(ao_dev dev, ao_chn chn);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备通道的音量
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,需要设置的通道ID
|
|
* volume - 输入参数,需要设置的音量
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NOT_ENABLE - 设备通道或者算法未使能
|
|
*/
|
|
xmedia_s32 xmedia_ao_set_volume(ao_dev dev, ao_chn chn, xmedia_s32 volume);
|
|
|
|
/*
|
|
* 函数功能: 获取音频输出设备通道的音量
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,需要设置的通道ID
|
|
* volume - 输出参数,获取的音量
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - volume为空指针
|
|
* XMEDIA_ERRCODE_NOT_ENABLE - 设备通道或者算法未使能
|
|
*/
|
|
xmedia_s32 xmedia_ao_get_volume(ao_dev dev, ao_chn chn, xmedia_s32* volume);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备通道绑定状态
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* dst_chn - 输入参数,ao的通道ID
|
|
* module - 输入参数,绑定到ao的模块ID
|
|
* src_chn - 输入参数,绑定到ao的模块通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
*/
|
|
xmedia_s32 xmedia_ao_bind(ao_dev dev, ao_chn chn, xmedia_mod_id src_module, xmedia_u32 src_chn);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备通道解绑
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* dst_chn - 输入参数,ao的通道ID
|
|
* module - 输入参数,绑定到ao的模块ID
|
|
* src_chn - 输入参数,绑定到ao的模块通道ID
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
*/
|
|
xmedia_s32 xmedia_ao_unbind(ao_dev dev, ao_chn chn, xmedia_mod_id src_module, xmedia_u32 src_chn);
|
|
|
|
/*
|
|
* 函数功能: 设置音频输出设备通道dump信息以及使能状态
|
|
* 函数参数:
|
|
* dev - 输入参数,设备ID
|
|
* chn - 输入参数,通道ID
|
|
* dump - 输入参数,dump数据的存储路径以及size大小
|
|
* enable - 输入参数,dump功能使能状态
|
|
* 返回值:
|
|
* XMEDIA_SUCCESS - 函数执行成功
|
|
* XMEDIA_ERRCODE_INVALID_DEV_ID - 无效的设备ID
|
|
* XMEDIA_ERRCODE_INVALID_CHN_ID - 无效的通道ID
|
|
* XMEDIA_ERRCODE_NULL_PTR - dump为空指针
|
|
*/
|
|
xmedia_s32 xmedia_ao_dump(ao_dev dev, ao_chn chn, const audio_dump* dump, xmedia_bool enable);
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __cplusplus */
|
|
|
|
#endif
|
|
|