#ifndef _DRV_MAPLE_AUD_API_H_
#define _DRV_MAPLE_AUD_API_H_

//#ifdef ANDROID_TWO_WORLDS
#include "aud_if.h"
#include "aud_drv.h"
#include "dsp_intf.h"
#include "drv_adsp.h"
#include "dsp_shm.h"
#include "aud_cfg.h"
#ifdef TARGET_SPEC_DRV_CUST_CUSTOMIZED_HDR_FILE
#include TARGET_SPEC_DRV_CUST_CUSTOMIZED_HDR_FILE
#endif
//#endif //ANDROID_TWO_WORLDS

typedef struct _SONY_BE_AUD_FUNC_T
{
    void (*aDrvCustSendAudEvent)(E_CUST_AUD_EVENT, UINT8);
} SONY_BE_AUD_FUNC_T;

// drv_MapleAudGetApi.c
void DRVCUST_GetAudioInputType (UINT8 bPath, CUST_AUD_INPUT_T* pAudioInput);
void DRVCUST_GetAudioSignalFormat(UINT8 bPath, CUST_AUD_FMT_T* pSignalFormat);
UINT32 DRVCUST_GetAudioDelay(void);
void DRVCUST_GetAudioOutputFormat (CUST_AUD_OUT_FORMAT_T* pOutFormat);
void DRVCUST_GetVolume(CUST_AUD_VOLUME_T* pVolume);
void DRVCUST_GetSoundSetting(CUST_AUD_SOUND_SETTING_T* pSoundSetting);
void DRVCUST_GetAudioChannelMuteState(UINT8 bPath, CUST_AUD_CH_MUTE_STATE_T* pMuteState);
void DRVCUST_GetAudioPlayState(UINT8 bPath, CUST_AUD_PLAY_STATE_T* pPlayState);
void DRVCUST_GetAudioMixState(CUST_AUD_MIX_STATE_T* pState);
void DRVCUST_GetServiceModeState(CUST_AUD_SERVICE_MODE_STATE_T* pState);
void DRVCUST_GetSubwooferState(CUST_AUD_SUBWOOFER_STATE_T* pState );
UINT8 DRVCUST_GetMCKState(void);


void DRVCUST_RegisterBeAudFunc(SONY_BE_AUD_FUNC_T *be_func);
void DRVCUST_DeregisterBeAudFunc(void);
void DRVCUST_SetBeMuteState(UINT8 bState);
void DRVCUST_SetBeDelay(UINT32 u4Delay);


#endif //_DRV_MAPLE_AUD_API_H_

