1 /*
2  * Copyright (c) 2012-2015, The Linux Foundation. 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
6  * met:
7  *     * Redistributions of source code must retain the above copyright
8  *      notice, this list of conditions and the following disclaimer.
9  *     * Redistributions in binary form must reproduce the above
10  *       copyright notice, this list of conditions and the following
11  *       disclaimer in the documentation and/or other materials provided
12  *      with the distribution.
13  *     * Neither the name of The Linux Foundation nor the names of its
14  *      contributors may be used to endorse or promote products derived
15  *       from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
18  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
21  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29 
30 #ifndef QC_META_DATA_H_
31 
32 #define QC_META_DATA_H_
33 
34 namespace android {
35 
36 enum {
37     kKeyAacCodecSpecificData = 'nacc' , // for native aac files
38 
39     kKeyRawCodecSpecificData = 'rcsd',  // raw data - added to support mmParser
40     kKeyDivXVersion          = 'DivX',  // int32_t
41     kKeyDivXDrm              = 'QDrm',  // void *
42     kKeyWMAEncodeOpt         = 'eopt',  // int32_t
43     kKeyWMABlockAlign        = 'blka',  // int32_t
44     kKeyWMAVersion           = 'wmav',  // int32_t
45     kKeyWMAAdvEncOpt1        = 'ade1',  // int16_t
46     kKeyWMAAdvEncOpt2        = 'ade2',  // int32_t
47     kKeyWMAFormatTag         = 'fmtt',  // int64_t
48     kKeyWMABitspersample     = 'bsps',  // int64_t
49     kKeyWMAVirPktSize        = 'vpks',  // int64_t
50     kKeyWMAChannelMask       = 'chmk',  // int32_t
51     kKeyVorbisData           = 'vdat',  // raw data
52 
53     kKeyFileFormat           = 'ffmt',  // cstring
54 
55     kkeyAacFormatAdif        = 'adif',  // bool (int32_t)
56     kKeyInterlace            = 'intL',  // bool (int32_t)
57     kkeyAacFormatLtp         = 'ltp',
58 
59 
60     //DTS subtype
61     kKeyDTSSubtype           = 'dtss',  //int32_t
62 
63     //Extractor sets this
64     kKeyUseArbitraryMode     = 'ArbM',  //bool (int32_t)
65     kKeySmoothStreaming      = 'ESmS',  //bool (int32_t)
66     kKeyHFR                  = 'hfr ',  // int32_t
67     kKeyHSR                  = 'hsr ',  // int32_t
68 
69     kKeySampleBits           = 'sbit', // int32_t (audio sample bit-width)
70     kKeyPcmFormat            = 'pfmt', //int32_t (pcm format)
71     kKeyMinBlkSize           = 'mibs', //int32_t
72     kKeyMaxBlkSize           = 'mabs', //int32_t
73     kKeyMinFrmSize           = 'mifs', //int32_t
74     kKeyMaxFrmSize           = 'mafs', //int32_t
75     kKeyMd5Sum               = 'md5s', //cstring
76 
77     kKeyBatchSize            = 'btch', //int32_t
78     kKeyIsByteMode           = 'bytm', //int32_t
79     kKeyUseSetBuffers        = 'setb', //bool (int32_t)
80 };
81 
82 enum {
83     kTypeDivXVer_3_11,
84     kTypeDivXVer_4,
85     kTypeDivXVer_5,
86     kTypeDivXVer_6,
87 };
88 enum {
89     kTypeWMA,
90     kTypeWMAPro,
91     kTypeWMALossLess,
92 };
93 
94 //This enum should be keep in sync with "enum Flags" in MediaExtractor.h in AOSP,
95 //Value should reflect as last entry in the enum
96 enum {
97     CAN_SEEK_TO_ZERO   = 16, // the "previous button"
98 };
99 
100 enum {
101     USE_SET_BUFFERS = 0x1,
102     USE_AUDIO_BIG_BUFFERS = 0x2,
103 };
104 }  // namespace android
105 
106 #endif  // QC_META_DATA_H_
107