AUDDEC Audio Decoder Interface
Defines |
#define | AUDDEC_EOK IAUDDEC_EOK |
#define | AUDDEC_EFAIL IAUDDEC_EFAIL |
#define | AUDDEC_ERUNTIME IAUDDEC_ERUNTIME |
#define | AUDDEC_ETIMEOUT VISA_ETIMEOUT |
#define | AUDDEC_FOREVER VISA_FOREVER |
Typedefs |
typedef IAUDDEC_Status | AUDDEC_Status |
typedef VISA_Handle | AUDDEC_Handle |
| Opaque handle to a AUDDEC codec.
|
typedef struct IAUDDEC_Params | AUDDEC_Params |
| This structure defines the parameters necessary to create an instance of a IAUDDEC-compliant audio decoder.
|
typedef IAUDDEC_InArgs | AUDDEC_InArgs |
typedef IAUDDEC_OutArgs | AUDDEC_OutArgs |
typedef IAUDDEC_Cmd | AUDDEC_Cmd |
typedef IAUDDEC_DynamicParams | AUDDEC_DynamicParams |
Functions |
AUDDEC_Handle | AUDDEC_create (Engine_Handle e, String name, AUDDEC_Params *params) |
| Create an instance of a audio decoder algorithm.
|
Int32 | AUDDEC_process (AUDDEC_Handle handle, XDM_BufDesc *inBufs, XDM_BufDesc *outBufs, AUDDEC_InArgs *inArgs, AUDDEC_OutArgs *outArgs) |
| Execute the process() method in this instance of an audio decoder algorithm.
|
Int32 | AUDDEC_control (AUDDEC_Handle handle, AUDDEC_Cmd id, AUDDEC_DynamicParams *params, AUDDEC_Status *status) |
| Execute the control() method in this instance of an audio decoder algorithm.
|
Void | AUDDEC_delete (AUDDEC_Handle handle) |
| Delete the instance of an audio decoder algorithm.
|
XDAS_Int32 | AUDDEC_processAsync (AUDDEC_Handle handle, XDM_BufDesc *inBufs, XDM_BufDesc *outBufs, AUDDEC_InArgs *inArgs, AUDDEC_OutArgs *outArgs) |
| Perform asynchronous submission to this instance of a audio decoder algorithm.
|
XDAS_Int32 | AUDDEC_processWait (AUDDEC_Handle handle, XDM_BufDesc *inBufs, XDM_BufDesc *outBufs, AUDDEC_InArgs *inArgs, AUDDEC_OutArgs *outArgs, UInt timeout) |
| Wait for a return message from a previous invocation of AUDDEC_processAsync() in this instance of an audio decoder algorithm.
|
Detailed Description
This is the AUDDEC audio decoder interface. Several of the data types in this API are specified by the XDM interface; please see the XDM documentation for those details.
Define Documentation
#define AUDDEC_EOK IAUDDEC_EOK |
#define AUDDEC_EFAIL IAUDDEC_EFAIL |
#define AUDDEC_ERUNTIME IAUDDEC_ERUNTIME |
#define AUDDEC_ETIMEOUT VISA_ETIMEOUT |
#define AUDDEC_FOREVER VISA_FOREVER |
Special value for timeout parameter indicating never timeout.
Typedef Documentation
Opaque handle to a AUDDEC codec.
This structure defines the parameters necessary to create an instance of a IAUDDEC-compliant audio decoder.
This structure defines the codec parameters that can be modified after creation via control() calls.
- See also:
- IAUDDEC_Fxns::control()
Function Documentation
Create an instance of a audio decoder algorithm.
Instance handles must not be concurrently accessed by multiple threads; each thread must either obtain its own handle (via AUDDEC_create()) or explicitly serialize access to a shared handle.
- Parameters:
-
[in] | e | Handle to an opened engine. |
[in] | name | String identifier of the type of audio decoder. to create. |
[in] | params | Creation parameters. |
- Return values:
-
| NULL | An error has occurred. |
| non-NULL | The handle to the newly created audio decoder instance. |
- See also:
- Engine_open()
-
AUDDEC_delete()
Execute the process() method in this instance of an audio decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created audio decoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
- Precondition:
handle
is a valid (non-NULL) audio decoder handle and the audio decoder is in the created state.
- Return values:
-
- See also:
- AUDDEC_create()
-
AUDDEC_delete()
-
AUDDEC_control()
-
AUDDEC_processAsync()
-
AUDDEC_processWait()
-
IAUDDEC_Fxns::process()
Execute the control() method in this instance of an audio decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created audio decoder instance. |
[in] | id | Command id for XDM control operation. |
[in] | params | Runtime control parameters used for decoding. |
[out] | status | Status info upon completion of decode operation. |
- Precondition:
handle
is a valid (non-NULL) audio decoder handle and the audio decoder is in the created state.
- Return values:
-
- See also:
- AUDDEC_create()
-
AUDDEC_delete()
-
IAUDDEC_Fxns::control()
Delete the instance of an audio decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created audio decoder instance. |
- Precondition:
handle
is a valid (non-NULL) handle which is in the created state.
- Postcondition:
- All resources allocated as part of the AUDDEC_create() operation (memory, DMA channels, etc.) are freed.
- See also:
- AUDDEC_create()
Perform asynchronous submission to this instance of a audio decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created audio decoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
- Precondition:
handle
is a valid (non-NULL) audio decoder handle and the audio decoder is in the created state.
- Return values:
-
- See also:
- AUDDEC_create()
-
AUDDEC_delete()
-
AUDDEC_control()
-
AUDDEC_process()
-
AUDDEC_processWait()
-
IAUDDEC_Fxns::process()
Wait for a return message from a previous invocation of AUDDEC_processAsync() in this instance of an audio decoder algorithm.
- Parameters:
-
[in] | handle | Handle to a created audio decoder instance. |
[in] | inBufs | A buffer descriptor containing input buffers. |
[out] | outBufs | A buffer descriptor containing output buffers. |
[in] | inArgs | Input Arguments. |
[out] | outArgs | Output Arguments. |
[in] | timeout | Amount of "time" to wait (from 0 -> AUDDEC_FOREVER) |
- Precondition:
handle
is a valid (non-NULL) audio decoder handle and the audio decoder is in the created state.
- Return values:
-
- See also:
- AUDDEC_create()
-
AUDDEC_delete()
-
AUDDEC_control()
-
AUDDEC_process()
-
AUDDEC_processAsync()