OpenMAX Bellagio 0.9.3
OpenMAX IL core

Topics

 Tunneling
 Content Pipes

Data Structures

struct  OMX_COMPONENTREGISTERTYPE

Typedefs

typedef enum OMX_COMMANDTYPE OMX_COMMANDTYPE
typedef OMX_ERRORTYPE(* OMX_COMPONENTINITTYPE) (OMX_HANDLETYPE hComponent)
typedef struct OMX_COMPONENTREGISTERTYPE OMX_COMPONENTREGISTERTYPE

Enumerations

enum  OMX_COMMANDTYPE {
  OMX_CommandStateSet , OMX_CommandFlush , OMX_CommandPortDisable , OMX_CommandPortEnable ,
  OMX_CommandMarkBuffer , OMX_CommandKhronosExtensions = 0x6F000000 , OMX_CommandVendorStartUnused = 0x7F000000 , OMX_CommandMax = 0X7FFFFFFF
}

Functions

OMX_ERRORTYPE OMX_Init (void)
 The OMX_Init standard function.
OMX_ERRORTYPE OMX_Deinit (void)
 The OMX_Deinit standard function.
OMX_ERRORTYPE OMX_ComponentNameEnum (OMX_STRING cComponentName, OMX_U32 nNameLength, OMX_U32 nIndex)
 the OMX_ComponentNameEnum standard function
OMX_ERRORTYPE OMX_GetHandle (OMX_HANDLETYPE *pHandle, OMX_STRING cComponentName, OMX_PTR pAppData, OMX_CALLBACKTYPE *pCallBacks)
 the OMX_GetHandle standard function
OMX_ERRORTYPE OMX_FreeHandle (OMX_HANDLETYPE hComponent)
 The OMX_FreeHandle standard function.
OMX_ERRORTYPE OMX_GetComponentsOfRole (OMX_STRING role, OMX_U32 *pNumComps, OMX_U8 **compNames)
 the OMX_GetComponentsOfRole standard function
OMX_ERRORTYPE OMX_GetRolesOfComponent (OMX_STRING compName, OMX_U32 *pNumRoles, OMX_U8 **roles)
 the OMX_GetRolesOfComponent standard function

Variables

OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered []

Detailed Description

In the following we define groups that help building doxygen documentation

Functions and structure related to the OMX IL core

Typedef Documentation

◆ OMX_COMMANDTYPE

OMX_Core.h - OpenMax IL version 1.1.2 The OMX_Core header file contains the definitions used by both the application and the component to access common items. The OMX_COMMANDTYPE enumeration is used to specify the action in the OMX_SendCommand macro.

◆ OMX_COMPONENTINITTYPE

typedef OMX_ERRORTYPE(* OMX_COMPONENTINITTYPE) (OMX_HANDLETYPE hComponent)

Definition at line 260 of file OMX_Core.h.

◆ OMX_COMPONENTREGISTERTYPE

typedef struct OMX_COMPONENTREGISTERTYPE OMX_COMPONENTREGISTERTYPE

Enumeration Type Documentation

◆ OMX_COMMANDTYPE

OMX_Core.h - OpenMax IL version 1.1.2 The OMX_Core header file contains the definitions used by both the application and the component to access common items. The OMX_COMMANDTYPE enumeration is used to specify the action in the OMX_SendCommand macro.

Enumerator
OMX_CommandStateSet 

Change the component state

OMX_CommandFlush 

Flush the data queue(s) of a component

OMX_CommandPortDisable 

Disable a port on a component.

OMX_CommandPortEnable 

Enable a port on a component.

OMX_CommandMarkBuffer 

Mark a component/buffer for observation

OMX_CommandKhronosExtensions 

Reserved region for introducing Khronos Standard Extensions

OMX_CommandVendorStartUnused 

Reserved region for introducing Vendor Extensions

OMX_CommandMax 

Definition at line 49 of file OMX_Core.h.

Function Documentation

◆ OMX_ComponentNameEnum()

OMX_ERRORTYPE OMX_ComponentNameEnum ( OMX_STRING cComponentName,
OMX_U32 nNameLength,
OMX_U32 nIndex )
extern

the OMX_ComponentNameEnum standard function

The OMX_ComponentNameEnum method will enumerate through all the names of recognised valid components in the system. This function is provided as a means to detect all the components in the system run-time. There is no strict ordering to the enumeration order of component names, although each name will only be enumerated once. If the OMX core supports run-time installation of new components, it is only requried to detect newly installed components when the first call to enumerate component names is made (i.e. when nIndex is 0x0).

