1 /*
2  * Copyright (c) 2012-2014, 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 
52     kKeyFileFormat           = 'ffmt',  // cstring
53 
54     kkeyAacFormatAdif        = 'adif',  // bool (int32_t)
55     kKeyInterlace            = 'intL',  // bool (int32_t)
56     kkeyAacFormatLtp         = 'ltp',
57 
58 
59     //DTS subtype
60     kKeyDTSSubtype           = 'dtss',  //int32_t
61 
62     //Extractor sets this
63     kKeyUseArbitraryMode     = 'ArbM',  //bool (int32_t)
64     kKeySmoothStreaming      = 'ESmS',  //bool (int32_t)
65     kKeyHFR                  = 'hfr ',  // int32_t
66     kKeyHSR                  = 'hsr ',  // int32_t
67 
68     kKeySampleBits        = 'sbit', // int32_t (audio sample bit-width)
69     kKeyPcmFormat         = 'pfmt', //int32_t (pcm format)
70     kKeyMinBlkSize        = 'mibs', //int32_t
71     kKeyMaxBlkSize        = 'mabs', //int32_t
72     kKeyMinFrmSize        = 'mifs', //int32_t
73     kKeyMaxFrmSize        = 'mafs', //int32_t
74     kKeyMd5Sum            = 'md5s', //cstring
75 };
76 
77 enum {
78     kTypeDivXVer_3_11,
79     kTypeDivXVer_4,
80     kTypeDivXVer_5,
81     kTypeDivXVer_6,
82 };
83 enum {
84     kTypeWMA,
85     kTypeWMAPro,
86     kTypeWMALossLess,
87 };
88 
89 //This enum should be keep in sync with "enum Flags" in MediaExtractor.h in AOSP,
90 //Value should reflect as last entry in the enum
91 enum {
92     CAN_SEEK_TO_ZERO   = 16, // the "previous button"
93 };
94 }  // namespace android
95 
96 #endif  // QC_META_DATA_H_
97