73 lines
2.2 KiB
C
73 lines
2.2 KiB
C
|
#ifndef _AUDIO_ENC_H_
|
|||
|
#define _AUDIO_ENC_H_
|
|||
|
|
|||
|
#include "generic/typedef.h"
|
|||
|
#include "media/includes.h"
|
|||
|
|
|||
|
#ifndef CONFIG_LITE_AUDIO
|
|||
|
#include "mic_effect.h"
|
|||
|
#include "loud_speaker.h"
|
|||
|
#endif/*CONFIG_LITE_AUDIO*/
|
|||
|
|
|||
|
|
|||
|
struct record_file_fmt {
|
|||
|
u8 gain;//增益配置
|
|||
|
u8 channel;//声道数,1:单声道, 2:双声道
|
|||
|
u16 sample_rate;//采样率
|
|||
|
u32 bit_rate;//码率
|
|||
|
u32 coding_type;//编码格式
|
|||
|
char *dev;//录音设备盘符
|
|||
|
char *folder;//录音文件夹
|
|||
|
char *filename;//录音文件名
|
|||
|
u32 cut_head_time;//录音文件去头时间,单位ms
|
|||
|
u32 cut_tail_time;//录音文件去尾时间,单位ms
|
|||
|
u32 limit_size;//录音文件大小最小限制, 单位byte
|
|||
|
u8 source;//录音输入源
|
|||
|
void (*err_callback)(void);
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
int esco_enc_open(u32 coding_type, u8 frame_len);
|
|||
|
void esco_enc_close();
|
|||
|
|
|||
|
enum enc_source {
|
|||
|
ENCODE_SOURCE_MIX = 0x0,
|
|||
|
ENCODE_SOURCE_MIC,
|
|||
|
ENCODE_SOURCE_LINE0_LR,
|
|||
|
ENCODE_SOURCE_LINE1_LR,
|
|||
|
ENCODE_SOURCE_LINE2_LR,
|
|||
|
ENCODE_SOURCE_USER,
|
|||
|
};
|
|||
|
|
|||
|
extern struct audio_encoder_task *encode_task;
|
|||
|
|
|||
|
void esco_enc_resume(void);
|
|||
|
u32 recorder_get_encoding_time();
|
|||
|
int recorder_is_encoding(void);
|
|||
|
void recorder_device_offline_check(char *logo);
|
|||
|
void recorder_encode_stop(void);
|
|||
|
void recorder_pcm2file_write_pcm_ex(s16 *data, int len);
|
|||
|
int mixer_recorder_encoding(void);
|
|||
|
int mixer_recorder_start(void);
|
|||
|
void mixer_recorder_stop(void);
|
|||
|
void recorder_encode_pp();
|
|||
|
int recorder_encode_start(struct record_file_fmt *f);
|
|||
|
int recorder_userdata_to_enc(s16 *data, int len);
|
|||
|
|
|||
|
int audio_encoder_task_open(void);
|
|||
|
void audio_encoder_task_close(void);
|
|||
|
|
|||
|
void audio_adc_set_irq_point_unit(u16 point_unit);
|
|||
|
int audio_mic_open(struct adc_mic_ch *mic, u16 sample_rate, u8 gain);
|
|||
|
void audio_mic_add_output(struct audio_adc_output_hdl *output);
|
|||
|
void audio_mic_start(struct adc_mic_ch *mic);
|
|||
|
void audio_mic_close(struct adc_mic_ch *mic, struct audio_adc_output_hdl *output);
|
|||
|
void audio_mic_set_gain(struct adc_mic_ch *mic, u8 gain);
|
|||
|
//////////////////////////////////////////////////////////////////
|
|||
|
#include "audio_enc_file.h"
|
|||
|
#include "audio_enc_recoder.h"
|
|||
|
#include "audio_recorder_mix.h"
|
|||
|
|
|||
|
#define REVERB_LADC_IRQ_POINTS (256)//(160)//(176)//(184)//(192)//(224)//(256)
|
|||
|
#endif/*_AUDIO_ENC_H_*/
|