The core should return from this call in 20 msec.

Parameters
[out]cComponentNamepointer to a null terminated string with the component name. The names of the components are strings less than 127 bytes in length plus the trailing null for a maximum size of 128 bytes. An example of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are assigned by the vendor, but shall start with "OMX." and then have the Vendor designation next.
[in]nNameLengthnumber of characters in the cComponentName string. With all component name strings restricted to less than 128 characters (including the trailing null) it is recomended that the caller provide a input string for the cComponentName of 128 characters.
[in]nIndexnumber containing the enumeration index for the component. Multiple calls to OMX_ComponentNameEnum with increasing values of nIndex will enumerate through the component names in the system until OMX_ErrorNoMore is returned. The value of nIndex is 0 to (N-1), where N is the number of valid installed components in the system.
Returns
OMX_ERRORTYPE If the command successfully executes, the return code will be OMX_ErrorNone. When the value of nIndex exceeds the number of components in the system minus 1, OMX_ErrorNoMore will be returned. Otherwise the appropriate OMX error will be returned.

This function build a complete list of names from all the loaders. For each loader the index is from 0 to max, but this function must provide a single list, with a common index. This implementation orders the loaders and the related list of components.

Definition at line 216 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorNoMore, OMX_ErrorNone, and OSCL_EXPORT_REF.

◆ OMX_Deinit()

OMX_ERRORTYPE OMX_Deinit ( void )
extern

The OMX_Deinit standard function.

The OMX_Deinit method is used to deinitialize the OMX core. It shall be the last call made into OMX. In the event that the core determines that thare are components loaded when this call is made, the core may return with an error rather than try to unload the components.

The core should return from this call within 20 msec.

Returns
OMX_ERRORTYPE If the command successfully executes, the return code will be OMX_ErrorNone. Otherwise the appropriate OMX error will be returned.

In this function the Deinit function for each component loader is performed

Definition at line 123 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, loadersList, OMX_ErrorNone, and OSCL_EXPORT_REF.

Referenced by main().

◆ OMX_FreeHandle()

OMX_ERRORTYPE OMX_FreeHandle ( OMX_HANDLETYPE hComponent)
extern

The OMX_FreeHandle standard function.

The OMX_FreeHandle method will free a handle allocated by the OMX_GetHandle method. If the component reference count goes to zero, the component will be unloaded from memory.

The core should return from this call within 20 msec when the component is in the OMX_StateLoaded state.

Parameters
[in]hComponentHandle of the component to be accessed. This is the component handle returned by the call to the GetHandle function.
Returns
OMX_ERRORTYPE If the command successfully executes, the return code will be OMX_ErrorNone. Otherwise the appropriate OMX error will be returned.

This function executes the BOSA_DestroyComponent of the component loaders

Parameters
hComponentthe component handle to be freed
Returns
The error of the BOSA_DestroyComponent function or OMX_ErrorNone

Definition at line 190 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorComponentNotFound, OMX_ErrorNone, and OSCL_EXPORT_REF.

Referenced by main().

◆ OMX_GetComponentsOfRole()

OMX_ERRORTYPE OMX_GetComponentsOfRole ( OMX_STRING role,
OMX_U32 * pNumComps,
OMX_U8 ** compNames )
extern

the OMX_GetComponentsOfRole standard function

The OMX_GetComponentsOfRole method will return the number of components that support the given role and (if the compNames field is non-NULL) the names of those components. The call will fail if an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the client should: first call this function with the compNames field NULL to determine the number of component names second call this function with the compNames field pointing to an array of names allocated according to the number returned by the first call.

The core should return from this call within 5 msec.

Parameters
[in]roleThis is generic standard component name consisting only of component class name and the type within that class (e.g. 'audio_decoder.aac').
[in,out]pNumCompsThis is used both as input and output.

If compNames is NULL, the input is ignored and the output specifies how many components support the given role.

If compNames is not NULL, on input it bounds the size of the input structure and on output, it specifies the number of components string names listed within the compNames parameter.

Parameters
[in,out]compNamesIf NULL this field is ignored. If non-NULL this points to an array of 128-byte strings which accepts a list of the names of all physical components that implement the specified standard component name. Each name is NULL terminated. numComps indicates the number of names.

This function searches in all the component loaders any component supporting the requested role

Parameters
roleSee spec
pNumCompsSee spec
compNamesSee spec

