1 /*-------------------------------------------------------------------------- 2 Copyright (c) 2011 Code Aurora Forum. All rights reserved. 3 4 Redistribution and use in source and binary forms, with or without 5 modification, are permitted provided that the following conditions are met: 6 * Redistributions of source code must retain the above copyright 7 notice, this list of conditions and the following disclaimer. 8 * Redistributions in binary form must reproduce the above copyright 9 notice, this list of conditions and the following disclaimer in the 10 documentation and/or other materials provided with the distribution. 11 * Neither the name of Code Aurora nor 12 the names of its contributors may be used to endorse or promote 13 products derived from this software without specific prior written 14 permission. 15 16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23 OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 --------------------------------------------------------------------------*/ 28 29 #ifndef __QOMX_FILE_FORMAT_EXTENSIONS_H__ 30 #define __QOMX_FILE_FORMAT_EXTENSIONS_H__ 31 32 /*============================================================================ 33 *//** @file QOMX_FileFormatExtensions.h 34 This header contains constants and type definitions that specify the 35 extensions added to the OpenMAX Vendor specific APIs. 36 *//*========================================================================*/ 37 38 /*============================================================================ 39 Edit History 40 41 when who what, where, why 42 -------- --- ------------------------------------------------------- 43 44 ============================================================================*/ 45 46 ////////////////////////////////////////////////////////////////////////////// 47 // Include Files 48 ////////////////////////////////////////////////////////////////////////////// 49 #include "OMX_Core.h" 50 51 52 /* :OMX.QCOM.index.param.container.info*/ 53 #define QOMX_QcomIndexParamContainerInfo 0x7F000009 54 55 #define QOMX_INDEX_CONTAINER_INFO_STRING "QOMX.Qualcomm.index.param.containerinfo" 56 #define OMX_QCOM_INDEX_FILE_FORMAT "OMX.QCOM.index.config.FileFormat" 57 58 /**----------------------------------------------------------------------------- 59 OMX.QCOM.index.param.container.info 60 -------------------------------------------------------------------------------- 61 */ 62 63 typedef enum QOMX_CONTAINER_FORMATTYPE { 64 QOMX_FORMAT_RAW, 65 QOMX_FORMAT_MP4, 66 QOMX_FORMAT_3GP, 67 QOMX_FORMAT_3G2, 68 QOMX_FORMAT_AMC, 69 QOMX_FORMAT_SKM, 70 QOMX_FORMAT_K3G, 71 QOMX_FORMAT_VOB, 72 QOMX_FORMAT_AVI, 73 QOMX_FORMAT_ASF, 74 QOMX_FORMAT_RM , 75 QOMX_FORMAT_MPEG_ES, 76 QOMX_FORMAT_DIVX, 77 QOMX_FORMATMPEG_TS, 78 QOMX_FORMAT_QT, 79 QOMX_FORMAT_M4A, 80 QOMX_FORMAT_MP3, 81 QOMX_FORMAT_WAVE, 82 QOMX_FORMAT_XMF, 83 QOMX_FORMAT_AMR, 84 QOMX_FORMAT_AAC, 85 QOMX_FORMAT_EVRC, 86 QOMX_FORMAT_QCP, 87 QOMX_FORMAT_SMF, 88 QOMX_FORMAT_OGG, 89 QOMX_FORMAT_BMP, 90 QOMX_FORMAT_JPG, 91 QOMX_FORMAT_JPG2000 92 }QOMX_CONTAINER_FORMATTYPE; 93 94 typedef struct QOMX_CONTAINER_INFOTYPE { 95 OMX_U32 nSize; 96 OMX_VERSIONTYPE nVersion; 97 QOMX_CONTAINER_FORMATTYPE eFmtType; 98 } QOMX_CONTAINER_INFOTYPE; 99 100 typedef enum QOMX_FILEFORMATTYPE { 101 QOMX_FileFormatNone, /**< no file format naming convention is followed. */ 102 QOMX_FileFormatDCF, /**< DCF file naming convention. */ 103 QOMX_FileFormatMax = 0x7FFFFFFF 104 } QOMX_FILEFORMATTYPE; 105 106 /** QOMX_CONFIG_FILEFORMATTYPE is used to determine how the file writer will interpret 107 the provided content URI and whether it will increment the index of the file name. */ 108 typedef struct QOMX_CONFIG_FILEFORMATTYPE { 109 OMX_U32 nSize; /**< size of the structure in bytes */ 110 OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ 111 OMX_U32 nPortIndex; /**< port that this structure applies to */ 112 QOMX_FILEFORMATTYPE eFileFormat; /** file format type */ 113 } QOMX_CONFIG_FILEFORMATTYPE; 114 115 /**The QOMX_RECORDINGSTATISTICSINTERVALTYPE structure is used to enable 116 IL client to indicate the interval of the statistics notification to file mux 117 component. Time interval will indicate the frequency(in ms) when client needs 118 the statistics data*/ 119 typedef struct QOMX_RECORDINGSTATISTICSINTERVALTYPE { 120 OMX_U32 nSize; /**< size of the structure in bytes */ 121 OMX_VERSIONTYPE nVersion;/**< OMX specification version information */ 122 OMX_TICKS interval;/**< specifies the time(milliseconds) between updates */ 123 }QOMX_RECORDINGSTATISTICSINTERVALTYPE; 124 125 /**QOMX_RECORDINGSTATISTICSTYPE indicates the current recording 126 time and space statistics of this session, which can be used by client to 127 identify current status of recorded data in milliseconds and bytes */ 128 typedef struct QOMX_RECORDINGSTATISTICSTYPE { 129 OMX_U32 nSize;/**< size of the structure in bytes */ 130 OMX_VERSIONTYPE nVersion;/**< OMX specification version information */ 131 OMX_TICKS nRecordedTime; /** duration that we already recorded*/ 132 OMX_TICKS nTimeCanRecord;/** the time we can record at the same bitrate*/ 133 OMX_U64 nSpaceConsumed;/** space that consumed in bytes*/ 134 OMX_U64 nSpaceLeft;/** space left in bytes*/ 135 } QOMX_RECORDINGSTATISTICSTYPE; 136 137 #endif /*__QOMX_FILE_FORMAT_EXTENSIONS_H__*/ 138