16ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* ------------------------------------------------------------------
26ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * Copyright (C) 1998-2009 PacketVideo
36ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
46ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License");
56ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * you may not use this file except in compliance with the License.
66ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * You may obtain a copy of the License at
76ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
86ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *      http://www.apache.org/licenses/LICENSE-2.0
96ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * Unless required by applicable law or agreed to in writing, software
116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS,
126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * express or implied.
146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * See the License for the specific language governing permissions
156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * and limitations under the License.
166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * -------------------------------------------------------------------
176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber */
186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/*
196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * Copyright (c) 2008 The Khronos Group Inc.
206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * Permission is hereby granted, free of charge, to any person obtaining
226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * a copy of this software and associated documentation files (the
236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * "Software"), to deal in the Software without restriction, including
246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * without limitation the rights to use, copy, modify, merge, publish,
256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * distribute, sublicense, and/or sell copies of the Software, and to
266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * permit persons to whom the Software is furnished to do so, subject
276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * to the following conditions:
286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * The above copyright notice and this permission notice shall be included
296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * in all copies or substantial portions of the Software.
306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber */
406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** OMX_Component.h - OpenMax IL version 1.1.2
426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  The OMX_Component header file contains the definitions used to define
436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  the public interface of a component.  This header file is intended to
446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  be used by both the application and the component.
456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber */
466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#ifndef OMX_Component_h
486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#define OMX_Component_h
496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#ifdef __cplusplus
516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huberextern "C" {
526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#endif /* __cplusplus */
536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* Each OMX header must include all required header files to allow the
576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  header to compile without errors.  The includes below are required
586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  for this header file to compile successfully
596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber */
606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#include <OMX_Audio.h>
626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#include <OMX_Video.h>
636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#include <OMX_Image.h>
646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#include <OMX_Other.h>
656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup comp */
676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_PORTDOMAINTYPE {
686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainAudio,
696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainVideo,
706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainImage,
716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainOther,
726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PortDomainMax = 0x7ffffff
756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PORTDOMAINTYPE;
766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup comp */
786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_PORTDEFINITIONTYPE {
796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;                 /**< Size of the structure in bytes */
806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;      /**< OMX specification version information */
816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nPortIndex;            /**< Port number the structure applies to */
826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_DIRTYPE eDir;              /**< Direction (input or output) of this port */
836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nBufferCountActual;    /**< The actual number of buffers allocated on this port */
846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nBufferCountMin;       /**< The minimum number of buffers this port requires */
856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nBufferSize;           /**< Size, in bytes, for buffers to be used for this channel */
866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bEnabled;             /**< Ports default to enabled and are enabled/disabled by
876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        OMX_CommandPortEnable/OMX_CommandPortDisable.
886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        When disabled a port is unpopulated. A disabled port
896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        is not populated with buffers on a transition to IDLE. */
906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bPopulated;           /**< Port is populated with all of its buffers as indicated by
916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        nBufferCountActual. A disabled port is always unpopulated.
926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        An enabled port is populated on a transition to OMX_StateIdle
936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                        and unpopulated on a transition to loaded. */
946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PORTDOMAINTYPE eDomain;    /**< Domain of the port. Determines the contents of metadata below. */
956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    union {
966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_AUDIO_PORTDEFINITIONTYPE audio;
976ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_VIDEO_PORTDEFINITIONTYPE video;
986ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IMAGE_PORTDEFINITIONTYPE image;
996ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_OTHER_PORTDEFINITIONTYPE other;
1006ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    } format;
1016ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bBuffersContiguous;
1026ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nBufferAlignment;
1036ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_PORTDEFINITIONTYPE;
1046ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1056ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup comp */
1066ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_U32TYPE {
1076ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;                    /**< Size of this structure, in Bytes */
1086ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;         /**< OMX specification version information */
1096ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nPortIndex;               /**< port that this structure applies to */
1106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nU32;                     /**< U32 value */
1116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_U32TYPE;
1126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup rpm */
1146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_SUSPENSIONPOLICYTYPE {
1156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionDisabled, /**< No suspension; v1.0 behavior */
1166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionEnabled,  /**< Suspension allowed */
1176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionPolicyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
1186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionPolicyStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
1196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionPolicyMax = 0x7fffffff
1206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_SUSPENSIONPOLICYTYPE;
1216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup rpm */
1236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_SUSPENSIONPOLICYTYPE {
1246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
1256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
1266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SUSPENSIONPOLICYTYPE ePolicy;
1276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_SUSPENSIONPOLICYTYPE;
1286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup rpm */
1306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_SUSPENSIONTYPE {
1316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_NotSuspended, /**< component is not suspended */
1326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_Suspended,    /**< component is suspended */
1336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
1346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspensionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
1356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SuspendMax = 0x7FFFFFFF
1366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_SUSPENSIONTYPE;
1376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup rpm */
1396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_SUSPENSIONTYPE {
1406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
1416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
1426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_SUSPENSIONTYPE eType;
1436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_SUSPENSIONTYPE ;
1446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_CONFIG_BOOLEANTYPE {
1466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
1476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
1486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bEnabled;
1496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_CONFIG_BOOLEANTYPE;
1506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* Parameter specifying the content uri to use. */
1526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup cp */
1536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_CONTENTURITYPE
1546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
1556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;                      /**< size of the structure in bytes, including
1566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                             actual URI name */
1576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;           /**< OMX specification version information */
1586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8 contentURI[1];               /**< The URI name */
1596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_CONTENTURITYPE;
1606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* Parameter specifying the pipe to use. */
1626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup cp */
1636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_CONTENTPIPETYPE
1646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
1656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;              /**< size of the structure in bytes */
1666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;   /**< OMX specification version information */
1676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_HANDLETYPE hPipe;       /**< The pipe handle*/
1686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_CONTENTPIPETYPE;
1696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup rpm */
1716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_RESOURCECONCEALMENTTYPE {
1726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;             /**< size of the structure in bytes */
1736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;  /**< OMX specification version information */
1746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bResourceConcealmentForbidden; /**< disallow the use of resource concealment
1756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                            methods (like degrading algorithm quality to
1766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                            lower resource consumption or functional bypass)
1776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                                            on a component as a resolution to resource conflicts. */
1786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_RESOURCECONCEALMENTTYPE;
1796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
1816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
1826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_METADATACHARSETTYPE {
1836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetUnknown = 0,
1846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetASCII,
1856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetBinary,
1866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetCodePage1252,
1876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetUTF8,
1886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetJavaConformantUTF8,
1896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetUTF7,
1906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetImapUTF7,
1916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetUTF16LE,
1926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetUTF16BE,
1936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetGB12345,
1946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetHZGB2312,
1956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetGB2312,
1966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetGB18030,
1976ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetGBK,
1986ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetBig5,
1996ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88591,
2006ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88592,
2016ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88593,
2026ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88594,
2036ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88595,
2046ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88596,
2056ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88597,
2066ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88598,
2076ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO88599,
2086ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO885910,
2096ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO885913,
2106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO885914,
2116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO885915,
2126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetShiftJIS,
2136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO2022JP,
2146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISO2022JP1,
2156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetISOEUCJP,
2166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetSMS7Bit,
2176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
2186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
2196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataCharsetTypeMax= 0x7FFFFFFF
2206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_METADATACHARSETTYPE;
2216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_METADATASCOPETYPE
2246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeAllLevels,
2266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeTopLevel,
2276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopePortLevel,
2286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeNodeLevel,
2296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
2306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
2316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataScopeTypeMax = 0x7fffffff
2326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_METADATASCOPETYPE;
2336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef enum OMX_METADATASEARCHMODETYPE
2366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchValueSizeByIndex,
2386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchItemByIndex,
2396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchNextItemByKey,
2406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
2416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
2426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_MetadataSearchTypeMax = 0x7fffffff
2436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_METADATASEARCHMODETYPE;
2446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_CONFIG_METADATAITEMCOUNTTYPE
2466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
2486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
2496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATASCOPETYPE eScopeMode;
2506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nScopeSpecifier;
2516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nMetadataItemCount;
2526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_CONFIG_METADATAITEMCOUNTTYPE;
2536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_CONFIG_METADATAITEMTYPE
2566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
2586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
2596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATASCOPETYPE eScopeMode;
2606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nScopeSpecifier;
2616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nMetadataItemIndex;
2626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATASEARCHMODETYPE eSearchMode;
2636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATACHARSETTYPE eKeyCharset;
2646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8 nKeySizeUsed;
2656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8 nKey[128];
2666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATACHARSETTYPE eValueCharset;
2676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_STRING sLanguageCountry;
2686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nValueMaxSize;
2696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nValueSizeUsed;
2706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8 nValue[1];
2716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_CONFIG_METADATAITEMTYPE;
2726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* @ingroup metadata */
2746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_CONFIG_CONTAINERNODECOUNTTYPE
2756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
2776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
2786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bAllKeys;
2796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nParentNodeID;
2806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nNumNodes;
2816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_CONFIG_CONTAINERNODECOUNTTYPE;
2826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_CONFIG_CONTAINERNODEIDTYPE
2856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
2876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
2886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bAllKeys;
2896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nParentNodeID;
2906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nNodeIndex;
2916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nNodeID;
2926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_STRING cNodeName;
2936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bIsLeafType;
2946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_CONFIG_CONTAINERNODEIDTYPE;
2956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
2966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** @ingroup metadata */
2976ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_PARAM_METADATAFILTERTYPE
2986ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
2996ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
3006ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
3016ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bAllKeys;	/* if true then this structure refers to all keys and
3026ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                         * the three key fields below are ignored */
3036ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_METADATACHARSETTYPE eKeyCharset;
3046ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nKeySizeUsed;
3056ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8   nKey [128];
3066ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nLanguageCountrySizeUsed;
3076ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U8 nLanguageCountry[128];
3086ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_BOOL bEnabled;	/* if true then key is part of filter (e.g.
3096ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                         * retained for query later). If false then
3106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber                         * key is not part of filter */
3116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_PARAM_METADATAFILTERTYPE;
3126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/** The OMX_HANDLETYPE structure defines the component handle.  The component
3146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  handle is used to access all of the component's public methods and also
3156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  contains pointers to the component's private data area.  The component
3166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  handle is initialized by the OMX core (with help from the component)
3176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  during the process of loading the component.  After the component is
3186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  successfully loaded, the application can safely access any of the
3196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  component's public functions (although some may return an error because
3206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  the state is inappropriate for the access).
3216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *
3226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber *  @ingroup comp
3236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber */
3246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Hubertypedef struct OMX_COMPONENTTYPE
3256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber{
3266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** The size of this structure, in bytes.  It is the responsibility
3276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        of the allocator of this structure to fill in this value.  Since
3286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        this structure is allocated by the GetHandle function, this
3296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        function will fill in this value. */
3306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_U32 nSize;
3316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** nVersion is the version of the OMX specification that the structure
3336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        is built against.  It is the responsibility of the creator of this
3346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        structure to initialize this value and every user of this structure
3356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        should verify that it knows how to use the exact version of
3366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        this structure found herein. */
3376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_VERSIONTYPE nVersion;
3386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** pComponentPrivate is a pointer to the component private data area.
3406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        This member is allocated and initialized by the component when the
3416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        component is first loaded.  The application should not access this
3426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        data area. */
3436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PTR pComponentPrivate;
3446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** pApplicationPrivate is a pointer that is a parameter to the
3466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_GetHandle method, and contains an application private value
3476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        provided by the IL client.  This application private data is
3486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        returned to the IL Client by OMX in all callbacks */
3496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_PTR pApplicationPrivate;
3506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_GetComponentVersion in OMX_core.h or the OMX IL
3526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the GetComponentVersion method.
3536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
3546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*GetComponentVersion)(
3556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
3566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_STRING pComponentName,
3576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_VERSIONTYPE* pComponentVersion,
3586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_VERSIONTYPE* pSpecVersion,
3596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_UUIDTYPE* pComponentUUID);
3606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_SendCommand in OMX_core.h or the OMX IL
3626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the SendCommand method.
3636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
3646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*SendCommand)(
3656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
3666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_COMMANDTYPE Cmd,
3676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_U32 nParam1,
3686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_PTR pCmdData);
3696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_GetParameter in OMX_core.h or the OMX IL
3716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the GetParameter method.
3726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
3736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*GetParameter)(
3746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
3756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_INDEXTYPE nParamIndex,
3766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_INOUT OMX_PTR pComponentParameterStructure);
3776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_SetParameter in OMX_core.h or the OMX IL
3806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the SetParameter method.
3816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
3826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*SetParameter)(
3836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
3846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_INDEXTYPE nIndex,
3856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_PTR pComponentParameterStructure);
3866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_GetConfig in OMX_core.h or the OMX IL
3896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the GetConfig method.
3906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
3916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*GetConfig)(
3926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
3936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_INDEXTYPE nIndex,
3946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_INOUT OMX_PTR pComponentConfigStructure);
3956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
3976ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_SetConfig in OMX_core.h or the OMX IL
3986ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the SetConfig method.
3996ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
4006ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*SetConfig)(
4016ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
4026ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_INDEXTYPE nIndex,
4036ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_PTR pComponentConfigStructure);
4046ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4056ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4066ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_GetExtensionIndex in OMX_core.h or the OMX IL
4076ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the GetExtensionIndex method.
4086ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
4096ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*GetExtensionIndex)(
4106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
4116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_STRING cParameterName,
4126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_INDEXTYPE* pIndexType);
4136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_GetState in OMX_core.h or the OMX IL
4166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the GetState method.
4176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
4186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*GetState)(
4196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
4206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_OUT OMX_STATETYPE* pState);
4216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** The ComponentTunnelRequest method will interact with another OMX
4246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        component to determine if tunneling is possible and to setup the
4256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        tunneling.  The return codes for this method can be used to
4266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        determine if tunneling is not possible, or if tunneling is not
4276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        supported.
4286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        Base profile components (i.e. non-interop) do not support this
4306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        method and should return OMX_ErrorNotImplemented
4316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        The interop profile component MUST support tunneling to another
4336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        interop profile component with a compatible port parameters.
4346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        A component may also support proprietary communication.
4356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        If proprietary communication is supported the negotiation of
4376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        proprietary communication is done outside of OMX in a vendor
4386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specific way. It is only required that the proper result be
4396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        returned and the details of how the setup is done is left
4406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        to the component implementation.
4416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        When this method is invoked when nPort in an output port, the
4436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        component will:
4446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        1.  Populate the pTunnelSetup structure with the output port's
4456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            requirements and constraints for the tunnel.
4466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        When this method is invoked when nPort in an input port, the
4486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        component will:
4496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        1.  Query the necessary parameters from the output port to
4506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            determine if the ports are compatible for tunneling
4516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        2.  If the ports are compatible, the component should store
4526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            the tunnel step provided by the output port
4536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        3.  Determine which port (either input or output) is the buffer
4546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            supplier, and call OMX_SetParameter on the output port to
4556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            indicate this selection.
4566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        The component will return from this call within 5 msec.
4586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] hComp
4606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            Handle of the component to be accessed.  This is the component
4616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            handle returned by the call to the OMX_GetHandle method.
4626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] nPort
4636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            nPort is used to select the port on the component to be used
4646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            for tunneling.
4656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] hTunneledComp
4666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            Handle of the component to tunnel with.  This is the component
4676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            handle returned by the call to the OMX_GetHandle method.  When
4686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            this parameter is 0x0 the component should setup the port for
4696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            communication with the application / IL Client.
4706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] nPortOutput
4716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            nPortOutput is used indicate the port the component should
4726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            tunnel with.
4736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] pTunnelSetup
4746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            Pointer to the tunnel setup structure.  When nPort is an output port
4756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            the component should populate the fields of this structure.  When
4766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            When nPort is an input port the component should review the setup
4776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            provided by the component with the output port.
4786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @return OMX_ERRORTYPE
4796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            If the command successfully executes, the return code will be
4806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_ErrorNone.  Otherwise the appropriate OMX error will be returned.
4816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup tun
4826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    */
4836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*ComponentTunnelRequest)(
4856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IN  OMX_HANDLETYPE hComp,
4866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IN  OMX_U32 nPort,
4876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IN  OMX_HANDLETYPE hTunneledComp,
4886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IN  OMX_U32 nTunneledPort,
4896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_INOUT  OMX_TUNNELSETUPTYPE* pTunnelSetup);
4906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
4916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_UseBuffer in OMX_core.h or the OMX IL
4926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the UseBuffer method.
4936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup buf
4946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
4956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*UseBuffer)(
4966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_HANDLETYPE hComponent,
4976ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
4986ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U32 nPortIndex,
4996ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_PTR pAppPrivate,
5006ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U32 nSizeBytes,
5016ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U8* pBuffer);
5026ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5036ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_AllocateBuffer in OMX_core.h or the OMX IL
5046ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the AllocateBuffer method.
5056ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup buf
5066ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5076ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*AllocateBuffer)(
5086ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_HANDLETYPE hComponent,
5096ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer,
5106ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U32 nPortIndex,
5116ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_PTR pAppPrivate,
5126ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U32 nSizeBytes);
5136ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5146ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_FreeBuffer in OMX_core.h or the OMX IL
5156ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the FreeBuffer method.
5166ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup buf
5176ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5186ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*FreeBuffer)(
5196ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
5206ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_U32 nPortIndex,
5216ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_BUFFERHEADERTYPE* pBuffer);
5226ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5236ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_EmptyThisBuffer in OMX_core.h or the OMX IL
5246ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the EmptyThisBuffer method.
5256ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup buf
5266ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5276ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*EmptyThisBuffer)(
5286ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
5296ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_BUFFERHEADERTYPE* pBuffer);
5306ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5316ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** refer to OMX_FillThisBuffer in OMX_core.h or the OMX IL
5326ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        specification for details on the FillThisBuffer method.
5336ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @ingroup buf
5346ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5356ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*FillThisBuffer)(
5366ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
5376ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_BUFFERHEADERTYPE* pBuffer);
5386ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5396ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** The SetCallbacks method is used by the core to specify the callback
5406ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        structure from the application to the component.  This is a blocking
5416ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        call.  The component will return from this call within 5 msec.
5426ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] hComponent
5436ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            Handle of the component to be accessed.  This is the component
5446ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            handle returned by the call to the GetHandle function.
5456ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] pCallbacks
5466ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            pointer to an OMX_CALLBACKTYPE structure used to provide the
5476ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            callback information to the component
5486ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] pAppData
5496ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            pointer to an application defined value.  It is anticipated that
5506ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            the application will pass a pointer to a data structure or a "this
5516ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            pointer" in this area to allow the callback (in the application)
5526ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            to determine the context of the call
5536ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @return OMX_ERRORTYPE
5546ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            If the command successfully executes, the return code will be
5556ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_ErrorNone.  Otherwise the appropriate OMX error will be returned.
5566ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5576ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*SetCallbacks)(
5586ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent,
5596ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_CALLBACKTYPE* pCallbacks,
5606ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_PTR pAppData);
5616ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5626ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** ComponentDeInit method is used to deinitialize the component
5636ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        providing a means to free any resources allocated at component
5646ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        initialization.  NOTE:  After this call the component handle is
5656ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        not valid for further use.
5666ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @param [in] hComponent
5676ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            Handle of the component to be accessed.  This is the component
5686ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            handle returned by the call to the GetHandle function.
5696ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        @return OMX_ERRORTYPE
5706ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            If the command successfully executes, the return code will be
5716ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_ErrorNone.  Otherwise the appropriate OMX error will be returned.
5726ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber     */
5736ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*ComponentDeInit)(
5746ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN  OMX_HANDLETYPE hComponent);
5756ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5766ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    /** @ingroup buf */
5776ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*UseEGLImage)(
5786ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_HANDLETYPE hComponent,
5796ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr,
5806ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_U32 nPortIndex,
5816ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN OMX_PTR pAppPrivate,
5826ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber            OMX_IN void* eglImage);
5836ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5846ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber    OMX_ERRORTYPE (*ComponentRoleEnum)(
5856ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber        OMX_IN OMX_HANDLETYPE hComponent,
5866ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber		OMX_OUT OMX_U8 *cRole,
5876ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber		OMX_IN OMX_U32 nIndex);
5886ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5896ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber} OMX_COMPONENTTYPE;
5906ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5916ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#ifdef __cplusplus
5926ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber}
5936ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#endif /* __cplusplus */
5946ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber
5956ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber#endif
5966ac35f059726cf60a364c1efd783a99c901f2d9dAndreas Huber/* File EOF */
597