OpenMAX Bellagio  0.9.3
OMX_Component.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008 The Khronos Group Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining
5  * a copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject
10  * to the following conditions:
11  * The above copyright notice and this permission notice shall be included
12  * in all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  *
22  */
23 
30 #ifndef OMX_Component_h
31 #define OMX_Component_h
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif /* __cplusplus */
36 
37 
38 
39 /* Each OMX header must include all required header files to allow the
40  * header to compile without errors. The includes below are required
41  * for this header file to compile successfully
42  */
43 
44 #include <OMX_Audio.h>
45 #include <OMX_Video.h>
46 #include <OMX_Image.h>
47 #include <OMX_Other.h>
48 
50 typedef enum OMX_PORTDOMAINTYPE {
57  OMX_PortDomainMax = 0x7ffffff
59 
78  union {
83  } format;
87 
89 typedef struct OMX_PARAM_U32TYPE {
95 
102  OMX_SuspensionPolicyMax = 0x7fffffff
104 
111 
113 typedef enum OMX_SUSPENSIONTYPE {
118  OMX_SuspendMax = 0x7FFFFFFF
120 
122 typedef struct OMX_PARAM_SUSPENSIONTYPE {
127 
128 typedef struct OMX_CONFIG_BOOLEANTYPE {
133 
134 /* Parameter specifying the content uri to use. */
137 {
143 
144 /* Parameter specifying the pipe to use. */
147 {
152 
162 
163 
202  OMX_MetadataCharsetTypeMax= 0x7FFFFFFF
204 
207 {
214  OMX_MetadataScopeTypeMax = 0x7fffffff
216 
219 {
225  OMX_MetadataSearchTypeMax = 0x7fffffff
229 {
236 
239 {
248  OMX_U8 nKey[128];
255 
256 /* @ingroup metadata */
258 {
265 
268 {
278 
281 {
284  OMX_BOOL bAllKeys; /* if true then this structure refers to all keys and
285  * the three key fields below are ignored */
288  OMX_U8 nKey [128];
291  OMX_BOOL bEnabled; /* if true then key is part of filter (e.g.
292  * retained for query later). If false then
293  * key is not part of filter */
295 
307 typedef struct OMX_COMPONENTTYPE
308 {
314 
321 
327 
333 
338  OMX_IN OMX_HANDLETYPE hComponent,
339  OMX_OUT OMX_STRING pComponentName,
340  OMX_OUT OMX_VERSIONTYPE* pComponentVersion,
341  OMX_OUT OMX_VERSIONTYPE* pSpecVersion,
342  OMX_OUT OMX_UUIDTYPE* pComponentUUID);
343 
348  OMX_IN OMX_HANDLETYPE hComponent,
350  OMX_IN OMX_U32 nParam1,
351  OMX_IN OMX_PTR pCmdData);
352 
357  OMX_IN OMX_HANDLETYPE hComponent,
358  OMX_IN OMX_INDEXTYPE nParamIndex,
359  OMX_INOUT OMX_PTR pComponentParameterStructure);
360 
361 
366  OMX_IN OMX_HANDLETYPE hComponent,
367  OMX_IN OMX_INDEXTYPE nIndex,
368  OMX_IN OMX_PTR pComponentParameterStructure);
369 
370 
375  OMX_IN OMX_HANDLETYPE hComponent,
376  OMX_IN OMX_INDEXTYPE nIndex,
377  OMX_INOUT OMX_PTR pComponentConfigStructure);
378 
379 
384  OMX_IN OMX_HANDLETYPE hComponent,
385  OMX_IN OMX_INDEXTYPE nIndex,
386  OMX_IN OMX_PTR pComponentConfigStructure);
387 
388 
393  OMX_IN OMX_HANDLETYPE hComponent,
394  OMX_IN OMX_STRING cParameterName,
395  OMX_OUT OMX_INDEXTYPE* pIndexType);
396 
397 
402  OMX_IN OMX_HANDLETYPE hComponent,
403  OMX_OUT OMX_STATETYPE* pState);
404 
405 
468  OMX_IN OMX_HANDLETYPE hComp,
469  OMX_IN OMX_U32 nPort,
470  OMX_IN OMX_HANDLETYPE hTunneledComp,
471  OMX_IN OMX_U32 nTunneledPort,
472  OMX_INOUT OMX_TUNNELSETUPTYPE* pTunnelSetup);
473 
479  OMX_IN OMX_HANDLETYPE hComponent,
480  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
481  OMX_IN OMX_U32 nPortIndex,
482  OMX_IN OMX_PTR pAppPrivate,
483  OMX_IN OMX_U32 nSizeBytes,
484  OMX_IN OMX_U8* pBuffer);
485 
491  OMX_IN OMX_HANDLETYPE hComponent,
492  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer,
493  OMX_IN OMX_U32 nPortIndex,
494  OMX_IN OMX_PTR pAppPrivate,
495  OMX_IN OMX_U32 nSizeBytes);
496 
502  OMX_IN OMX_HANDLETYPE hComponent,
503  OMX_IN OMX_U32 nPortIndex,
504  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
505 
511  OMX_IN OMX_HANDLETYPE hComponent,
512  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
513 
519  OMX_IN OMX_HANDLETYPE hComponent,
520  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
521 
541  OMX_IN OMX_HANDLETYPE hComponent,
542  OMX_IN OMX_CALLBACKTYPE* pCallbacks,
543  OMX_IN OMX_PTR pAppData);
544 
557  OMX_IN OMX_HANDLETYPE hComponent);
558 
561  OMX_IN OMX_HANDLETYPE hComponent,
562  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
563  OMX_IN OMX_U32 nPortIndex,
564  OMX_IN OMX_PTR pAppPrivate,
565  OMX_IN void* eglImage);
566 
568  OMX_IN OMX_HANDLETYPE hComponent,
569  OMX_OUT OMX_U8 *cRole,
570  OMX_IN OMX_U32 nIndex);
571 
573 
574 #ifdef __cplusplus
575 }
576 #endif /* __cplusplus */
577 
578 #endif
579 /* File EOF */
struct OMX_CONFIG_CONTAINERNODECOUNTTYPE OMX_CONFIG_CONTAINERNODECOUNTTYPE
struct OMX_CONFIG_BOOLEANTYPE OMX_CONFIG_BOOLEANTYPE
OMX_ERRORTYPE
Definition: OMX_Core.h:127
OMX_INDEXTYPE
Definition: OMX_Index.h:60
unsigned long OMX_U32
Definition: OMX_Types.h:145
char * OMX_STRING
Definition: OMX_Types.h:206
unsigned char OMX_U8
Definition: OMX_Types.h:133
OMX_BOOL
Definition: OMX_Types.h:189
void * OMX_PTR
Definition: OMX_Types.h:199
void * OMX_HANDLETYPE
Definition: OMX_Types.h:295
#define OMX_IN
Definition: OMX_Types.h:75
unsigned char OMX_UUIDTYPE[128]
Definition: OMX_Types.h:219
OMX_DIRTYPE
Definition: OMX_Types.h:225
#define OMX_OUT
Definition: OMX_Types.h:82
#define OMX_INOUT
Definition: OMX_Types.h:91
OMX_ERRORTYPE(* AllocateBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBuffer, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN OMX_U32 nSizeBytes)
OMX_ERRORTYPE(* FillThisBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* FreeBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
OMX_ERRORTYPE(* UseEGLImage)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN void *eglImage)
OMX_ERRORTYPE(* UseBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_INOUT OMX_BUFFERHEADERTYPE **ppBufferHdr, OMX_IN OMX_U32 nPortIndex, OMX_IN OMX_PTR pAppPrivate, OMX_IN OMX_U32 nSizeBytes, OMX_IN OMX_U8 *pBuffer)
OMX_ERRORTYPE(* EmptyThisBuffer)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_BUFFERHEADERTYPE *pBuffer)
struct OMX_COMPONENTTYPE OMX_COMPONENTTYPE
OMX_PORTDOMAINTYPE
Definition: OMX_Component.h:50
struct OMX_PARAM_PORTDEFINITIONTYPE OMX_PARAM_PORTDEFINITIONTYPE
OMX_STATETYPE
Definition: OMX_Core.h:93
struct OMX_PARAM_U32TYPE OMX_PARAM_U32TYPE
@ OMX_PortDomainAudio
Definition: OMX_Component.h:51
@ OMX_PortDomainVideo
Definition: OMX_Component.h:52
@ OMX_PortDomainKhronosExtensions
Definition: OMX_Component.h:55
@ OMX_PortDomainMax
Definition: OMX_Component.h:57
@ OMX_PortDomainOther
Definition: OMX_Component.h:54
@ OMX_PortDomainVendorStartUnused
Definition: OMX_Component.h:56
@ OMX_PortDomainImage
Definition: OMX_Component.h:53
OMX_COMMANDTYPE
Definition: OMX_Core.h:50
struct OMX_PARAM_CONTENTURITYPE OMX_PARAM_CONTENTURITYPE
struct OMX_PARAM_CONTENTPIPETYPE OMX_PARAM_CONTENTPIPETYPE
struct OMX_CONFIG_METADATAITEMTYPE OMX_CONFIG_METADATAITEMTYPE
OMX_METADATASEARCHMODETYPE
struct OMX_CONFIG_CONTAINERNODEIDTYPE OMX_CONFIG_CONTAINERNODEIDTYPE
OMX_METADATACHARSETTYPE
struct OMX_CONFIG_METADATAITEMCOUNTTYPE OMX_CONFIG_METADATAITEMCOUNTTYPE
OMX_METADATASCOPETYPE
struct OMX_PARAM_METADATAFILTERTYPE OMX_PARAM_METADATAFILTERTYPE
@ OMX_MetadataSearchItemByIndex
@ OMX_MetadataSearchVendorStartUnused
@ OMX_MetadataSearchValueSizeByIndex
@ OMX_MetadataSearchKhronosExtensions
@ OMX_MetadataSearchTypeMax
@ OMX_MetadataSearchNextItemByKey
@ OMX_MetadataCharsetGB12345
@ OMX_MetadataCharsetBinary
@ OMX_MetadataCharsetISO88594
@ OMX_MetadataCharsetSMS7Bit
@ OMX_MetadataCharsetGB18030
@ OMX_MetadataCharsetISO2022JP
@ OMX_MetadataCharsetUTF16LE
@ OMX_MetadataCharsetISO885910
@ OMX_MetadataCharsetUnknown
@ OMX_MetadataCharsetVendorStartUnused
@ OMX_MetadataCharsetBig5
@ OMX_MetadataCharsetISO2022JP1
@ OMX_MetadataCharsetCodePage1252
@ OMX_MetadataCharsetISO885913
@ OMX_MetadataCharsetGB2312
@ OMX_MetadataCharsetUTF16BE
@ OMX_MetadataCharsetISO88598
@ OMX_MetadataCharsetImapUTF7
@ OMX_MetadataCharsetISO88593
@ OMX_MetadataCharsetISO88597
@ OMX_MetadataCharsetJavaConformantUTF8
@ OMX_MetadataCharsetISO88591
@ OMX_MetadataCharsetTypeMax
@ OMX_MetadataCharsetISO885914
@ OMX_MetadataCharsetISO885915
@ OMX_MetadataCharsetISO88592
@ OMX_MetadataCharsetISO88595
@ OMX_MetadataCharsetASCII
@ OMX_MetadataCharsetISO88599
@ OMX_MetadataCharsetISO88596
@ OMX_MetadataCharsetUTF8
@ OMX_MetadataCharsetHZGB2312
@ OMX_MetadataCharsetShiftJIS
@ OMX_MetadataCharsetKhronosExtensions
@ OMX_MetadataCharsetGBK
@ OMX_MetadataCharsetISOEUCJP
@ OMX_MetadataCharsetUTF7
@ OMX_MetadataScopePortLevel
@ OMX_MetadataScopeTypeMax
@ OMX_MetadataScopeTopLevel
@ OMX_MetadataScopeNodeLevel
@ OMX_MetadataScopeAllLevels
@ OMX_MetadataScopeKhronosExtensions
@ OMX_MetadataScopeVendorStartUnused
OMX_SUSPENSIONTYPE
OMX_SUSPENSIONPOLICYTYPE
Definition: OMX_Component.h:97
struct OMX_RESOURCECONCEALMENTTYPE OMX_RESOURCECONCEALMENTTYPE
struct OMX_PARAM_SUSPENSIONPOLICYTYPE OMX_PARAM_SUSPENSIONPOLICYTYPE
struct OMX_PARAM_SUSPENSIONTYPE OMX_PARAM_SUSPENSIONTYPE
@ OMX_NotSuspended
@ OMX_SuspendMax
@ OMX_SuspensionKhronosExtensions
@ OMX_Suspended
@ OMX_SuspensionVendorStartUnused
@ OMX_SuspensionPolicyKhronosExtensions
@ OMX_SuspensionPolicyStartUnused
@ OMX_SuspensionDisabled
Definition: OMX_Component.h:98
@ OMX_SuspensionPolicyMax
@ OMX_SuspensionEnabled
Definition: OMX_Component.h:99
OMX_ERRORTYPE(* ComponentTunnelRequest)(OMX_IN OMX_HANDLETYPE hComp, OMX_IN OMX_U32 nPort, OMX_IN OMX_HANDLETYPE hTunneledComp, OMX_IN OMX_U32 nTunneledPort, OMX_INOUT OMX_TUNNELSETUPTYPE *pTunnelSetup)
OMX_ERRORTYPE(* GetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_INOUT OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE(* SetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE(* ComponentDeInit)(OMX_IN OMX_HANDLETYPE hComponent)
OMX_ERRORTYPE(* SetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentParameterStructure)
OMX_ERRORTYPE(* GetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR pComponentParameterStructure)
OMX_VERSIONTYPE nVersion
OMX_PTR pApplicationPrivate
OMX_ERRORTYPE(* GetComponentVersion)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_STRING pComponentName, OMX_OUT OMX_VERSIONTYPE *pComponentVersion, OMX_OUT OMX_VERSIONTYPE *pSpecVersion, OMX_OUT OMX_UUIDTYPE *pComponentUUID)
OMX_ERRORTYPE(* GetExtensionIndex)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_STRING cParameterName, OMX_OUT OMX_INDEXTYPE *pIndexType)
OMX_PTR pComponentPrivate
OMX_ERRORTYPE(* SetCallbacks)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_CALLBACKTYPE *pCallbacks, OMX_IN OMX_PTR pAppData)
OMX_ERRORTYPE(* ComponentRoleEnum)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_U8 *cRole, OMX_IN OMX_U32 nIndex)
OMX_ERRORTYPE(* GetState)(OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_STATETYPE *pState)
OMX_ERRORTYPE(* SendCommand)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_COMMANDTYPE Cmd, OMX_IN OMX_U32 nParam1, OMX_IN OMX_PTR pCmdData)
OMX_VERSIONTYPE nVersion
OMX_METADATASCOPETYPE eScopeMode
OMX_METADATASCOPETYPE eScopeMode
OMX_METADATASEARCHMODETYPE eSearchMode
OMX_METADATACHARSETTYPE eKeyCharset
OMX_METADATACHARSETTYPE eValueCharset
OMX_VERSIONTYPE nVersion
OMX_VERSIONTYPE nVersion
OMX_METADATACHARSETTYPE eKeyCharset
union OMX_PARAM_PORTDEFINITIONTYPE::@0 format
OMX_PORTDOMAINTYPE eDomain
Definition: OMX_Component.h:77
OMX_AUDIO_PORTDEFINITIONTYPE audio
Definition: OMX_Component.h:79
OMX_OTHER_PORTDEFINITIONTYPE other
Definition: OMX_Component.h:82
OMX_IMAGE_PORTDEFINITIONTYPE image
Definition: OMX_Component.h:81
OMX_VIDEO_PORTDEFINITIONTYPE video
Definition: OMX_Component.h:80
OMX_SUSPENSIONPOLICYTYPE ePolicy
OMX_VERSIONTYPE nVersion
OMX_SUSPENSIONTYPE eType
OMX_VERSIONTYPE nVersion
Definition: OMX_Component.h:91

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