#include <iuniversal.h>
Collaboration diagram for IUNIVERSAL_Fxns:
Data Fields | |
IALG_Fxns | ialg |
XDAS_Int32(* | process )(IUNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs) |
Basic audio decoding call. | |
XDAS_Int32(* | control )(IUNIVERSAL_Handle handle, IUNIVERSAL_Cmd id, IUNIVERSAL_DynamicParams *params, IUNIVERSAL_Status *status) |
Control behaviour of an algorithm. |
XDAS_Int32(* IUNIVERSAL_Fxns::process)(IUNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs) |
Basic audio decoding call.
[in] | handle | Handle to an algorithm instance. |
[in,out] | inBufs | Input buffer descriptors. |
[in,out] | outBufs | Output buffer descriptors. |
[in,out] | inOutBufs | Input/Output buffer descriptors. |
[in] | inArgs | Input arguments. This is a required parameter. |
[out] | outArgs | Ouput results. This is a required parameter. |
handle
must be a valid algorithm instance handle.
inArgs
must not be NULL, and must point to a valid IUNIVERSAL_InArgs structure.
outArgs
must not be NULL, and must point to a valid IUNIVERSAL_OutArgs structure.
inBufs
must either be NULL or point to a valid XDM1_BufDesc structure.
outBufs
must either be NULL or point to a valid XDM1_BufDesc structure.
inOutBufs
must either be NULL or point to a valid XDM1_BufDesc structure.
The buffers in inBufs
, outBufs
and inOutBufs
are physically contiguous and owned by the calling application.
inArgs
.
The algorithm must not modify the contents of inBufs
, with the exception of inBufs.descs
[].accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.
The algorithm must appropriately set/clear the XDM1_BufDesc::descs
[].accessMask field in inBufs
, outBufs
, and inOutBufs
. For example, if the algorithm only read from inBufs.descs
[0].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 inBufs
, outBufs
, and inOutBufs
are owned by the calling application.
IUNIVERSAL_EOK | Success. | |
IUNIVERSAL_EFAIL | General failure. See IUNIVERSAL_Status::extendedError for more detailed further error conditions. | |
IUNIVERSAL_EUNSUPPORTED | Request is unsupported. |
XDAS_Int32(* IUNIVERSAL_Fxns::control)(IUNIVERSAL_Handle handle, IUNIVERSAL_Cmd id, IUNIVERSAL_DynamicParams *params, IUNIVERSAL_Status *status) |
Control behaviour of an algorithm.
[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. |
handle
must be a valid algorithm instance handle.
params
must not be NULL, and must point to a valid IUNIVERSAL_DynamicParams structure.
status
must not be NULL, and must point to a valid IUNIVERSAL_Status structure.
If a buffer is provided in the status->data
field, it must be physically contiguous and owned by the calling application.
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.
IUNIVERSAL_EOK | Success. | |
IUNIVERSAL_EFAIL | General failure. See IUNIVERSAL_Status::extendedError for more detailed further error conditions. | |
IUNIVERSAL_EUNSUPPORTED | Request is unsupported. |