/* =========================================================================

DESCRIPTION
   Netease && Xunfei speech processing main program
   Cae voice process

Copyright (c) 2017 by Netease, Co,LTD.  All Rights Reserved.
============================================================================ */

/* =========================================================================

                             REVISION

when                       who why
--------                    ---------
-------------------------------------------
2017/06/28          wangzijiao                                  Created.
============================================================================ */

#ifndef __CAE_H__
#define __CAE_H__

#ifdef __cplusplus
extern "C" {
#endif /* C++ */

#include <cae/cae_intf.h>
/* ------------------------------------------------------------------------
** Types
** ------------------------------------------------------------------------ */
typedef struct _CAEDATA { CAE_HANDLE cae; } CAEDATA;

int Netease_CaeInit(CAEDATA **caedata, cae_ivw_fn ivwCb, cae_audio_fn audioCb);
int Netease_CAEAudioWrite(CAEDATA *cae, const void *audioData,
                          unsigned int audioLen);
int Netease_CAEResetEng(CAEDATA *cae);
int Netease_CAESetRealBeam(CAEDATA *cae, int beam);
int Netease_CAESetWParam(CAEDATA *cae, const char *param, const char *value);
int Netease_CAEGetWParam(CAEDATA *cae, const char *param, char *value,
                         unsigned int *valueLen);
char *Netease_CAEGetVersion();
int Netease_CAEGetChannel();
int Netease_CAESetShowLog(int show_log);

#ifdef __cplusplus
} /* extern "C" */
#endif /* C++ */

#endif /* __CAE_H__ */
