OMX_Core.h File Reference

Include dependency graph for OMX_Core.h:

Go to the source code of this file.

Data Structures

struct  OMX_COMPONENTREGISTERTYPE
struct  OMX_PRIORITYMGMTTYPE
struct  OMX_PARAM_COMPONENTROLETYPE
struct  OMX_BUFFERHEADERTYPE
struct  OMX_OTHER_EXTRADATATYPE
struct  OMX_PORT_PARAM_TYPE
struct  OMX_CALLBACKTYPE
struct  OMX_PARAM_BUFFERSUPPLIERTYPE
 buffer supplier parameter More...
struct  OMX_TUNNELSETUPTYPE
 The OMX_TUNNELSETUPTYPE structure is used to pass data from an output port to an input port as part the two ComponentTunnelRequest calls resulting from a OMX_SetupTunnel call from the IL Client. More...

Defines

#define OMX_MAX_STRINGNAME_SIZE   128
#define OMX_BUFFERFLAG_EOS   0x00000001
 End of Stream Buffer Flag:.
#define OMX_BUFFERFLAG_STARTTIME   0x00000002
 Start Time Buffer Flag:.
#define OMX_BUFFERFLAG_DECODEONLY   0x00000004
 Decode Only Buffer Flag:.
#define OMX_BUFFERFLAG_DATACORRUPT   0x00000008
#define OMX_BUFFERFLAG_ENDOFFRAME   0x00000010
#define OMX_BUFFERFLAG_SYNCFRAME   0x00000020
#define OMX_BUFFERFLAG_EXTRADATA   0x00000040
#define OMX_BUFFERFLAG_CODECCONFIG   0x00000080
 Codec Config Buffer Flag: OMX_BUFFERFLAG_CODECCONFIG is an optional flag that is set by an output port when all bytes in the buffer form part or all of a set of codec specific configuration data.
#define OMX_PORTTUNNELFLAG_READONLY   0x00000001
#define OMX_GetComponentVersion(hComponent,pComponentName,pComponentVersion,pSpecVersion,pComponentUUID)
 GetComponentVersion will return information about the component.
#define OMX_SendCommand(hComponent,Cmd,nParam,pCmdData)
 Send a command to the component.
#define OMX_GetParameter(hComponent,nParamIndex,pComponentParameterStructure)
 The OMX_GetParameter macro will get one of the current parameter settings from the component.
#define OMX_SetParameter(hComponent,nParamIndex,pComponentParameterStructure)
 The OMX_SetParameter macro will send an initialization parameter structure to a component.
#define OMX_GetConfig(hComponent,nConfigIndex,pComponentConfigStructure)
 The OMX_GetConfig macro will get one of the configuration structures from a component.
#define OMX_SetConfig(hComponent,nConfigIndex,pComponentConfigStructure)
 The OMX_SetConfig macro will send one of the configuration structures to a component.
#define OMX_GetExtensionIndex(hComponent,cParameterName,pIndexType)
 The OMX_GetExtensionIndex macro will invoke a component to translate a vendor specific configuration or parameter string into an OMX structure index.
#define OMX_GetState(hComponent,pState)
 The OMX_GetState macro will invoke the component to get the current state of the component and place the state value into the location pointed to by pState.
#define OMX_UseBuffer(hComponent,ppBufferHdr,nPortIndex,pAppPrivate,nSizeBytes,pBuffer)
 The OMX_UseBuffer macro will request that the component use a buffer (and allocate its own buffer header) already allocated by another component, or by the IL Client.
#define OMX_AllocateBuffer(hComponent,ppBuffer,nPortIndex,pAppPrivate,nSizeBytes)
 The OMX_AllocateBuffer macro will request that the component allocate a new buffer and buffer header.
#define OMX_FreeBuffer(hComponent,nPortIndex,pBuffer)
 The OMX_FreeBuffer macro will release a buffer header from the component which was allocated using either OMX_AllocateBuffer or OMX_UseBuffer.
#define OMX_EmptyThisBuffer(hComponent,pBuffer)
 The OMX_EmptyThisBuffer macro will send a buffer full of data to an input port of a component.
#define OMX_FillThisBuffer(hComponent,pBuffer)
 The OMX_FillThisBuffer macro will send an empty buffer to an output port of a component.
#define OMX_UseEGLImage(hComponent,ppBufferHdr,nPortIndex,pAppPrivate,eglImage)
 The OMX_UseEGLImage macro will request that the component use a EGLImage provided by EGL (and allocate its own buffer header) This is a blocking call.

Typedefs

