35 lines
1.6 KiB
C
35 lines
1.6 KiB
C
#ifndef _WEBRTCAEC_H_
|
|
#define _WEBRTCAEC_H_
|
|
|
|
#include <mm_comm_aio.h>
|
|
|
|
typedef struct WebRtcAecContext
|
|
{
|
|
void *aecmInst; //WebRtcAec handle
|
|
short *near_buff; // buffer used as internal buffer to store near data for conjunction. for aec
|
|
unsigned int near_buff_len; // the length of the near buffer, normally is 2 x chunkbytesize.
|
|
unsigned int near_buff_data_remain_len; // the length of the valid data that stored in near buffer.
|
|
short *ref_buff; // buffer used as internal buffer to store reference data for conjunction. for aec
|
|
unsigned int ref_buff_len; // the length of the ref buffer, normally is 2 x chunkbytesize.
|
|
unsigned int ref_buff_data_remain_len; // the length of the valid data that stored in ref buffer.
|
|
|
|
short *out_buff; // buffer used as internal buffer to store aec produced data for conjunction. for aec
|
|
unsigned int out_buff_len; // the length of the out buffer, normally is 2 x chunkbytesize.
|
|
unsigned int out_buff_data_remain_len; // the length of the valid data that stored in out buffer.
|
|
short *tmpBuf; //used to store aec produced data temporarily, then copy to out_buff.
|
|
int tmpBufLen;
|
|
|
|
FILE *tmp_pcm_fp_in;
|
|
int tmp_pcm_in_size;
|
|
FILE *tmp_pcm_fp_ref;
|
|
int tmp_pcm_ref_size;
|
|
FILE *tmp_pcm_fp_out;
|
|
int tmp_pcm_out_size;
|
|
}WebRtcAecContext;
|
|
WebRtcAecContext* ConstructWebRtcAecContext();
|
|
void DestructWebRtcAecContext(WebRtcAecContext *pCtx);
|
|
int WebRtcAecProcess(void *cookie, AUDIO_FRAME_S *pFrm, BOOL bSuspendAec);
|
|
|
|
#endif /* _WEBRTCAEC_H_ */
|
|
|