Sound Open Firmware
Loading...
Searching...
No Matches
igo_lib.h File Reference
Include dependency graph for igo_lib.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  IgoLibInfo
 IgoLibInfo is used to keep information for iGo library. More...
struct  IgoStreamData
 IgoStreamData is used to keep audio data for iGo library. More...
struct  IgoLibConfig
 IgoLibConfig is used to keep lib configuration for lib instance initialization. More...

Enumerations

enum  IgoRet {
  IGO_RET_OK = 0 , IGO_RET_ERR , IGO_RET_NO_SERVICE , IGO_RET_INVL_ARG ,
  IGO_RET_NO_MEMORY , IGO_RET_NOT_SUPPORT , IGO_RET_ALGO_NAME_NOT_FOUND , IGO_RET_CH_NUM_ERR ,
  IGO_RET_SAMPLING_RATE_NOT_SUPPORT , IGO_RET_IN_DATA_ERR , IGO_RET_REF_DATA_ERR , IGO_RET_OUT_DATA_ERR ,
  IGO_RET_PARAM_NOT_FOUND , IGO_RET_PARAM_READ_ONLY , IGO_RET_PARAM_WRITE_ONLY , IGO_RET_PARAM_INVALID_VAL ,
  IGO_RET_LAST
}
enum  IgoDataWidth { IGO_DATA_16BIT = 0 , IGO_DATA_24BIT , IGO_DATA_LAST }

Functions

enum IgoRet IgoLibGetInfo (struct IgoLibInfo *info)
 IgoLibGetInfo() - Retrieve the lib information.
enum IgoRet IgoLibInit (void *handle, const struct IgoLibConfig *config, void *param)
 IgoLibInit() - Initialize iGo lib instance.
enum IgoRet IgoLibProcess (void *handle, const struct IgoStreamData *in, const struct IgoStreamData *ref, const struct IgoStreamData *out)
 IgoLibProcess() - Process audio stream.

Enumeration Type Documentation

◆ IgoDataWidth

Enumerator
IGO_DATA_16BIT 
IGO_DATA_24BIT 
IGO_DATA_LAST 

◆ IgoRet

enum IgoRet
Enumerator
IGO_RET_OK 
IGO_RET_ERR 
IGO_RET_NO_SERVICE 
IGO_RET_INVL_ARG 
IGO_RET_NO_MEMORY 
IGO_RET_NOT_SUPPORT 
IGO_RET_ALGO_NAME_NOT_FOUND 
IGO_RET_CH_NUM_ERR 
IGO_RET_SAMPLING_RATE_NOT_SUPPORT 
IGO_RET_IN_DATA_ERR 
IGO_RET_REF_DATA_ERR 
IGO_RET_OUT_DATA_ERR 
IGO_RET_PARAM_NOT_FOUND 
IGO_RET_PARAM_READ_ONLY 
IGO_RET_PARAM_WRITE_ONLY 
IGO_RET_PARAM_INVALID_VAL 
IGO_RET_LAST 

Function Documentation

◆ IgoLibGetInfo()

enum IgoRet IgoLibGetInfo ( struct IgoLibInfo * info)

IgoLibGetInfo() - Retrieve the lib information.

Parameters
[out]infoLib information.

This API is used to get library detail information.

Returns
iGo defined return value.

◆ IgoLibInit()

enum IgoRet IgoLibInit ( void * handle,
const struct IgoLibConfig * config,
void * param )

IgoLibInit() - Initialize iGo lib instance.

Parameters
[out]handleiGo lib handle.
[in]configLib configuration for initialization.
[in]paramthe point of iGO Parameter for initialization.

This API is used to initialize iGo lib instance and get a handle which is for control the iGo lib instance.

P.S. The channel number in the config is algorithm dependent.

Returns
iGo defined return value.

◆ IgoLibProcess()

enum IgoRet IgoLibProcess ( void * handle,
const struct IgoStreamData * in,
const struct IgoStreamData * ref,
const struct IgoStreamData * out )

IgoLibProcess() - Process audio stream.

Parameters
[in]handleiGo lib handle.
[in]ininput audio stream.
[in]refreference audio stream.
[out]outoutput audio stream.

This API is used to process audio stream. The default audio sample is 16bit. The sampling rate and sample number should be specified in IgoStreamData structure. If the channel number > 1 for IgoStreamData, the data should be interleaved sample by sample.

Note: IgoLibProcess supports 16k/48k 16bit data only by default. If other data format or sampling rate is required, please ask intelliGo for support.

Returns
iGo defined return value.