1dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#ifndef QOMX_STREAMINGEXTENSIONS_H_ 2dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define QOMX_STREAMINGEXTENSIONS_H_ 3dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*-------------------------------------------------------------------------- 461a2c6a19dbd06a317a419623020e02056661876Praveen ChavanCopyright (c) 2012, The Linux Foundation. All rights reserved. 5dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 6dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandRedistribution and use in source and binary forms, with or without 7dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandmodification, are permitted provided that the following conditions are met: 8dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Redistributions of source code must retain the above copyright 9dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand notice, this list of conditions and the following disclaimer. 10dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Redistributions in binary form must reproduce the above copyright 11dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand notice, this list of conditions and the following disclaimer in the 12dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand documentation and/or other materials provided with the distribution. 1361a2c6a19dbd06a317a419623020e02056661876Praveen Chavan * Neither the name of The Linux Foundation nor 14dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand the names of its contributors may be used to endorse or promote 15dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand products derived from this software without specific prior written 16dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand permission. 17dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 18dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandIMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandNON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 22dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandEXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandPROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 25dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 26dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandWHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 27dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 28dd5743ee305c8db17facba3e0176a3d07adc7499Rom LemarchandADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand--------------------------------------------------------------------------*/ 30dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*======================================================================== 31dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 32dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//** @file QOMX_StreamingExtensions.h 33dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 34dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand@par FILE SERVICES: 35dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand Qualcomm extensions API for OpenMax IL Streaming Components. 36dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 37dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand This file contains the description of the Qualcomm OpenMax IL 38dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand streaming extention interface, through which the IL client and OpenMax 39dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand components can access additional streaming capabilities. 40dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 41dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand*//*====================================================================== */ 42dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 43dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/*======================================================================== 44dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand Edit History 45dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 46dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand$Header: //source/qcom/qct/multimedia2/api/OpenMax/QCOM/main/latest/QOMX_StreamingExtensions.h#7 $ 47dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand$DateTime: 2011/03/02 12:27:27 $ 48dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand$Change: 1638323 $ 49dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 50dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */ 51dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 52dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* ======================================================================= 53dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand** Includes and Public Data Declarations 54dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand** ======================================================================= */ 55dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 56dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* ======================================================================= 57dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 58dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand INCLUDE FILES FOR MODULE 59dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 60dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */ 61dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 62dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Types.h> 63dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#include <OMX_Component.h> 64dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 65dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus ) 66dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandextern "C" 67dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 68dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */ 69dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 70dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* ======================================================================= 71dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 72dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand DATA DECLARATIONS 73dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 74dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand========================================================================== */ 75dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* ----------------------------------------------------------------------- 76dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand** Type Declarations 77dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand** ----------------------------------------------------------------------- */ 78dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 79dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Qualcomm vendor streaming extension strings. 80dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 81dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_WATERMARK "OMX.Qualcomm.index.config.Watermark" 82dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_WATERMARKSTATUS "OMX.Qualcomm.index.config.WatermarkStatus" 83dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_BUFFERMARKING "OMX.Qualcomm.index.config.BufferMarking" 84dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_PARAM_STREAMING_NETWORKINTERFACE "OMX.Qualcomm.index.param.streaming.NetworkInterface" 85dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_PARAM_STREAMING_NETWORKPROFILE "OMX.Qualcomm.index.param.streaming.NetworkProfile" 86dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_PARAM_STREAMING_PROXYSERVER "OMX.Qualcomm.index.param.streaming.ProxyServer" 87dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_PARAM_STREAMING_SOURCEPORTS "OMX.Qualcomm.index.param.streaming.SourcePorts" 88dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_STREAMING_PROTOCOLHEADER "OMX.Qualcomm.index.param.streaming.ProtocolHeader" 89dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_STREAMING_PROTOCOLEVENT "OMX.Qualcomm.index.config.streaming.ProtocolEvent" 90dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_STREAMING_DYNAMIC_SWITCH_CAPABILITY "OMX.Qualcomm.index.config.streaming.DynamicSessionSwitchCapability" 91dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QUALCOMM_INDEX_CONFIG_STREAMING_PROTOCOLHEADERSEVENT "OMX.QCOM.index.config.streaming.ProtocolHeadersEvent" 92dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_USERPAUSETIMEOUT "OMX.QCOM.index.config.streaming.UserPauseTimeout" 93dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_NOTIFYERRORONOPTIONSTIMEOUT "OMX.QCOM.index.config.streaming.NotifyErrorOnOptionsTimeout" 94dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_USEINTERLEAVEDTCP "OMX.QCOM.index.config.streaming.UseInterleavedTCP" 95dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_DATAINACTIVITYTIMEOUT "OMX.QCOM.index.config.streaming.DataInactivityTimeout" 96dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_RTSPOPTIONSKEEPALIVEINTERVAL "OMX.QCOM.index.config.streaming.RTSPOptionsKeepaliveInterval" 97dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_RTCPRRINTERVAL "OMX.QCOM.index.config.streaming.RTCPRRInterval" 98dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_RECONFIGUREPORT "OMX.QCOM.index.config.streaming.ReconfigurePort" 99dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_DEFAULTRTSPMESSAGETIMEOUT "OMX.QCOM.index.config.streaming.DefaultRTSPMessageTimeout" 100dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_ENABLEFIREWALLPROBES "OMX.QCOM.index.config.streaming.EnableFirewallProbes" 101dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_RTSPOPTIONSBEFORESETUP "OMX.QCOM.index.config.streaming.RTSPOptionsBeforeSetup" 102dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_RTSPPIPELINEDFASTSTARTUP "OMX.QCOM.index.config.streaming.RTSPPipelinedFastStartup" 103dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_WMFASTSTARTSPEED "OMX.QCOM.index.config.streaming.WMFastStartSpeed" 104dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_ENABLEFASTRECONNECT "OMX.QCOM.index.config.streaming.EnableFastReconnect" 105dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_FASTRECONNECTMAXATTEMPTS "OMX.QCOM.index.config.streaming.FastReconnectMaxAttempts" 106dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QCOM_INDEX_CONFIG_STREAMING_DOWNLOADPROGRESSUNITSTYPE "OMX.QCOM.index.config.streaming.DownloadProgressUnitsType" 107dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#define OMX_QOMX_INDEX_CONFIG_STREAMING_DOWNLOADPROGRESS "OMX.QCOM.index.config.streaming.DownloadProgress" 108dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 109dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration of the buffering watermark types 110dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 111dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_WATERMARKTYPE 112dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 113dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARK_UNDERRUN, /**< buffer has reached or is operating in an underrun condition */ 114dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARK_NORMAL /**< has reached or is operating in a normal (optimal) condition */ 115dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_WATERMARKTYPE; 116dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 117dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 118dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration of type of buffering level tracking 119dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 120dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_WATERMARKUNITSTYPE 121dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 122dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKUNITSTYPE_Time, /**< use a media time based reference */ 123dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKUNITSTYPE_Data /**< use a data fullness based reference */ 124dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand}QOMX_WATERMARKUNITSTYPE; 125dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 126dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 127dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Buffering watermark levels. 128dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 129dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 130dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 131dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 132dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 133dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eWaterMark : eWaterMark specifies the type of buffering watermark being 134dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * configured 135dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARK_UNDERRUN Indicates the condition when the 136dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * buffer has reached or is operating in an underrun condition 137dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * - not enough data 138dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARK_NORMAL Indicates the condition when the buffer 139dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * has reached or is operating in a normal (optimal) condition 140dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * - sufficient data within the buffer. 141dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 142dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nLevel : specifies the buffering level associated with the watermark. 143dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The units associated with the watermark level is dependent 144dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * on the eUnitsType being selected. 145dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Time nLevel in units of microseconds. 146dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Data nLevel in units of bytes. 147dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 148dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nUnitsType : specifies the type of buffering level tracking to be used. 149dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Time the buffer watermark level 150dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * shall use a media time based reference. 151dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Data the buffer watermark level 152dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * shall use a data fullness based reference. 153dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bEnable : specifies if the watermark type is being enabled or disabled 154dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 155dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_BUFFERINGWATERMARKTYPE { 156dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 157dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 158dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 159dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKTYPE eWaterMark; 160dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nLevel; 161dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKUNITSTYPE eUnitsType; 162dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bEnable; 163dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_BUFFERINGWATERMARKTYPE; 164dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 165dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 166dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Current buffering status of the streaming source component, for a given 167dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * media port 168dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 169dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 170dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 171dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 172dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 173dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eCurrentWaterMark : specifies the current buffer watermark level condition 174dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARK_UNDERRUN Indicates the condition when the 175dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * buffer has reached or is operating in an underrun 176dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * condition - not enough data 177dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARK_NORMAL Indicates the condition when the 178dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * buffer has reached or is operating in a normal 179dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (optimal) condition - sufficient data within the buffer. 180dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eUnitsType : specifies the type of buffering level tracking to be used. 181dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Time the buffer watermark level 182dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * shall use a media time based reference. 183dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Data the buffer watermark level 184dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * shall use a data fullness based reference. 185dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nCurrentLevel : specifies the current buffer watermark level condition 186dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * The units associated with the watermark level is dependent 187dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * on the eUnitsType being selected. 188dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Time nLevel in units of microseconds. 189dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * QOMX_WATERMARKUNITSTYPE_Data nLevel in units of bytes. 190dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 191dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_BUFFERINGSTATUSTYPE { 192dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 193dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 194dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 195dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKTYPE eCurrentWaterMark; 196dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_WATERMARKUNITSTYPE eUnitsType; 197dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nCurrentLevel; 198dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_BUFFERINGSTATUSTYPE; 199dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 200dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 201dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * marked buffer shall be emitted when the buffering level has reach an 202dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * underrun condition (QOMX_WATERMARK_UNDERRUN). 203dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 204dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 205dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 206dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 207dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 208dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * markInfo : identifies the target component handle that shall emit 209dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * the mark buffer event and associated 210dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * bEnable : enables or disables the buffer marking insertion. 211dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 212dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 213dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_BUFFERMARKINGTYPE { 214dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 215dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 216dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 217dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_MARKTYPE markInfo; 218dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_BOOL bEnable; 219dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_BUFFERMARKINGTYPE; 220dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 221dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 222dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Source ports. 223dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 224dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 225dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes 226dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 227dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMinimumPortNumber : Minimum port number the component may use 228dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMaximumPortNumber : Maximum port number the component may use 229dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 230dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_PARAM_STREAMING_SOURCE_PORTS 231dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 232dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 233dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 234dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U16 nMinimumPortNumber; 235dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U16 nMaximumPortNumber; 236dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_PARAM_STREAMING_SOURCE_PORTS; 237dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 238dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 239dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration used to define to the protocol message type. 240dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 241dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_STREAMING_PROTOCOLMESSAGETYPE 242dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 243dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLMESSAGE_REQUEST, 244dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLMESSAGE_RESPONSE, 245dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLMESSAGE_ALL 246dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_STREAMING_PROTOCOLMESSAGETYPE; 247dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 248dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 249dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration used to define the protocol header action type. 250dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 251dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_STREAMING_PROTOCOLHEADERACTIONTYPE 252dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 253dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLHEADERACTION_NONE, 254dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLHEADERACTION_ADD, 255dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLHEADERACTION_REMOVE 256dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_STREAMING_PROTOCOLHEADERACTIONTYPE; 257dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 258dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 259dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Protocol message header. 260dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 261dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 262dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes (including size of 263dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand messageHeader parameter) 264dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 265dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eMessageType : enumeration to distinguish protocol message type 266dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eActionType : enumeration indicating protocol header action type 267dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMessageClassSize : size of the message class string (excluding any 268dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminating characters) 269dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nHeaderNameSize : size of the header name string (excluding any 270dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminating characters) 271dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nHeaderValueSize : size of the header value string (excluding any 272dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminating characters) 273dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * messageHeader : the NULL-terminated message header string formed by 274dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * concatenating message class, header name and value 275dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * strings, i.e. the first nMessageClassSize bytes of the 276dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * messageHeader parameter correspond to the message class 277dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (without any terminating characters), followed by the 278dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * header name of size nHeaderNameSize bytes and then the 279dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * header value of size nHeaderValueSize bytes. The value 280dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * of message class is interpreted by what is mentioned in 281dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eMessageType, 282dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 1) For request message 283dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (QOMX_STREAMING_PROTOCOLMESSAGE_REQUEST) it is the 284dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Method token (as specified in the RFC 2616 and RFC 285dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 2326). 286dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 2) For response message 287dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (QOMX_STREAMING_PROTOCOLMESSAGE_RESPONSE) it is 288dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * either or both the Method token and a three digit 289dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Status-Code (as specified in the RFC 2616 and 290dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * RFC 2326) or a class of the response Status-Codes 291dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (1xx, 2xx, 3xx, 4xx, and 5xx). When both present, 292dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * the method token and status code are separated by 293dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 1 empty space. 294dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 3) For all messages 295dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (QOMX_STREAMING_PROTOCOLMESSAGE_ALL) it will be 296dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * absent (nMessageClassSize will be zero). 297dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 298dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_CONFIG_STREAMING_PROTOCOLHEADERTYPE 299dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 300dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 301dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 302dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLMESSAGETYPE eMessageType; 303dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLHEADERACTIONTYPE eActionType; 304dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nMessageClassSize; 305dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nHeaderNameSize; 306dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nHeaderValueSize; 307dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 messageHeader[1]; 308dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_CONFIG_STREAMING_PROTOCOLHEADERTYPE; 309dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 310dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 311dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Protocol Event. 312dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 313dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 314dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes (including size of 315dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand protocolEventText parameter) 316dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 317dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nProtocolEvent : 1xx, 2xx, 3xx, 4xx or 5xx codes for HTTP/RTSP protocol 318dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nReasonPhraseSize : size of the reason phrase string (excluding any 319dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminating characters) 320dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nEntityBodySize : size of the entity body string (excluding any 321dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminating characters) 322dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nContentUriSize : size of the url (exclusing any terminating characters) 323dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * url is used a key to identify for which operation this 324dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * event belongs to 325dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * protocolEventText : NULL-terminated protocol event text string formed by 326dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * concatenating reason phrase and entity body 327dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * and uri, i.e. the first nReasonPhraseSize bytes of the 328dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * protocolEventText parameter correspond to the reason 329dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * phrase (without any terminating characters), followed 330dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * by the entity body of size nEntityBodySize bytes, 331dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * followed by nContentUriSize bytes of URI 332dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 333dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_CONFIG_STREAMING_PROTOCOLEVENTTYPE 334dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 335dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 336dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 337dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nProtocolEvent; 338dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nReasonPhraseSize; 339dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nEntityBodySize; 340dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nContentUriSize; 341dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 protocolEventText[1]; 342dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_CONFIG_STREAMING_PROTOCOLEVENTTYPE; 343dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 344dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 345dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Protocol Headers Event 346dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 347dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 348dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize: Size of the structure in bytes including 349dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * messageHeaders. 350dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion: OMX specification version information 351dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eMessageType: enumeration to distinguish protocol message 352dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * type 353dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMessageClassSize: Size of the message class string. 354dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMessageAttributesSize: Size of the message attributes 355dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * string. 356dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 357dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * This structure can be populated in 2 modes: 358dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (i) Query for required sizes of message class and message 359dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * attributes. In this mode, nMessageClassSize and 360dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMessageAtributesSize both need to be set to zero. 361dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * (ii) Request to populate messageHeaders. In this mode, at 362dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * least one of nMessageClassSize or nMessageAttributesSize 363dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * need to be non-zero. On output, messageHeaders will be 364dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * populated with the message class and message attributes. 365dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nMessageClassSize and/or nMessageAtributesSize may be 366dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * overwritten to reflect the actual start and end of 367dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * message class and message attributes. The max sizes of 368dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * message class and message attributes will not exceed the 369dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * values input by the client. The strings are not null 370dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * terminated. 371dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 372dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_STREAMING_PROTOCOLHEADERSTYPE { 373dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 374dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 375dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_PROTOCOLMESSAGETYPE eMessageType; 376dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nMessageClassSize; 377dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nMessageAtributesSize; 378dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U8 messageHeaders[1]; 379dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_STREAMING_PROTOCOLHEADERSTYPE; 380dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 381dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 382dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration of possible streaming network interfaces. 383dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 384dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_STREAMING_NETWORKINTERFACETYPE 385dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 386dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_ANY_IFACE, 387dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_CDMA_SN_IFACE, 388dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_CDMA_AN_IFACE, 389dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_UMTS_IFACE, 390dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_SIO_IFACE, 391dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_CDMA_BCAST_IFACE, 392dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_WLAN_IFACE, 393dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_DUN_IFACE, 394dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_FLO_IFACE, 395dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_DVBH_IFACE, 396dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_STA_IFACE, 397dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_IPSEC_IFACE, 398dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_LO_IFACE, 399dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_MBMS_IFACE, 400dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_IWLAN_3GPP_IFACE, 401dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_IWLAN_3GPP2_IFACE, 402dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_MIP6_IFACE, 403dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_UW_FMC_IFACE, 404dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACE_CMMB_IFACE 405dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_STREAMING_NETWORKINTERFACETYPE; 406dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 407dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/* 408dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Network interface. 409dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 410dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 411dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes (including size of 412dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand protocolErrorText parameter) 413dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 414dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eNetworkInterface : Network interface the component may use 415dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 416dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_PARAM_STREAMING_NETWORKINTERFACE 417dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 418dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 419dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 420dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_STREAMING_NETWORKINTERFACETYPE eNetworkInterface; 421dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_PARAM_STREAMING_NETWORKINTERFACE; 422dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 423dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 424dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Enumeration of UnitType for DownloadProgress 425dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 426dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef enum QOMX_DOWNLOADPROGRESSUNITSTYPE 427dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 428dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_DOWNLOADPROGRESSUNITSTYPE_TIME, 429dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_DOWNLOADPROGRESSUNITSTYPE_DATA 430dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_DOWNLOADPROGRESSUNITSTYPE; 431dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 432dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 433dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 434dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * DownloadProgress units 435dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 436dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 437dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes (including size of 438dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand protocolEventText parameter) 439dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 440dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 441dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eUnitsType : Specifies the type of units type in 442dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * which download prgoress should be 443dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * reported 444dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 445dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_CONFIG_STREAMING_DOWNLOADPROGRESSUNITS 446dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 447dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 448dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 449dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 450dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand QOMX_DOWNLOADPROGRESSUNITSTYPE eUnitsType; 451dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_CONFIG_STREAMING_DOWNLOADPROGRESSUNITS; 452dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 453dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 454dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand/** 455dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * Download Progress 456dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * 457dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * STRUCT MEMBERS: 458dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nSize : Size of the structure in bytes (including size of 459dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand protocolEventText parameter) 460dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nVersion : OMX specification version information 461dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nPortIndex : Port that this structure applies to 462dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nDataDownloaded : specifies the amount of data downloaded 463dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * in time or data scale (based on 464dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * eUnitsType) from the media position 465dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * specified by nStartOffset below. It 466dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * starts at zero and progressively 467dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * increases as more data is downloaded 468dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * nCurrentStartOffset: specifies is the current download start 469dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * position in time or data scale (based 470dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand * on eUnitsType) 471dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand */ 472dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchandtypedef struct QOMX_CONFIG_STREAMING_DOWNLOADPROGRESSTYPE 473dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand{ 474dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nSize; 475dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_VERSIONTYPE nVersion; 476dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nPortIndex; 477dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nDataDownloaded; 478dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand OMX_U32 nCurrentStartOffset; 479dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} QOMX_CONFIG_STREAMING_DOWNLOADPROGRESSTYPE; 480dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 481dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#if defined( __cplusplus ) 482dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand} 483dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* end of macro __cplusplus */ 484dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 485dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand#endif /* QOMX_STREAMINGEXTENSIONS_H_ */ 486dd5743ee305c8db17facba3e0176a3d07adc7499Rom Lemarchand 487