123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904 |
-
-
-
- #ifndef BD_IMAD_PJ_H__
- #define BD_IMAD_PJ_H__
-
-
- #ifdef _BDIMADPJ_EXPORTDLL
- #ifdef WIN32
- #define BDIMADPJ_API __declspec(dllexport)
- #else
- #define BDIMADPJ_API __attribute__((visibility("default")))
- #endif
- #else
- #define BDIMADPJ_API
- #endif
- #define BD_IMAD_CAPTURE_DEVICES 1
- #define BD_IMAD_PLAYBACK_DEVICES 0
- #define BD_IMAD_DIAGNOSTIC_ENABLE 1
- #define BD_IMAD_DIAGNOSTIC_DISABLE 0
- #define BD_IMAD_BITS_X_SAMPLE 16
- typedef void* bdIMADpj;
- typedef int (* cb_fillPlayBackB_t) (void *buffer, int nSamples,
- void *user_data);
- typedef void (* cb_emptyCaptureB_t) (void *buffer, int nSamples,
- void *user_data);
-
- typedef enum bdIMADpj_Status {
-
- BD_PJ_OK = 0,
-
- BD_PJ_WARN_BDIMAD_WARNING_ASSERTED = 1,
-
- BD_PJ_ERROR_GENERIC = 2,
-
- BD_PJ_ERROR_NULL_POINTER = 3,
-
- BD_PJ_ERROR_ALLOCATION = 4,
-
- BD_PJ_ERROR_PARAMETER_NOT_FOUND = 5,
-
- BD_PJ_ERROR_IMAD_NONE_CAPTURE_DEV = 10,
-
- BD_PJ_ERROR_IMAD_NONE_PLAY_DEV = 11,
-
- BD_PJ_ERROR_IMAD_FRAME_SIZE = 12,
-
- BD_PJ_ERROR_IMAD_SAMPLE_FREQ = 13,
-
- BD_PJ_ERROR_IMAD_MISSING_SAMPLES = 14,
-
- BD_PJ_ERROR_IMAD_DEVICE_LIST_EMPTY = 15,
-
- BD_PJ_ERROR_IMAD_LIB_NOT_AUTHORIZED = 16,
-
- BD_PJ_ERROR_IMAD_INPUT_CH_NOT_ALLOCATED = 17,
-
- BD_PJ_ERROR_IMAD_LICENSE_EXPIRED = 18,
-
- BD_PJ_ERROR_IMAD_OPEN_CAPTURE_DEV_FAILED = 19,
-
- BD_PJ_ERROR_IMAD_OPEN_PLAY_DEV_FAILED = 20,
-
- BD_PJ_ERROR_IMAD_START_PLAY_DEV_FAILED = 21,
-
- BD_PJ_ERROR_IMAD_START_CAPTURE_DEV_FAILED = 22,
-
- BD_PJ_ERROR_IMAD_START_TIME_PROCESS_FAILED = 23,
-
- BD_PJ_ERROR_IMAD_THREAD_PROCESS_FAILED = 24,
-
- BD_PJ_ERROR_IMAD_NO_VOL_CONTROL_AVAILABLE = 25,
- } bdIMADpj_Status;
-
- typedef enum bdIMADpj_Parameter {
-
- BD_PARAM_IMAD_PJ_AEC_ENABLE = 0,
-
- BD_PARAM_IMAD_PJ_AEC_ECHO_TAIL_MS = 1,
-
- BD_PARAM_IMAD_PJ_AEC_DELAY_OFFSET_MS = 2,
-
- BD_PARAM_IMAD_PJ_AEC_AUTO_DELAY_ESTIMATION_ENABLE = 3,
-
- BD_PARAM_IMAD_PJ_AEC_AUTO_DELAY_ESTIMATION_VALUE = 4,
-
- BD_PARAM_IMAD_PJ_AEC_AUTO_DELAY_ESTIMATION_IS_STABLE = 5,
-
- BD_PARAM_IMAD_PJ_NR_ENABLE = 6,
-
- BD_PARAM_IMAD_PJ_NR_LEVEL = 7,
-
- BD_PARAM_IMAD_PJ_CNG_ENABLE = 8,
-
- BD_PARAM_IMAD_PJ_CNG_SET_ADAPTIVE = 9,
-
- BD_PARAM_IMAD_PJ_CNG_FIXED_LEVEL_DB = 10,
-
- BD_PARAM_IMAD_PJ_REC_EFFORT_LEVEL = 11,
-
- BD_PARAM_IMAD_PJ_NLP_ENABLE = 12,
-
- BD_PARAM_IMAD_PJ_NLP_DTD_SENSITIVITY = 13,
-
- BD_PARAM_IMAD_PJ_NLP_GAIN = 14,
-
- BD_PARAM_IMAD_PJ_MIC_CONTROL_ENABLE = 15,
-
- BD_PARAM_IMAD_PJ_MIC_VOLUME = 16,
-
- BD_PARAM_IMAD_PJ_MIC_MUTE = 17,
-
- BD_PARAM_IMAD_PJ_SPK_VOLUME = 18,
-
- BD_PARAM_IMAD_PJ_SPK_MUTE = 19,
- } bdIMADpj_Parameter;
- typedef enum bdIMADpj_DirPath {
-
- BD_IMAD_PJ_DIR_PATH_SEND = 0,
-
- BD_IMAD_PJ_DIR_PATH_RECV = 1,
- } bdIMADpj_DirPath;
-
- typedef enum bdIMADpj_AudioProcessParameter {
-
- BD_AP_PARAM_IMAD_PJ_AUDIO_PROC_ENABLE = 200,
-
- BD_AP_PARAM_IMAD_PJ_GAIN_ENABLE = 201,
-
- BD_AP_PARAM_IMAD_PJ_GAIN_VALUE_DB = 202,
-
- BD_AP_PARAM_IMAD_PJ_AGC_ENABLE = 203,
-
- BD_AP_PARAM_IMAD_PJ_AGC_TARGET_RMS_DB = 204,
-
- BD_AP_PARAM_IMAD_PJ_AGC_MAX_GAIN_DB = 205,
-
- BD_AP_PARAM_IMAD_PJ_GEQ_ENABLE = 206,
-
-
- BD_AP_PARAM_IMAD_PJ_GEQ_FREQ_GAIN = 207,
-
- BD_AP_PARAM_IMAD_PJ_CMP_ENABLE = 208,
-
- BD_AP_PARAM_IMAD_PJ_CMP_ATTACK_TIME_GAIN_MS = 209,
-
- BD_AP_PARAM_IMAD_PJ_CMP_RELEASE_TIME_GAIN_MS = 210,
-
- BD_AP_PARAM_IMAD_PJ_CMP_ATTACK_TIME_LEVEL_MS = 211,
-
- BD_AP_PARAM_IMAD_PJ_CMP_RELEASE_TIME_LEVEL_MS = 212,
-
- BD_AP_PARAM_IMAD_PJ_CMP_LOOK_AHEAD_MS = 213,
-
- BD_AP_PARAM_IMAD_PJ_CMP_RMS_DETECTOR = 214,
-
- BD_AP_PARAM_IMAD_PJ_CMP_COMPENSATION_GAIN_DB = 215,
-
- BD_AP_PARAM_IMAD_PJ_CMP_TABLE = 216,
-
- BD_AP_PARAM_IMAD_PJ_LIM_ENABLE = 217,
-
- BD_AP_PARAM_IMAD_PJ_LIM_THRESHOLD = 218,
- } bdIMADpj_AudioProcessParameter;
- typedef enum bdIMADpj_TestSignalType {
-
- BD_IMAD_PJ_TS_SINE = 0,
-
- BD_IMAD_PJ_TS_WGN = 1,
- } bdIMADpj_TestSignalType;
- typedef enum bdIMADpj_TestParameter {
-
- BD_TEST_PARAM_IMAD_PJ_TEST_SIGNAL_ENABLE = 400,
-
- BD_TEST_PARAM_IMAD_PJ_TEST_SIGNAL_TYPE = 401,
-
- BD_TEST_PARAM_IMAD_PJ_TEST_SIGNAL_AMPLITUDE = 402,
-
- BD_TEST_PARAM_IMAD_PJ_TEST_SIGNAL_FREQUENCY = 403,
- } bdIMADpj_TestParameter;
- typedef enum bdIMADpj_Side {
-
- BD_IMAD_PJ_SIDE_INPUT = 0,
-
- BD_IMAD_PJ_SIDE_OUTPUT = 1,
- } bdIMADpj_Side;
- typedef struct bdIMADpj_Setting_t {
-
- int SamplingFrequency;
-
- int FrameSize_ms;
-
- void *validate;
-
- cb_fillPlayBackB_t cb_fillPlayBackBuffer;
-
- void *cb_fillPlayBackBuffer_user_data;
-
- cb_emptyCaptureB_t cb_emptyCaptureBuffer;
-
- void *cb_emptyCaptureBuffer_user_data;
-
- wchar_t *CaptureDevice;
-
- wchar_t *PlayDevice;
-
- int DiagnosticEnable;
-
- wchar_t *DiagnosticFolderPath;
-
- void *bdIMADwr_SettingsData;
- } bdIMADpj_Setting_t;
- typedef struct bdIMADpj_Warnings_t {
-
- int DefaultCaptureDeviceAutomaticallySelected;
-
- int CaptureDeviceWithoutVolumeControl;
-
- int DefaultPlayDeviceAutomaticallySelected;
-
- int NumberOfChannelsOutOfRange;
-
- int DiagnosticSaveNotAllowed;
-
- int nlpLevelChangeSettting;
-
- int NoCaptureDevicePresent;
-
- int oldCPUdetected_AECdisable;
-
- long directSoundError;
-
- long directSoundLevel;
-
- int NoPlayDevicePresent;
- } bdIMADpj_Warnings_t;
- typedef struct bdIMADpj_libVersion_t {
- int major;
- int minor;
- int build;
- char *name;
- char *version;
- char *buildDate;
- } bdIMADpj_libVersion_t;
- typedef enum bdIMADpj_out_dev_route {
-
- BD_AUD_DEV_ROUTE_DEFAULT = 0,
-
- BD_AUD_DEV_ROUTE_LOUDSPEAKER = 1,
-
- BD_AUD_DEV_ROUTE_EARPIECE = 2
- }bdIMADpj_out_dev_route;
- #ifdef __cplusplus
- extern "C" {
- #endif
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_CreateStructures(
- bdIMADpj_Setting_t **ppSettings,
- bdIMADpj_Warnings_t **ppWarningMessages);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_FreeStructures(
- bdIMADpj_Setting_t **ppSettings,
- bdIMADpj_Warnings_t **ppWarningMessages);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_InitAEC(bdIMADpj *pBdIMADInstance,
- bdIMADpj_Setting_t **ppSettings,
- bdIMADpj_Warnings_t **ppWarningMessages);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_FreeAEC(bdIMADpj *pBdIMADInstance);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getDeviceName(int captureDevice,
- wchar_t **deviceName);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_stop(bdIMADpj bdIMADInstance);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_run(bdIMADpj bdIMADInstance);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_DisplayWarnings(
- bdIMADpj_Warnings_t *pWarningMessages);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_ClearAllWarnings(
- bdIMADpj_Warnings_t **ppWarningMessages);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_setParameter(bdIMADpj bdIMADInstance,
- bdIMADpj_Parameter parameterName, void *pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getParameter(bdIMADpj bdIMADInstance,
- bdIMADpj_Parameter parameterName, void *pValue);
-
-
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_setAudioProcessParameter(bdIMADpj bdIMADInstance,
- bdIMADpj_AudioProcessParameter parameterName, bdIMADpj_DirPath directionPath, void *pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getAudioProcessParameter(bdIMADpj bdIMADInstance,
- bdIMADpj_AudioProcessParameter parameterName, bdIMADpj_DirPath directionPath, void *pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_setTestParameter(bdIMADpj bdIMADInstance, bdIMADpj_TestParameter parameterName, bdIMADpj_DirPath directionPath, void* pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getTestParameter(bdIMADpj bdIMADInstance, bdIMADpj_TestParameter parameterName, bdIMADpj_DirPath directionPath, void* pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getVuMeterLevelValue(bdIMADpj bdIMADInstance, bdIMADpj_DirPath directionPath, bdIMADpj_Side side, float* pValue);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_enableGuiSocketCommunication(bdIMADpj bdIMADInstance, int port, int enable);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_setRouteOutputDevice(bdIMADpj bdIMADInstance, bdIMADpj_out_dev_route outputRoute, bdIMADpj_Warnings_t **ppWarningMessages);
-
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getRouteOutputDevice(bdIMADpj bdIMADInstance, bdIMADpj_out_dev_route *outputRoute);
- BDIMADPJ_API bdIMADpj_Status bdIMADpj_getDeviceCapabilities(int captureDevice, unsigned *caps);
- #ifdef __cplusplus
- }
- #endif
- #endif
|