typedef OMX_ERRORTYPE(* OMX_COMPONENTINITTYPE )(OMX_IN OMX_HANDLETYPE hComponent)

Enumerations

enum  OMX_COMMANDTYPE {
  OMX_CommandStateSet, OMX_CommandFlush, OMX_CommandPortDisable, OMX_CommandPortEnable,
  OMX_CommandMarkBuffer, OMX_CommandKhronosExtensions = 0x6F000000, OMX_CommandVendorStartUnused = 0x7F000000, OMX_CommandMax = 0X7FFFFFFF
}
 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. More...
enum  OMX_STATETYPE {
  OMX_StateInvalid, OMX_StateLoaded, OMX_StateIdle, OMX_StateExecuting,
  OMX_StatePause, OMX_StateWaitForResources, OMX_StateKhronosExtensions = 0x6F000000, OMX_StateVendorStartUnused = 0x7F000000,
  OMX_StateMax = 0X7FFFFFFF
}
 The OMX_STATETYPE enumeration is used to indicate or change the component state. More...
enum  OMX_ERRORTYPE {
  OMX_ErrorNone = 0, OMX_ErrorInsufficientResources = (OMX_S32) 0x80001000, OMX_ErrorUndefined = (OMX_S32) 0x80001001, OMX_ErrorInvalidComponentName = (OMX_S32) 0x80001002,
  OMX_ErrorComponentNotFound = (OMX_S32) 0x80001003, OMX_ErrorInvalidComponent = (OMX_S32) 0x80001004, OMX_ErrorBadParameter = (OMX_S32) 0x80001005, OMX_ErrorNotImplemented = (OMX_S32) 0x80001006,
  OMX_ErrorUnderflow = (OMX_S32) 0x80001007, OMX_ErrorOverflow = (OMX_S32) 0x80001008, OMX_ErrorHardware = (OMX_S32) 0x80001009, OMX_ErrorInvalidState = (OMX_S32) 0x8000100A,
  OMX_ErrorStreamCorrupt = (OMX_S32) 0x8000100B, OMX_ErrorPortsNotCompatible = (OMX_S32) 0x8000100C, OMX_ErrorResourcesLost = (OMX_S32) 0x8000100D, OMX_ErrorNoMore = (OMX_S32) 0x8000100E,
  OMX_ErrorVersionMismatch = (OMX_S32) 0x8000100F, OMX_ErrorNotReady = (OMX_S32) 0x80001010, OMX_ErrorTimeout = (OMX_S32) 0x80001011, OMX_ErrorSameState = (OMX_S32) 0x80001012,
  OMX_ErrorResourcesPreempted = (OMX_S32) 0x80001013, OMX_ErrorPortUnresponsiveDuringAllocation = (OMX_S32) 0x80001014, OMX_ErrorPortUnresponsiveDuringDeallocation = (OMX_S32) 0x80001015, OMX_ErrorPortUnresponsiveDuringStop = (OMX_S32) 0x80001016,
  OMX_ErrorIncorrectStateTransition = (OMX_S32) 0x80001017, OMX_ErrorIncorrectStateOperation = (OMX_S32) 0x80001018, OMX_ErrorUnsupportedSetting = (OMX_S32) 0x80001019, OMX_ErrorUnsupportedIndex = (OMX_S32) 0x8000101A,
  OMX_ErrorBadPortIndex = (OMX_S32) 0x8000101B, OMX_ErrorPortUnpopulated = (OMX_S32) 0x8000101C, OMX_ErrorComponentSuspended = (OMX_S32) 0x8000101D, OMX_ErrorDynamicResourcesUnavailable = (OMX_S32) 0x8000101E,
  OMX_ErrorMbErrorsInFrame = (OMX_S32) 0x8000101F, OMX_ErrorFormatNotDetected = (OMX_S32) 0x80001020, OMX_ErrorContentPipeOpenFailed = (OMX_S32) 0x80001021, OMX_ErrorContentPipeCreationFailed = (OMX_S32) 0x80001022,
  OMX_ErrorSeperateTablesUsed = (OMX_S32) 0x80001023, OMX_ErrorTunnelingUnsupported = (OMX_S32) 0x80001024, OMX_ErrorKhronosExtensions = (OMX_S32)0x8F000000, OMX_ErrorVendorStartUnused = (OMX_S32)0x90000000,
  OMX_ErrorMax = 0x7FFFFFFF
}
 The OMX_ERRORTYPE enumeration defines the standard OMX Errors. More...
