ISPHDEC1_Fxns Struct Reference
[XDM ISPHDEC1 Speech/Voice Decoder Interface]

#include <isphdec1.h>

Collaboration diagram for ISPHDEC1_Fxns:

Collaboration graph
[legend]

Detailed Description

Defines all of the operations on ISPHDEC1 objects.


Data Fields

IALG_Fxns ialg
XDAS_Int32(* process )(ISPHDEC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHDEC1_InArgs *inArgs, ISPHDEC1_OutArgs *outArgs)
 Basic speech/voice decoding call.
XDAS_Int32(* control )(ISPHDEC1_Handle handle, ISPHDEC1_Cmd id, ISPHDEC1_DynamicParams *params, ISPHDEC1_Status *status)
 Control behavior of an algorithm.


Field Documentation

IALG_Fxns ISPHDEC1_Fxns::ialg

XDAIS algorithm interface.

See also:
IALG_Fxns

XDAS_Int32(* ISPHDEC1_Fxns::process)(ISPHDEC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHDEC1_InArgs *inArgs, ISPHDEC1_OutArgs *outArgs)

Basic speech/voice decoding call.

Parameters:
[in] handle Handle to an algorithm instance.
[in,out] inBuf Input buffer descriptor.
[in,out] outBuf Output buffer descriptor.
[in] inArgs Input arguments. This is a required parameter.
[out] outArgs Ouput results. This is a required parameter.
Remarks:
process() is a blocking call. When process() returns, the algorithm's processing is complete.

If inArgs->data is not used in the process() call, the application must set it to NULL. The algorithm must therefore check this field for NULL before accessing it.

Precondition:
handle must be a valid algorithm instance handle.

inArgs must not be NULL, and must point to a valid ISPHDEC1_InArgs structure.

outArgs must not be NULL, and must point to a valid ISPHDEC1_OutArgs structure.

inBuf must not be NULL, and must point to a valid XDM1_SingleBufDesc structure.

inBuf->buf must not be NULL, and must point to a valid buffer of data that is at least inBuf->bufSize bytes in length.

outBuf must not be NULL, and must point to a valid XDM1_SingleBufDesc structure.

outBuf->buf must not be NULL, and must point to a valid buffer of data that is at least outBuf->bufSize bytes in length.

The buffers in inBuf and outBuf are physically contiguous and owned by the calling application.

Postcondition:
The algorithm must not modify the contents of inArgs.

The algorithm must not modify the contents of inBuf, with the exception of inBuf->accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.

The algorithm must set outBuf->bufSize to the size of valid data returned in outBuf->buf .

The algorithm must appropriately set/clear the XDM1_SingleBufDesc.accessMask field in both inBuf and outBuf. For example, if the algorithm only read from inBuf->buf using the algorithm processor, it could utilize XDM_SETACCESSMODE_READ to update the appropriate accessMask fields. The application may utilize these returned values to appropriately manage cache.

The buffers in inBuf and outBuf are owned by the calling application.

Return values:
ISPHDEC1_EOK Success.
ISPHDEC1_EFAIL General failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions.
ISPHDEC1_EUNSUPPORTED Request is unsupported.

XDAS_Int32(* ISPHDEC1_Fxns::control)(ISPHDEC1_Handle handle, ISPHDEC1_Cmd id, ISPHDEC1_DynamicParams *params, ISPHDEC1_Status *status)

Control behavior of an algorithm.

Parameters:
[in] handle Handle to an algorithm instance.
[in] id Command id. See XDM_CmdId.
[in] params Dynamic parameters. This is a required parameter.
[out] status Output results. This is a required parameter.
Precondition:
handle must be a valid algorithm instance handle.

params must not be NULL, and must point to a valid ISPHDEC1_DynamicParams structure.

status must not be NULL, and must point to a valid ISPHDEC1_Status structure.

If a buffer is provided in the status->data field, it must be physically contiguous and owned by the calling application.

Postcondition:
The algorithm must not modify the contents of params. That is, the data pointed to by this parameter must be treated as read-only.

If a buffer was provided in the status->data field, it is owned by the calling application.

Return values:
ISPHDEC1_EOK Success.
ISPHDEC1_EFAIL General failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions.
ISPHDEC1_EUNSUPPORTED Request is unsupported.


The documentation for this struct was generated from the following file:
Copyright 2009, Texas Instruments Incorporated