合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
FileName |
Description |
|---|---|
dmsdp_audio_encoder_api.h |
南向音频编码接口。 |
DMSDPGetAudioEncoderHandler 获取设备音频编码器功能方法,存放在DMSDPAudioEncoderHandler结构体中。
形式:int32_t DMSDPGetAudioEncoderHandler(DMSDPAudioEncoderHandler *audioEncoderHandler)
参数:[in] na [out]audioEncoderHandler
输出:0表示成功,<0表示失败。
描述:获取设备音频编码器功能方法,存放在DMSDPAudioEncoderHandler结构体中。
Type |
Method |
|---|---|
int32_t |
(*AudioEncoderGetAbility)( AEncAbility* audioEncAbility, int32_t maxEncNum, int* audioEncCnt) 获取设备音频编码器能力,具体参数存放在audioEncAbility结构体中,audioEncCnt支持几个音频编码器如果支持多个编码器,返回多个编码器,比如同时支持多个编码器。 |
int32_t |
(*AudioEncoderCreate)( AEncHandle* handle, AEncInitParams* initEncParams) 根据初始化参数创建音频编码器,handle为编码器的句柄,initEncParams为编码器初始化参数合集。 |
int32_t |
(*AudioEncoderConfigure)( AEncHandle handle, AEncCfgParams* cfgEncParams) 根据配置参数对编码器进行配置,handle为编码器的句柄,cfgEncParams为编码器配置参数合集。 |
int32_t |
(*AudioEncoderProcess)( AEncHandle handle, AEncInputData* inputData, AEncOutputData* outputData) 根据音频编码器配置对输入音频数据进行压缩,输出压缩码流,handle为编码器的句柄,inputData待编码音频数据,outputData为输出码流及参数合集。 |
int32_t |
(*AudioEncoderDestroy)( AEncHandle* handle) 销毁音频编码器。 |
Method |
|---|
int32_t (*AudioEncoderGetAbility)( AEncAbility *audioEncAbility, int32_t maxEncNum, int *audioEncCnt) 获取设备音频编码器能力,具体参数存放在audioEncAbility结构体中,audioEncCnt支持几个音频编码器如果支持多个编码器,返回多个编码器,比如同时支持多个编码器。 |
Parameters
Name |
Description |
|---|---|
audioEncAbility |
音频编码能力。 typedef struct { /* 编码器类型,0:AAC,1:G.711A目前仅支持AAC LC */ int32_t codecType; /* 最大声道数,目前支持最大值为2 */ int32_t maxChannel; /* 最小声道数,目前支持最小值为1 */ int32_t minChannel; /* 最大采样率 目前支持最大采样率48K */ int32_t maxSampleRate; /* 最小采样率 目前支持最小采样率8K */ int32_t minSampleRate; /* 最大采样精度,目前支持16bit */ int32_t maxSampleDepth; /*最小采样精度,目前支持16bit */ int32_t minSampleDepth; /* 存储类型,掩码方式,bit0:交织存储,bit1:平面存储,目前支持交织格式 */ int32_t pcmStoreTypeMask; /* 支持最大同时创建编码器的个数 */ int32_t maxCodecNum; /* 是否支持异步输出,如果支持需要通过注册的回调进行输出 */ bool isAsynOutput; } AEncAbility; |
audioEncCnt |
支持编码器个数。 |
maxEncNum |
最大编码器个数。 |
Return
Type |
Description |
|---|---|
int32_t |
0:成功,<0失败。 |
Method |
|---|
int32_t (*AudioEncoderCreate)( AEncHandle *handle, AEncInitParams *initEncParams) 根据初始化参数创建音频编码器,handle为编码器的句柄,initEncParams为编码器初始化参数合集。 |
Parameters
Name |
Description |
|---|---|
handle |
创建编码器句柄。 |
initEncParams |
编码器初始化参数合集。 typedef void (*AEncOutputDataCB)(AEncOutputData *outputDataEnc, void *privateData); typedef struct { /* 编码器类型,0:AAC,1:G.711a,目前仅支持AAC LC */ int32_t codecType; /* 声道个数 */ int32_t channel; /* 采样率 */ int32_t sampleRate; /* 采样精度 */ int32_t sampleDepth; /* PCM存储类型,0:交织存储,1:平面存储,目前只支持交织存储 */ int32_t pcmStoreType; /* 私有数据,通过pfnOutput回调进行透传 */ void *privateData; /* 输出回调,非NULL则通过回调输出,否则同步输出 */ AEncOutputDataCB pfnOutput; } AEncInitParams; |
Return
Type |
Description |
|---|---|
int32_t |
0:成功,<0失败。 |
Method |
|---|
int32_t (*AudioEncoderConfigure)( AEncHandle handle, AEncCfgParams *cfgEncParams) 根据配置参数对编码器进行配置,handle为编码器的句柄,cfgEncParams为编码器配置参数合集。 |
Parameters
Name |
Description |
|---|---|
handle |
编码器句柄。 |
cfgEncParams |
编码器配置参数合集。 AEncCfgParams *cfgEncParams typedef struct { /* 码率(bps) */ int32_t bitrate; /* 最大码率 */ int32_t maxbitrate; /* 码控类型,0:CBR 1:ABR 2:VBR ,必须支持CBR */ int32_t rcType; } AEncCfgParams; |
Return
Type |
Description |
|---|---|
int32_t |
0:成功,<0失败。 |
Method |
|---|
int32_t (*AudioEncoderProcess)( AEncHandle handle, AEncInputData *inputData, AEncOutputData *outputData) 根据音频编码器配置对输入音频数据进行压缩,输出压缩码流,handle为编码器的句柄,inputData待编码音频数据,outputData为输出码流及参数合集。 |
Parameters
Name |
Description |
|---|---|
handle |
编码器句柄。 |
inputData |
待编码音频数据。 typedef struct { /* 音频数据内存 */ uint8_t *pcmDataBuf; /* 帧长(字节) */ int32_t pcmLength; /* 时间戳(单位US) */ int64_t timeStamp; } AEncInputData; |
outputData |
输出码流及参数合集。 typedef struct { /* 码流数据 */ uint8_t *bsBuf; /* 码流长度 */ int32_t bsLength; /* 时间戳(单位US) */ int64_t timeStamp; } AEncOutputData; |
Return
Type |
Description |
|---|---|
int32_t |
0:成功,<0失败。 |
Method |
|---|
int32_t (*AudioEncoderDestroy)( AEncHandle *handle) 销毁音频编码器。 |
Parameters
Name |
Description |
|---|---|
handle |
编码器句柄。 |
Return
Type |
Description |
|---|---|
int32_t |
0:成功,<0失败。 |