enum  OMX_EXTRADATATYPE {
  OMX_ExtraDataNone = 0, OMX_ExtraDataQuantization, OMX_ExtraDataKhronosExtensions = 0x6F000000, OMX_ExtraDataVendorStartUnused = 0x7F000000,
  OMX_ExtraDataMax = 0x7FFFFFFF
}
 The OMX_EXTRADATATYPE enumeration is used to define the possible extra data payload types. More...
enum  OMX_EVENTTYPE {
  OMX_EventCmdComplete, OMX_EventError, OMX_EventMark, OMX_EventPortSettingsChanged,
  OMX_EventBufferFlag, OMX_EventResourcesAcquired, OMX_EventComponentResumed, OMX_EventDynamicResourcesAvailable,
  OMX_EventPortFormatDetected, OMX_EventKhronosExtensions = 0x6F000000, OMX_EventVendorStartUnused = 0x7F000000, OMX_EventMax = 0x7FFFFFFF
}
enum  OMX_BUFFERSUPPLIERTYPE {
  OMX_BufferSupplyUnspecified = 0x0, OMX_BufferSupplyInput, OMX_BufferSupplyOutput, OMX_BufferSupplyKhronosExtensions = 0x6F000000,
  OMX_BufferSupplyVendorStartUnused = 0x7F000000, OMX_BufferSupplyMax = 0x7FFFFFFF
}
 The OMX_BUFFERSUPPLIERTYPE enumeration is used to dictate port supplier preference when tunneling between two ports. More...

Functions

OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init (void)
 The OMX_Init method is used to initialize the OMX core.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Deinit (void)
 The OMX_Deinit method is used to deinitialize the OMX core.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_ComponentNameEnum (OMX_OUT OMX_STRING cComponentName, OMX_IN OMX_U32 nNameLength, OMX_IN OMX_U32 nIndex)
 The OMX_ComponentNameEnum method will enumerate through all the names of recognised valid components in the system.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_GetHandle (OMX_OUT OMX_HANDLETYPE *pHandle, OMX_IN OMX_STRING cComponentName, OMX_IN OMX_PTR pAppData, OMX_IN OMX_CALLBACKTYPE *pCallBacks)
 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.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_FreeHandle (OMX_IN OMX_HANDLETYPE hComponent)
 The OMX_FreeHandle method will free a handle allocated by the OMX_GetHandle method.
OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_SetupTunnel (OMX_IN OMX_HANDLETYPE hOutput, OMX_IN OMX_U32 nPortOutput, OMX_IN OMX_HANDLETYPE hInput, OMX_IN OMX_U32 nPortInput)
 The OMX_SetupTunnel method will handle the necessary calls to the components to setup the specified tunnel the two components.
OMX_API OMX_ERRORTYPE OMX_GetContentPipe (OMX_OUT OMX_HANDLETYPE *hPipe, OMX_IN OMX_STRING szURI)
OMX_API OMX_ERRORTYPE OMX_GetComponentsOfRole (OMX_IN OMX_STRING role, OMX_INOUT OMX_U32 *pNumComps, OMX_INOUT OMX_U8 **compNames)
 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.
OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent (OMX_IN OMX_STRING compName, OMX_INOUT OMX_U32 *pNumRoles, OMX_OUT OMX_U8 **roles)
 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.

Variables

OMX_COMPONENTREGISTERTYPE OMX_ComponentRegistered []


Define Documentation

#define OMX_BUFFERFLAG_DATACORRUPT   0x00000008

#define OMX_BUFFERFLAG_ENDOFFRAME   0x00000010

Referenced by DecodeVideo(), and EncodeVideo().

#define OMX_BUFFERFLAG_EXTRADATA   0x00000040

#define OMX_BUFFERFLAG_SYNCFRAME   0x00000020

#define OMX_MAX_STRINGNAME_SIZE   128

#define OMX_PORTTUNNELFLAG_READONLY   0x00000001


Enumeration Type Documentation

The OMX_ERRORTYPE enumeration defines the standard OMX Errors.

These errors should cover most of the common failure cases. However, vendors are free to add additional error messages of their own as long as they follow these rules: 1. Vendor error messages shall be in the range of 0x90000000 to 0x9000FFFF. 2. Vendor error messages shall be defined in a header file provided with the component. No error messages are allowed that are not defined.