Definition at line 358 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorComponentNotFound, OMX_ErrorNone, OMX_MAX_STRINGNAME_SIZE, and OSCL_EXPORT_REF.

◆ OMX_GetHandle()

OMX_ERRORTYPE OMX_GetHandle ( OMX_HANDLETYPE * pHandle,
OMX_STRING cComponentName,
OMX_PTR pAppData,
OMX_CALLBACKTYPE * pCallBacks )
extern

the OMX_GetHandle standard function

The OMX_GetHandle method will locate the component specified by the component name given, load that component into memory and then invoke the component's methods to create an instance of the component.

The core should return from this call within 20 msec.

Parameters
[out]pHandlepointer to an OMX_HANDLETYPE pointer to be filled in by this method.
[in]cComponentNamepointer to a null terminated string with the component name. The names of the components are strings less than 127 bytes in length plus the trailing null for a maximum size of 128 bytes. An example of a valid component name is "OMX.TI.AUDIO.DSP.MIXER\0". Names are assigned by the vendor, but shall start with "OMX." and then have the Vendor designation next.
[in]pAppDatapointer to an application defined value that will be returned during callbacks so that the application can identify the source of the callback.
[in]pCallBackspointer to a OMX_CALLBACKTYPE structure that will be passed to the component to initialize it with.
Returns
OMX_ERRORTYPE If the command successfully executes, the return code will be OMX_ErrorNone. Otherwise the appropriate OMX error will be returned.

This function will scan inside any component loader to search for the requested component. If there are more components with the same name the first component is returned. The existence of multiple components with the same name is not contemplated in OpenMAX specification. The assumption is that this behavior is NOT allowed.

Returns
OMX_ErrorNone if a component has been found OMX_ErrorComponentNotFound if the requested component has not been found in any loader

Definition at line 153 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorComponentNotFound, OMX_ErrorInsufficientResources, OMX_ErrorNone, and OSCL_EXPORT_REF.

Referenced by main().

◆ OMX_GetRolesOfComponent()

OMX_ERRORTYPE OMX_GetRolesOfComponent ( OMX_STRING compName,
OMX_U32 * pNumRoles,
OMX_U8 ** roles )
extern

the OMX_GetRolesOfComponent standard function

The OMX_GetRolesOfComponent method will return the number of roles supported by the given component and (if the roles field is non-NULL) the names of those roles. The call will fail if an insufficiently sized array of names is supplied. To ensure the array is sufficiently sized the client should: first call this function with the roles field NULL to determine the number of role names second call this function with the roles field pointing to an array of names allocated according to the number returned by the first call.

The core should return from this call within 5 msec.

Parameters
[in]compNameThis is the name of the component being queried about.
[in,out]pNumRolesThis is used both as input and output.

If roles is NULL, the input is ignored and the output specifies how many roles the component supports.

If compNames is not NULL, on input it bounds the size of the input structure and on output, it specifies the number of roles string names listed within the roles parameter.

Parameters
[out]rolesIf NULL this field is ignored. If non-NULL this points to an array of 128-byte strings which accepts a list of the names of all standard components roles implemented on the specified component name. numComps indicates the number of names.

Definition at line 326 of file omxcore.c.

References DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorComponentNotFound, OMX_ErrorNone, and OSCL_EXPORT_REF.

◆ OMX_Init()

OMX_ERRORTYPE OMX_Init ( void )
extern

The OMX_Init standard function.

The OMX_Init method is used to initialize the OMX core. It shall be the first call made into OMX and it should only be executed one time without an interviening OMX_Deinit call.

The core should return from this call within 20 msec.

Returns
OMX_ERRORTYPE If the command successfully executes, the return code will be OMX_ErrorNone. Otherwise the appropriate OMX error will be returned.

This function calls the init function of each component loader added. If there is no component loaders present, the ST default component loader (static libraries) is loaded as default component loader.

Returns
OMX_ErrorNone

Definition at line 94 of file omxcore.c.

References createComponentLoaders(), DEB_LEV_ERR, DEB_LEV_FUNCTION_NAME, DEBUG, err, loadersList, OMX_ErrorInsufficientResources, OMX_ErrorNone, and OSCL_EXPORT_REF.

Referenced by main().

Variable Documentation

◆ OMX_ComponentRegistered

OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered[]
extern

Generated for OpenMAX Bellagio rel. 0.9.3 by  doxygen 1.5.1
SourceForge.net Logo