yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame^] | 1 | /*******************************************************************************
|
| 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
|
| 36 | typedef 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 |
|
| 46 | typedef 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;
|
| 71 | extern SINT32 zDrvVp_SetExtAudioCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg,
|
| 72 | T_ZDrvTdm_Cfg *pTdmNbCfg,T_ZDrvTdm_Cfg *pTdmWbCfg);
|
| 73 | //voice config
|
| 74 | extern SINT32 zDrvVp_SetI2sCfg(T_ZDrvI2S_Cfg *s_VpI2sCfg);//obsolete
|
| 75 | extern SINT32 zDrvVp_SetExtI2sCfg(T_ZDrvI2S_Cfg *pI2sNbCfg,T_ZDrvI2S_Cfg *pI2sWbCfg);
|
| 76 |
|
| 77 | extern SINT32 zDrvVp_SetInOutBuffer(T_ZDrv_VpInOutBuffer *pInOutBuffer); //obsolete
|
| 78 | extern SINT32 zDrvVp_SetInOutBufferAddSize(T_ZDrv_VpInOutBuffer *pInOutBuffer,UINT32 bufSize);
|
| 79 | extern VOID zDrvVpCfg_SetOperations(T_HalVpCfg_Opt* VpCfg_ObjPtr);
|
| 80 | extern SINT32 zDrvVp_Init(VOID);
|
| 81 |
|
| 82 | extern SINT32 zDrvVoice_Initiate(VOID);
|
| 83 | extern SINT32 Aud_TaskInt_Init(VOID);
|
| 84 |
|
| 85 | //is usd for xinke 20150709 lvwenhua value:0~100 step:1(0.25dB)
|
| 86 | extern SINT32 zDrvVp_SetInitGain(UINT8 value);
|
| 87 | #endif
|