Enumerator:
OMX_ErrorNone 
OMX_ErrorInsufficientResources  There were insufficient resources to perform the requested operation.
OMX_ErrorUndefined  There was an error, but the cause of the error could not be determined.
OMX_ErrorInvalidComponentName  The component name string was not valid.
OMX_ErrorComponentNotFound  No component with the specified name string was found.
OMX_ErrorInvalidComponent  The component specified did not have a "OMX_ComponentInit" or "OMX_ComponentDeInit entry point.
OMX_ErrorBadParameter  One or more parameters were not valid.
OMX_ErrorNotImplemented  The requested function is not implemented.
OMX_ErrorUnderflow  The buffer was emptied before the next buffer was ready.
OMX_ErrorOverflow  The buffer was not available when it was needed.
OMX_ErrorHardware  The hardware failed to respond as expected.
OMX_ErrorInvalidState  The component is in the state OMX_StateInvalid.
OMX_ErrorStreamCorrupt  Stream is found to be corrupt.
OMX_ErrorPortsNotCompatible  Ports being connected are not compatible.
OMX_ErrorResourcesLost  Resources allocated to an idle component have been lost resulting in the component returning to the loaded state.
OMX_ErrorNoMore  No more indicies can be enumerated.
OMX_ErrorVersionMismatch  The component detected a version mismatch.
OMX_ErrorNotReady  The component is not ready to return data at this time.
OMX_ErrorTimeout  There was a timeout that occurred.
OMX_ErrorSameState  This error occurs when trying to transition into the state you are already in.
OMX_ErrorResourcesPreempted  Resources allocated to an executing or paused component have been preempted, causing the component to return to the idle state.
OMX_ErrorPortUnresponsiveDuringAllocation  A non-supplier port sends this error to the IL client (via the EventHandler callback) during the allocation of buffers (on a transition from the LOADED to the IDLE state or on a port restart) when it deems that it has waited an unusually long time for the supplier to send it an allocated buffer via a UseBuffer call.

OMX_ErrorPortUnresponsiveDuringDeallocation  A non-supplier port sends this error to the IL client (via the EventHandler callback) during the deallocation of buffers (on a transition from the IDLE to LOADED state or on a port stop) when it deems that it has waited an unusually long time for the supplier to request the deallocation of a buffer header via a FreeBuffer call.

OMX_ErrorPortUnresponsiveDuringStop  A supplier port sends this error to the IL client (via the EventHandler callback) during the stopping of a port (either on a transition from the IDLE to LOADED state or a port stop) when it deems that it has waited an unusually long time for the non-supplier to return a buffer via an EmptyThisBuffer or FillThisBuffer call.

OMX_ErrorIncorrectStateTransition  Attempting a state transtion that is not allowed.
OMX_ErrorIncorrectStateOperation 
OMX_ErrorUnsupportedSetting  The values encapsulated in the parameter or config structure are not supported.

OMX_ErrorUnsupportedIndex  The parameter or config indicated by the given index is not supported.

OMX_ErrorBadPortIndex  The port index supplied is incorrect.

OMX_ErrorPortUnpopulated  The port has lost one or more of its buffers and it thus unpopulated.

OMX_ErrorComponentSuspended  Component suspended due to temporary loss of resources.
OMX_ErrorDynamicResourcesUnavailable  Component suspended due to an inability to acquire dynamic resources.
OMX_ErrorMbErrorsInFrame  When the macroblock error reporting is enabled the component returns new error for every frame that has errors.
OMX_ErrorFormatNotDetected  A component reports this error when it cannot parse or determine the format of an input stream.

OMX_ErrorContentPipeOpenFailed  The content open operation failed.

OMX_ErrorContentPipeCreationFailed  The content creation operation failed.

OMX_ErrorSeperateTablesUsed  Separate table information is being used.
OMX_ErrorTunnelingUnsupported  Tunneling is unsupported by the component.
OMX_ErrorKhronosExtensions  Reserved region for introducing Khronos Standard Extensions.
OMX_ErrorVendorStartUnused  Reserved region for introducing Vendor Extensions.
OMX_ErrorMax 

The OMX_EXTRADATATYPE enumeration is used to define the possible extra data payload types.

NB: this enum is binary backwards compatible with the previous OMX_EXTRADATA_QUANT define. This should be replaced with OMX_ExtraDataQuantization.

Enumerator:
OMX_ExtraDataNone  Indicates that no more extra data sections follow.
OMX_ExtraDataQuantization  The data payload contains quantization data.
OMX_ExtraDataKhronosExtensions  Reserved region for introducing Khronos Standard Extensions.
OMX_ExtraDataVendorStartUnused  Reserved region for introducing Vendor Extensions.
OMX_ExtraDataMax 


Generated on Tue May 25 08:05:13 2010 for VLC by  doxygen 1.5.6