1fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* 2fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Copyright (c) 2008 The Khronos Group Inc. 3fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 4fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * Permission is hereby granted, free of charge, to any person obtaining 5fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * a copy of this software and associated documentation files (the 6fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * "Software"), to deal in the Software without restriction, including 7fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * without limitation the rights to use, copy, modify, merge, publish, 8fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * distribute, sublicense, and/or sell copies of the Software, and to 9fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * permit persons to whom the Software is furnished to do so, subject 10fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * to the following conditions: 11fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * The above copyright notice and this permission notice shall be included 12fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * in all copies or substantial portions of the Software. 13fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 14fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 22fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 23fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 24fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** OMX_Component.h - OpenMax IL version 1.1.2 25fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * The OMX_Component header file contains the definitions used to define 26fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * the public interface of a component. This header file is intended to 27fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * be used by both the application and the component. 28fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 29fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 30fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifndef OMX_Component_h 31fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#define OMX_Component_h 32fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 33fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __cplusplus 34fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavinextern "C" { 35fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif /* __cplusplus */ 36fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 37fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 38fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 39fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Each OMX header must include all required header files to allow the 40fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * header to compile without errors. The includes below are required 41fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * for this header file to compile successfully 42fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 43fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 44fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Audio.h> 45fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Video.h> 46fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Image.h> 47fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#include <OMX_Other.h> 48fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 49fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup comp */ 50fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_PORTDOMAINTYPE { 51fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainAudio, 52fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainVideo, 53fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainImage, 54fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainOther, 55fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 56fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 57fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PortDomainMax = 0x7ffffff 58fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PORTDOMAINTYPE; 59fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 60fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup comp */ 61fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_PORTDEFINITIONTYPE { 62fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; /**< Size of the structure in bytes */ 63fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 64fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nPortIndex; /**< Port number the structure applies to */ 65fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_DIRTYPE eDir; /**< Direction (input or output) of this port */ 66fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nBufferCountActual; /**< The actual number of buffers allocated on this port */ 67fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nBufferCountMin; /**< The minimum number of buffers this port requires */ 68fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nBufferSize; /**< Size, in bytes, for buffers to be used for this channel */ 69fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bEnabled; /**< Ports default to enabled and are enabled/disabled by 70fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_CommandPortEnable/OMX_CommandPortDisable. 71fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin When disabled a port is unpopulated. A disabled port 72fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin is not populated with buffers on a transition to IDLE. */ 73fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bPopulated; /**< Port is populated with all of its buffers as indicated by 74fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin nBufferCountActual. A disabled port is always unpopulated. 75fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin An enabled port is populated on a transition to OMX_StateIdle 76fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin and unpopulated on a transition to loaded. */ 77fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PORTDOMAINTYPE eDomain; /**< Domain of the port. Determines the contents of metadata below. */ 78fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin union { 79fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_AUDIO_PORTDEFINITIONTYPE audio; 80fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VIDEO_PORTDEFINITIONTYPE video; 81fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IMAGE_PORTDEFINITIONTYPE image; 82fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OTHER_PORTDEFINITIONTYPE other; 83fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin } format; 84fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bBuffersContiguous; 85fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nBufferAlignment; 86fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_PORTDEFINITIONTYPE; 87fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 88fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup comp */ 89fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_U32TYPE { 90fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; /**< Size of this structure, in Bytes */ 91fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 92fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nPortIndex; /**< port that this structure applies to */ 93fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nU32; /**< U32 value */ 94fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_U32TYPE; 95fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 96fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup rpm */ 97fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_SUSPENSIONPOLICYTYPE { 98fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionDisabled, /**< No suspension; v1.0 behavior */ 99fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionEnabled, /**< Suspension allowed */ 100fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionPolicyKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 101fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionPolicyStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 102fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionPolicyMax = 0x7fffffff 103fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_SUSPENSIONPOLICYTYPE; 104fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 105fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup rpm */ 106fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_SUSPENSIONPOLICYTYPE { 107fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 108fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 109fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SUSPENSIONPOLICYTYPE ePolicy; 110fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_SUSPENSIONPOLICYTYPE; 111fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 112fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup rpm */ 113fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_SUSPENSIONTYPE { 114fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_NotSuspended, /**< component is not suspended */ 115fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_Suspended, /**< component is suspended */ 116fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 117fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspensionVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 118fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SuspendMax = 0x7FFFFFFF 119fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_SUSPENSIONTYPE; 120fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 121fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup rpm */ 122fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_SUSPENSIONTYPE { 123fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 124fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 125fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_SUSPENSIONTYPE eType; 126fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_SUSPENSIONTYPE ; 127fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 128fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_CONFIG_BOOLEANTYPE { 129fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 130fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 131fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bEnabled; 132fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_CONFIG_BOOLEANTYPE; 133fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 134fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Parameter specifying the content uri to use. */ 135fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup cp */ 136fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_CONTENTURITYPE 137fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 138fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; /**< size of the structure in bytes, including 139fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin actual URI name */ 140fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 141fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 contentURI[1]; /**< The URI name */ 142fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_CONTENTURITYPE; 143fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 144fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* Parameter specifying the pipe to use. */ 145fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup cp */ 146fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_CONTENTPIPETYPE 147fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 148fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; /**< size of the structure in bytes */ 149fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 150fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_HANDLETYPE hPipe; /**< The pipe handle*/ 151fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_CONTENTPIPETYPE; 152fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 153fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup rpm */ 154fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_RESOURCECONCEALMENTTYPE { 155fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; /**< size of the structure in bytes */ 156fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 157fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bResourceConcealmentForbidden; /**< disallow the use of resource concealment 158fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin methods (like degrading algorithm quality to 159fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin lower resource consumption or functional bypass) 160fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin on a component as a resolution to resource conflicts. */ 161fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_RESOURCECONCEALMENTTYPE; 162fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 163fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 164fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 165fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_METADATACHARSETTYPE { 166fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetUnknown = 0, 167fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetASCII, 168fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetBinary, 169fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetCodePage1252, 170fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetUTF8, 171fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetJavaConformantUTF8, 172fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetUTF7, 173fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetImapUTF7, 174fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetUTF16LE, 175fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetUTF16BE, 176fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetGB12345, 177fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetHZGB2312, 178fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetGB2312, 179fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetGB18030, 180fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetGBK, 181fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetBig5, 182fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88591, 183fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88592, 184fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88593, 185fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88594, 186fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88595, 187fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88596, 188fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88597, 189fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88598, 190fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO88599, 191fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO885910, 192fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO885913, 193fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO885914, 194fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO885915, 195fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetShiftJIS, 196fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO2022JP, 197fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISO2022JP1, 198fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetISOEUCJP, 199fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetSMS7Bit, 200fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 201fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 202fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataCharsetTypeMax= 0x7FFFFFFF 203fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_METADATACHARSETTYPE; 204fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 205fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 206fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_METADATASCOPETYPE 207fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 208fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeAllLevels, 209fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeTopLevel, 210fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopePortLevel, 211fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeNodeLevel, 212fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 213fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 214fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataScopeTypeMax = 0x7fffffff 215fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_METADATASCOPETYPE; 216fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 217fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 218fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef enum OMX_METADATASEARCHMODETYPE 219fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 220fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchValueSizeByIndex, 221fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchItemByIndex, 222fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchNextItemByKey, 223fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 224fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */ 225fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_MetadataSearchTypeMax = 0x7fffffff 226fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_METADATASEARCHMODETYPE; 227fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 228fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_CONFIG_METADATAITEMCOUNTTYPE 229fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 230fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 231fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 232fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATASCOPETYPE eScopeMode; 233fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nScopeSpecifier; 234fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nMetadataItemCount; 235fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_CONFIG_METADATAITEMCOUNTTYPE; 236fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 237fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 238fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_CONFIG_METADATAITEMTYPE 239fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 240fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 241fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 242fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATASCOPETYPE eScopeMode; 243fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nScopeSpecifier; 244fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nMetadataItemIndex; 245fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATASEARCHMODETYPE eSearchMode; 246fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATACHARSETTYPE eKeyCharset; 247fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nKeySizeUsed; 248fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nKey[128]; 249fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATACHARSETTYPE eValueCharset; 250fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STRING sLanguageCountry; 251fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nValueMaxSize; 252fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nValueSizeUsed; 253fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nValue[1]; 254fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_CONFIG_METADATAITEMTYPE; 255fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 256fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* @ingroup metadata */ 257fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_CONFIG_CONTAINERNODECOUNTTYPE 258fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 259fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 260fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 261fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bAllKeys; 262fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nParentNodeID; 263fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNumNodes; 264fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_CONFIG_CONTAINERNODECOUNTTYPE; 265fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 266fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 267fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_CONFIG_CONTAINERNODEIDTYPE 268fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 269fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 270fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 271fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bAllKeys; 272fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nParentNodeID; 273fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNodeIndex; 274fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nNodeID; 275fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_STRING cNodeName; 276fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bIsLeafType; 277fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_CONFIG_CONTAINERNODEIDTYPE; 278fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 279fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** @ingroup metadata */ 280fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_PARAM_METADATAFILTERTYPE 281fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 282fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 283fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 284fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bAllKeys; /* if true then this structure refers to all keys and 285fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * the three key fields below are ignored */ 286fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_METADATACHARSETTYPE eKeyCharset; 287fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nKeySizeUsed; 288fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nKey [128]; 289fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nLanguageCountrySizeUsed; 290fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U8 nLanguageCountry[128]; 291fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_BOOL bEnabled; /* if true then key is part of filter (e.g. 292fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * retained for query later). If false then 293fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * key is not part of filter */ 294fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_PARAM_METADATAFILTERTYPE; 295fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 296fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/** The OMX_HANDLETYPE structure defines the component handle. The component 297fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * handle is used to access all of the component's public methods and also 298fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * contains pointers to the component's private data area. The component 299fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * handle is initialized by the OMX core (with help from the component) 300fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * during the process of loading the component. After the component is 301fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * successfully loaded, the application can safely access any of the 302fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * component's public functions (although some may return an error because 303fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * the state is inappropriate for the access). 304fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * 305fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin * @ingroup comp 306fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 307fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavintypedef struct OMX_COMPONENTTYPE 308fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin{ 309fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The size of this structure, in bytes. It is the responsibility 310fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin of the allocator of this structure to fill in this value. Since 311fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin this structure is allocated by the GetHandle function, this 312fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin function will fill in this value. */ 313fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_U32 nSize; 314fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 315fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** nVersion is the version of the OMX specification that the structure 316fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin is built against. It is the responsibility of the creator of this 317fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin structure to initialize this value and every user of this structure 318fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin should verify that it knows how to use the exact version of 319fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin this structure found herein. */ 320fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_VERSIONTYPE nVersion; 321fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 322fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** pComponentPrivate is a pointer to the component private data area. 323fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin This member is allocated and initialized by the component when the 324fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin component is first loaded. The application should not access this 325fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin data area. */ 326fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pComponentPrivate; 327fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 328fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** pApplicationPrivate is a pointer that is a parameter to the 329fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_GetHandle method, and contains an application private value 330fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin provided by the IL client. This application private data is 331fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin returned to the IL Client by OMX in all callbacks */ 332fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_PTR pApplicationPrivate; 333fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 334fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_GetComponentVersion in OMX_core.h or the OMX IL 335fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the GetComponentVersion method. 336fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 337fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*GetComponentVersion)( 338fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 339fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_STRING pComponentName, 340fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_VERSIONTYPE* pComponentVersion, 341fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_VERSIONTYPE* pSpecVersion, 342fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_UUIDTYPE* pComponentUUID); 343fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 344fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_SendCommand in OMX_core.h or the OMX IL 345fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the SendCommand method. 346fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 347fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*SendCommand)( 348fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 349fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_COMMANDTYPE Cmd, 350fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nParam1, 351fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pCmdData); 352fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 353fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_GetParameter in OMX_core.h or the OMX IL 354fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the GetParameter method. 355fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 356fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*GetParameter)( 357fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 358fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_INDEXTYPE nParamIndex, 359fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_PTR pComponentParameterStructure); 360fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 361fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 362fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_SetParameter in OMX_core.h or the OMX IL 363fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the SetParameter method. 364fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 365fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*SetParameter)( 366fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 367fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_INDEXTYPE nIndex, 368fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pComponentParameterStructure); 369fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 370fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 371fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_GetConfig in OMX_core.h or the OMX IL 372fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the GetConfig method. 373fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 374fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*GetConfig)( 375fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 376fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_INDEXTYPE nIndex, 377fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_PTR pComponentConfigStructure); 378fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 379fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 380fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_SetConfig in OMX_core.h or the OMX IL 381fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the SetConfig method. 382fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 383fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*SetConfig)( 384fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 385fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_INDEXTYPE nIndex, 386fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pComponentConfigStructure); 387fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 388fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 389fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_GetExtensionIndex in OMX_core.h or the OMX IL 390fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the GetExtensionIndex method. 391fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 392fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*GetExtensionIndex)( 393fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 394fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_STRING cParameterName, 395fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_INDEXTYPE* pIndexType); 396fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 397fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 398fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_GetState in OMX_core.h or the OMX IL 399fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the GetState method. 400fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 401fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*GetState)( 402fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 403fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_STATETYPE* pState); 404fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 405fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 406fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The ComponentTunnelRequest method will interact with another OMX 407fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin component to determine if tunneling is possible and to setup the 408fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin tunneling. The return codes for this method can be used to 409fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin determine if tunneling is not possible, or if tunneling is not 410fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin supported. 411fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 412fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Base profile components (i.e. non-interop) do not support this 413fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin method and should return OMX_ErrorNotImplemented 414fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 415fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin The interop profile component MUST support tunneling to another 416fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin interop profile component with a compatible port parameters. 417fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin A component may also support proprietary communication. 418fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 419fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin If proprietary communication is supported the negotiation of 420fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin proprietary communication is done outside of OMX in a vendor 421fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specific way. It is only required that the proper result be 422fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin returned and the details of how the setup is done is left 423fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin to the component implementation. 424fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 425fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin When this method is invoked when nPort in an output port, the 426fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin component will: 427fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1. Populate the pTunnelSetup structure with the output port's 428fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin requirements and constraints for the tunnel. 429fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 430fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin When this method is invoked when nPort in an input port, the 431fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin component will: 432fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 1. Query the necessary parameters from the output port to 433fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin determine if the ports are compatible for tunneling 434fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 2. If the ports are compatible, the component should store 435fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin the tunnel step provided by the output port 436fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 3. Determine which port (either input or output) is the buffer 437fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin supplier, and call OMX_SetParameter on the output port to 438fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin indicate this selection. 439fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 440fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin The component will return from this call within 5 msec. 441fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 442fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] hComp 443fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Handle of the component to be accessed. This is the component 444fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin handle returned by the call to the OMX_GetHandle method. 445fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] nPort 446fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin nPort is used to select the port on the component to be used 447fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin for tunneling. 448fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] hTunneledComp 449fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Handle of the component to tunnel with. This is the component 450fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin handle returned by the call to the OMX_GetHandle method. When 451fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin this parameter is 0x0 the component should setup the port for 452fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin communication with the application / IL Client. 453fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] nPortOutput 454fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin nPortOutput is used indicate the port the component should 455fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin tunnel with. 456fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] pTunnelSetup 457fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Pointer to the tunnel setup structure. When nPort is an output port 458fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin the component should populate the fields of this structure. When 459fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin When nPort is an input port the component should review the setup 460fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin provided by the component with the output port. 461fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @return OMX_ERRORTYPE 462fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin If the command successfully executes, the return code will be 463fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. 464fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup tun 465fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 466fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 467fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*ComponentTunnelRequest)( 468fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComp, 469fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nPort, 470fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hTunneledComp, 471fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nTunneledPort, 472fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_TUNNELSETUPTYPE* pTunnelSetup); 473fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 474fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_UseBuffer in OMX_core.h or the OMX IL 475fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the UseBuffer method. 476fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup buf 477fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 478fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*UseBuffer)( 479fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 480fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, 481fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nPortIndex, 482fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pAppPrivate, 483fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nSizeBytes, 484fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U8* pBuffer); 485fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 486fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_AllocateBuffer in OMX_core.h or the OMX IL 487fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the AllocateBuffer method. 488fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup buf 489fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 490fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*AllocateBuffer)( 491fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 492fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_BUFFERHEADERTYPE** ppBuffer, 493fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nPortIndex, 494fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pAppPrivate, 495fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nSizeBytes); 496fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 497fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_FreeBuffer in OMX_core.h or the OMX IL 498fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the FreeBuffer method. 499fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup buf 500fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 501fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*FreeBuffer)( 502fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 503fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nPortIndex, 504fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); 505fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 506fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_EmptyThisBuffer in OMX_core.h or the OMX IL 507fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the EmptyThisBuffer method. 508fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup buf 509fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 510fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*EmptyThisBuffer)( 511fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 512fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); 513fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 514fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** refer to OMX_FillThisBuffer in OMX_core.h or the OMX IL 515fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin specification for details on the FillThisBuffer method. 516fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @ingroup buf 517fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 518fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*FillThisBuffer)( 519fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 520fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_BUFFERHEADERTYPE* pBuffer); 521fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 522fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** The SetCallbacks method is used by the core to specify the callback 523fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin structure from the application to the component. This is a blocking 524fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin call. The component will return from this call within 5 msec. 525fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] hComponent 526fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Handle of the component to be accessed. This is the component 527fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin handle returned by the call to the GetHandle function. 528fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] pCallbacks 529fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pointer to an OMX_CALLBACKTYPE structure used to provide the 530fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin callback information to the component 531fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] pAppData 532fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pointer to an application defined value. It is anticipated that 533fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin the application will pass a pointer to a data structure or a "this 534fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin pointer" in this area to allow the callback (in the application) 535fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin to determine the context of the call 536fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @return OMX_ERRORTYPE 537fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin If the command successfully executes, the return code will be 538fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. 539fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 540fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*SetCallbacks)( 541fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 542fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_CALLBACKTYPE* pCallbacks, 543fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pAppData); 544fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 545fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** ComponentDeInit method is used to deinitialize the component 546fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin providing a means to free any resources allocated at component 547fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin initialization. NOTE: After this call the component handle is 548fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin not valid for further use. 549fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @param [in] hComponent 550fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin Handle of the component to be accessed. This is the component 551fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin handle returned by the call to the GetHandle function. 552fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin @return OMX_ERRORTYPE 553fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin If the command successfully executes, the return code will be 554fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ErrorNone. Otherwise the appropriate OMX error will be returned. 555fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin */ 556fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*ComponentDeInit)( 557fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent); 558fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 559fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin /** @ingroup buf */ 560fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*UseEGLImage)( 561fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 562fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_INOUT OMX_BUFFERHEADERTYPE** ppBufferHdr, 563fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nPortIndex, 564fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_PTR pAppPrivate, 565fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN void* eglImage); 566fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 567fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_ERRORTYPE (*ComponentRoleEnum)( 568fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_HANDLETYPE hComponent, 569fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_OUT OMX_U8 *cRole, 570fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin OMX_IN OMX_U32 nIndex); 571fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 572fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} OMX_COMPONENTTYPE; 573fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 574fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#ifdef __cplusplus 575fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin} 576fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif /* __cplusplus */ 577fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin 578fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin#endif 579fb3766f18a2c18b6f4798a6a631fdb88fcacd1dcRebecca Schultz Zavin/* File EOF */ 580