OpenMAXBellagio  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 
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 {
141  OMX_U8 contentURI[1];
143 
144 /* Parameter specifying the pipe to use. */
147 {
152 
162 
163 
204 
207 {
216 
219 {
229 {
236 
239 {
248  OMX_U8 nKey[128];
253  OMX_U8 nValue[1];
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];
290  OMX_U8 nLanguageCountry[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 
337  OMX_ERRORTYPE (*GetComponentVersion)(
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 
347  OMX_ERRORTYPE (*SendCommand)(
348  OMX_IN OMX_HANDLETYPE hComponent,
350  OMX_IN OMX_U32 nParam1,
351  OMX_IN OMX_PTR pCmdData);
352 
356  OMX_ERRORTYPE (*GetParameter)(
357  OMX_IN OMX_HANDLETYPE hComponent,
358  OMX_IN OMX_INDEXTYPE nParamIndex,
359  OMX_INOUT OMX_PTR pComponentParameterStructure);
360 
361 
365  OMX_ERRORTYPE (*SetParameter)(
366  OMX_IN OMX_HANDLETYPE hComponent,
367  OMX_IN OMX_INDEXTYPE nIndex,
368  OMX_IN OMX_PTR pComponentParameterStructure);
369 
370 
374  OMX_ERRORTYPE (*GetConfig)(
375  OMX_IN OMX_HANDLETYPE hComponent,
376  OMX_IN OMX_INDEXTYPE nIndex,
377  OMX_INOUT OMX_PTR pComponentConfigStructure);
378 
379 
383  OMX_ERRORTYPE (*SetConfig)(
384  OMX_IN OMX_HANDLETYPE hComponent,
385  OMX_IN OMX_INDEXTYPE nIndex,
386  OMX_IN OMX_PTR pComponentConfigStructure);
387 
388 
392  OMX_ERRORTYPE (*GetExtensionIndex)(
393  OMX_IN OMX_HANDLETYPE hComponent,
394  OMX_IN OMX_STRING cParameterName,
395  OMX_OUT OMX_INDEXTYPE* pIndexType);
396 
397 
401  OMX_ERRORTYPE (*GetState)(
402  OMX_IN OMX_HANDLETYPE hComponent,
403  OMX_OUT OMX_STATETYPE* pState);
404 
405 
467  OMX_ERRORTYPE (*ComponentTunnelRequest)(
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 
478  OMX_ERRORTYPE (*UseBuffer)(
479  OMX_IN OMX_HANDLETYPE hComponent,
480  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
482  OMX_IN OMX_PTR pAppPrivate,
483  OMX_IN OMX_U32 nSizeBytes,
484  OMX_IN OMX_U8* pBuffer);
485 
490  OMX_ERRORTYPE (*AllocateBuffer)(
491  OMX_IN OMX_HANDLETYPE hComponent,
492  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer,
494  OMX_IN OMX_PTR pAppPrivate,
495  OMX_IN OMX_U32 nSizeBytes);
496 
501  OMX_ERRORTYPE (*FreeBuffer)(
502  OMX_IN OMX_HANDLETYPE hComponent,
504  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
505 
510  OMX_ERRORTYPE (*EmptyThisBuffer)(
511  OMX_IN OMX_HANDLETYPE hComponent,
512  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
513 
518  OMX_ERRORTYPE (*FillThisBuffer)(
519  OMX_IN OMX_HANDLETYPE hComponent,
520  OMX_IN OMX_BUFFERHEADERTYPE* pBuffer);
521 
540  OMX_ERRORTYPE (*SetCallbacks)(
541  OMX_IN OMX_HANDLETYPE hComponent,
542  OMX_IN OMX_CALLBACKTYPE* pCallbacks,
543  OMX_IN OMX_PTR pAppData);
544 
556  OMX_ERRORTYPE (*ComponentDeInit)(
557  OMX_IN OMX_HANDLETYPE hComponent);
558 
560  OMX_ERRORTYPE (*UseEGLImage)(
561  OMX_IN OMX_HANDLETYPE hComponent,
562  OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
564  OMX_IN OMX_PTR pAppPrivate,
565  OMX_IN void* eglImage);
566 
567  OMX_ERRORTYPE (*ComponentRoleEnum)(
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_PARAM_SUSPENSIONTYPE OMX_PARAM_SUSPENSIONTYPE
struct OMX_CONFIG_METADATAITEMCOUNTTYPE OMX_CONFIG_METADATAITEMCOUNTTYPE
struct OMX_PARAM_CONTENTPIPETYPE OMX_PARAM_CONTENTPIPETYPE
OMX_SUSPENSIONTYPE eType
void * OMX_HANDLETYPE
Definition: OMX_Types.h:295
OMX_IMAGE_PORTDEFINITIONTYPE image
Definition: OMX_Component.h:81
unsigned long OMX_U32
Definition: OMX_Types.h:145
struct OMX_PARAM_PORTDEFINITIONTYPE OMX_PARAM_PORTDEFINITIONTYPE
OMX_SUSPENSIONPOLICYTYPE ePolicy
OMX_METADATACHARSETTYPE eKeyCharset
OMX_SUSPENSIONTYPE
OMX_DIRTYPE
Definition: OMX_Types.h:224
struct OMX_COMPONENTTYPE OMX_COMPONENTTYPE
union OMX_PARAM_PORTDEFINITIONTYPE::@0 format
OMX_METADATACHARSETTYPE eValueCharset
char * OMX_STRING
Definition: OMX_Types.h:206
unsigned char OMX_UUIDTYPE[128]
Definition: OMX_Types.h:219
void * OMX_PTR
Definition: OMX_Types.h:199
OMX_BOOL
Definition: OMX_Types.h:189
OMX_INDEXTYPE
Definition: OMX_Index.h:60
OMX_METADATACHARSETTYPE
struct OMX_PARAM_CONTENTURITYPE OMX_PARAM_CONTENTURITYPE
OMX_VERSIONTYPE nVersion
OMX_VIDEO_PORTDEFINITIONTYPE video
Definition: OMX_Component.h:80
struct OMX_RESOURCECONCEALMENTTYPE OMX_RESOURCECONCEALMENTTYPE
OMX_VERSIONTYPE nVersion
Definition: OMX_Component.h:91
OMX_METADATASCOPETYPE eScopeMode
OMX_OTHER_PORTDEFINITIONTYPE other
Definition: OMX_Component.h:82
OMX_VERSIONTYPE nVersion
OMX_METADATASCOPETYPE eScopeMode
struct OMX_CONFIG_METADATAITEMTYPE OMX_CONFIG_METADATAITEMTYPE
OMX_VERSIONTYPE nVersion
OMX_SUSPENSIONPOLICYTYPE
Definition: OMX_Component.h:97
unsigned char OMX_U8
Definition: OMX_Types.h:133
OMX_PTR pApplicationPrivate
OMX_PORTDOMAINTYPE eDomain
Definition: OMX_Component.h:77
OMX_STATETYPE
Definition: OMX_Core.h:92
struct OMX_CONFIG_CONTAINERNODECOUNTTYPE OMX_CONFIG_CONTAINERNODECOUNTTYPE
OMX_VERSIONTYPE nVersion
OMX_VERSIONTYPE nVersion
OMX_PORTDOMAINTYPE
Definition: OMX_Component.h:50
struct OMX_PARAM_SUSPENSIONPOLICYTYPE OMX_PARAM_SUSPENSIONPOLICYTYPE
OMX_COMMANDTYPE
Definition: OMX_Core.h:49
OMX_PTR pComponentPrivate
OMX_METADATASCOPETYPE
#define OMX_IN
Definition: OMX_Types.h:75
struct OMX_CONFIG_CONTAINERNODEIDTYPE OMX_CONFIG_CONTAINERNODEIDTYPE
struct OMX_CONFIG_BOOLEANTYPE OMX_CONFIG_BOOLEANTYPE
#define OMX_INOUT
Definition: OMX_Types.h:91
OMX_AUDIO_PORTDEFINITIONTYPE audio
Definition: OMX_Component.h:79
OMX_METADATASEARCHMODETYPE
struct OMX_PARAM_METADATAFILTERTYPE OMX_PARAM_METADATAFILTERTYPE
#define OMX_OUT
Definition: OMX_Types.h:82
OMX_METADATASEARCHMODETYPE eSearchMode
struct OMX_PARAM_U32TYPE OMX_PARAM_U32TYPE
OMX_ERRORTYPE
Definition: OMX_Core.h:126
OMX_METADATACHARSETTYPE eKeyCharset

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