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 {
143 
144 /* Parameter specifying the pipe to use. */
147 {
152 
162 
163 
204 
207 {
216 
219 {
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 */

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