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