blob: c89013f634600f7b1aed9fcbad282570cd878e2b [file] [log] [blame]
yuezonghe824eb0c2024-06-27 02:32:26 -07001/*******************************************************************************
2 * Copyright (C) 2007, ZTE Corporation.
3 *
4 * File Name: Drvs_voice_config.h
5 * File Mark:
6 * Description: Provide the interface for the voice config of refdrv
7 * Others:
8 * Version: V0.5
9 * Author: xuxinqiang
10 * Date: 2014-06-04
11 * History 1:
12 * Date:
13 * Version:
14 * Author:
15 * Modification:
16 * History 2:
17 ********************************************************************************/
18#ifndef _DRVS_VPCFG_H
19#define _DRVS_VPCFG_H
20
21/*************************************************************************
22 * Include files *
23 *************************************************************************/
24
25#include "drvs_voiceprocess.h"
26#include "drvs_i2s.h"
27#include "drvs_codec.h"
28#include "drvs_tdm.h"
29
30/**************************************************************************
31 * Types *
32 **************************************************************************/
33
34
35//the size of each buffer should >=0.5MB
36typedef struct _T_ZDrv_VpInOutBuffer
37{
38 UINT8* p_voiceRxInBuffer ;/*the pcm data in the s_voiceRxInBuffer,receive from far-end. */
39 UINT8* p_voiceTxInBuffer ;/* the pcm data in the s_voiceTxInBuffer, receiver from codec.*/
40 UINT8* p_voiceRxOutPutBuffer;/* the pcm data in the s_voiceRxOutPutBuffe, will send to codec.*/
41 UINT8* p_voiceTxOutPutBuffer;/* the pcm data in the s_voiceTxOutBuffer, will send to near end.*/
42
43}T_ZDrv_VpInOutBuffer;
44
45
46typedef struct
47{
48 SINT32 (*hal_VpCfg_OpenBegin_obsolete)(VOID);
49 SINT32 (*hal_VpCfg_OpenEnd_obsolete)(VOID);
50 SINT32 (*hal_VpCfg_Close_obsolete)(VOID);
51 SINT32 (*hal_VpCfg_Open)(T_ZDrvVp_SourceType srctype);
52 SINT32 (*hal_VpCfg_Close)(VOID);
53 SINT32 (*hal_VpCfg_Enable)(VOID);
54 SINT32 (*hal_VpCfg_Disable)(VOID);
55 SINT32 (*hal_VpCfg_SetFs)(T_ZDrv_VpFs fs);
56 SINT32 (*hal_VpCfg_SetInputPath)(T_ZDrv_VpPath path,BOOL enable);
57 SINT32 (*hal_VpCfg_SetOutputPath)(T_ZDrv_VpPath path,BOOL enable);
58 SINT32 (*hal_VpCfg_SetMute)(T_ZDrv_VpPath path,BOOL mute);
59 SINT32 (*hal_VpCfg_SetFmPath)(T_ZDrv_VpPath path,BOOL enable);
60 SINT32 (*hal_VpCfg_SetLoopback)(BOOL enable);
61 SINT32 (*hal_VpCfg_SetInputVol)(T_ZDrv_VpVol vol);
62 SINT32 (*hal_VpCfg_SetOutputVol)(T_ZDrv_VpVol vol);
63 SINT32 (*hal_VpCfg_SetUseProtocol)(T_ZDrvCodec_UseProtocol useProtocol);
64 SINT32 (*hal_VpCfg_GetMixerToneInfo)(T_ZDrvVp_ToneNum toneNum,T_HalMixerToneInfo *toneInfo);
65 SINT32 (*hal_VpCfg_GetAudioLoopInfo)(T_HalAudioLoopTestInfo *audioInfo);
66 SINT32 (*hal_VpCfg_GetAudioLoopResult)(T_HalAudioLoopTestPra *audioPra);
67 SINT32 (*hal_VpCfg_SetInputMute)(BOOL mute);
68 SINT32 (*hal_VpCfg_SetOutputMute)(BOOL mute);
69
70} T_HalVpCfg_Opt;
71extern SINT32 zDrvVp_SetExtAudioCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg,
72 T_ZDrvTdm_Cfg *pTdmNbCfg,T_ZDrvTdm_Cfg *pTdmWbCfg);
73//voice config
74extern SINT32 zDrvVp_SetI2sCfg(T_ZDrvI2S_Cfg *s_VpI2sCfg);//obsolete
75extern SINT32 zDrvVp_SetExtI2sCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg);
76
77extern SINT32 zDrvVp_SetInOutBuffer(T_ZDrv_VpInOutBuffer *pInOutBuffer); //obsolete
78extern SINT32 zDrvVp_SetInOutBufferAddSize(T_ZDrv_VpInOutBuffer *pInOutBuffer,UINT32 bufSize);
79extern VOID zDrvVpCfg_SetOperations(T_HalVpCfg_Opt* VpCfg_ObjPtr);
80extern SINT32 zDrvVp_Init(VOID);
81
82extern SINT32 zDrvVoice_Initiate(VOID);
83extern SINT32 Aud_TaskInt_Init(VOID);
84
85//is usd for xinke 20150709 lvwenhua value:0~100 step:1(0.25dB)
86extern SINT32 zDrvVp_SetInitGain(UINT8 value);
87#endif