|
1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #ifndef CONSTANTS_H |
|
17 #define CONSTANTS_H |
|
18 |
|
19 #include <e32def.h> |
|
20 |
|
21 // |
|
22 // Recognised file extensions. |
|
23 // |
|
24 #define KExtAAC _S(".aac") |
|
25 #define KExt3GA _S(".3ga") |
|
26 #define KExt3GP _S(".3gp") |
|
27 #define KExt3G2 _S(".3g2") |
|
28 #define KExtAIFF_1 _S(".aif") |
|
29 #define KExtAIFF_2 _S(".aifc") |
|
30 #define KExtAIFF_3 _S(".aiff") |
|
31 #define KExtASF _S(".asf") |
|
32 #define KExtAMR _S(".amr") |
|
33 #define KExtAVI _S(".avi") |
|
34 #define KExtAMRWB _S(".awb") |
|
35 #define KExtAU _S(".au") |
|
36 #define KExtDIVX _S(".divx") |
|
37 #define KExtDLS _S(".dls") |
|
38 #define KExtFLAC_1 _S(".fla") |
|
39 #define KExtFLAC_2 _S(".flac") |
|
40 #define KExtGSM _S(".gsm") |
|
41 #define KExtMAT_A _S(".mka") |
|
42 #define KExtMAT_V _S(".mkv") |
|
43 #define KExtM3U _S(".m3u") |
|
44 #define KExtM4A _S(".m4a") |
|
45 #define KExtM4V _S(".m4v") |
|
46 #define KExtMID _S(".mid") |
|
47 #define KExtMLD _S(".mld") |
|
48 #define KExtMMF _S(".mmf") |
|
49 #define KExtMP3 _S(".mp3") |
|
50 #define KExtMP4 _S(".mp4") |
|
51 #define KExtMPEG_1 _S(".mpg") |
|
52 #define KExtMPEG_2 _S(".m2v") |
|
53 #define KExtMPEG_3 _S(".mp2") |
|
54 #define KExtMPEG_4 _S(".mp2v") |
|
55 #define KExtMPEG_5 _S(".mpeg") |
|
56 #define KExtMPEG_6 _S(".mpv2") |
|
57 #define KExtMPEG_7 _S(".m1v") |
|
58 #define KExtMPEG_8 _S(".mpa") |
|
59 #define KExtMXMF _S(".mxmf") |
|
60 #define KExtOGG _S(".ogg") |
|
61 #define KExtRA _S(".ra") |
|
62 #define KExtRAM _S(".ram") |
|
63 #define KExtRM _S(".rm") |
|
64 #define KExtRMF _S(".rmf") |
|
65 #define KExtSDP _S(".sdp") |
|
66 #define KExtSMF _S(".smf") |
|
67 #define KExtSND _S(".snd") |
|
68 #define KExtWAV _S(".wav") |
|
69 #define KExtWMA _S(".wma") |
|
70 #define KExtWMV _S(".wmv") |
|
71 #define KExtXMF _S(".xmf") |
|
72 #define KExtXPS _S(".xps") |
|
73 #define KExtBeatnikRMF _S(".rmf") |
|
74 |
|
75 |
|
76 // |
|
77 // Recognised MIME-types. |
|
78 // |
|
79 #define KMime3GA _S8("audio/3ga") |
|
80 #define KMime3GP_A _S8("audio/3gpp") |
|
81 #define KMime3GP_V _S8("video/3gpp") |
|
82 #define KMime3G2_A _S8("audio/3gpp2") |
|
83 #define KMime3G2_V _S8("video/3gpp2") |
|
84 #define KMimeAAC _S8("audio/aac") |
|
85 #define KMimeAIFF _S8("audio/aiff") |
|
86 #define KMimeAMR _S8("audio/amr") |
|
87 #define KMimeAMRWB _S8("audio/amr-wb") |
|
88 #define KMimeAVI _S8("video/x-msvideo") |
|
89 #define KMimeAU _S8("audio/basic") |
|
90 #define KMimeDIVX _S8("video/x-divx") |
|
91 #define KMimeDLS _S8("audio/dls") |
|
92 #define KMimeFLAC _S8("audio/flac") |
|
93 #define KMimeGSM _S8("audio/gsm") |
|
94 #define KMimeMAT_A _S8("audio/x-matroska") |
|
95 #define KMimeMAT_V _S8("video/x-matroska") |
|
96 #define KMimeM3U _S8("audio/x-mpegurl") |
|
97 #define KMimeMID _S8("audio/midi") |
|
98 #define KMimeMLD _S8("audio/mld") |
|
99 #define KMimeMMF _S8("audio/mmf") |
|
100 #define KMimeMPEG1_A _S8("audio/x-mpeg") |
|
101 #define KMimeMPEG1_V _S8("video/mpeg") |
|
102 #define KMimeMPEG2_A _S8("audio/x-mpeg2") |
|
103 #define KMimeMPEG2_V _S8("video/mpeg2") |
|
104 #define KMimeMP3 _S8("audio/mpeg") |
|
105 #define KMimeMP4_A _S8("audio/mp4") |
|
106 #define KMimeMP4_V _S8("video/mp4") |
|
107 #define KMimeMXMF _S8("audio/mobile-xmf") |
|
108 #define KMimeOGG _S8("audio/ogg") |
|
109 #define KMimeRA _S8("audio/x-pn-realaudio") |
|
110 #define KMimeRAM KMimeRA |
|
111 #define KMimeRM_A KMimeRA |
|
112 #define KMimeRM_V _S8("video/vnd.rn-realvideo") |
|
113 #define KMimeSDP _S8("application/sdp") |
|
114 #define KMimeSMF _S8("audio/midi") |
|
115 #define KMimeSND KMimeAU |
|
116 #define KMimeWAV _S8("audio/wav") |
|
117 #define KMimeASF_A _S8("audio/x-ms-asf") |
|
118 #define KMimeASF_V _S8("video/x-ms-asf") |
|
119 #define KMimeWMA _S8("audio/x-ms-wma") |
|
120 #define KMimeWMV _S8("video/x-ms-wmv") |
|
121 #define KMimeXMF _S8("audio/xmf") |
|
122 #define KMimeXPS _S8("application/x-ext-packetsrc") |
|
123 #define KMimeBeatnikRMF _S8("audio/x-beatnik-rmf") |
|
124 |
|
125 |
|
126 // |
|
127 // Recognised header signatures. |
|
128 // These should not be defined with _S8 because using |
|
129 // sizeof() in the HEADER_SIG macro will not work as intended |
|
130 // due to some signatures containing the value '0x00'. |
|
131 // |
|
132 #define KSigAIFF "????????AIFF*" |
|
133 #define KSigAMR_1 "#!AMR\n*" |
|
134 #define KSigAMR_2 "#!AMR_MC1.0\n*" // Multi-channel AMR |
|
135 #define KSigAMRWB_1 "#!AMR-WB\n*" |
|
136 #define KSigAMRWB_2 "#!AMR-WB_MC1.0\n*" // Multi-channel AMR-WB |
|
137 #define KSigAU ".snd*" |
|
138 #define KSigAVI "RIFF????AVI *" |
|
139 #define KSigDIVX_1 "*vidsyv12*" |
|
140 #define KSigDIVX_2 "*vidsdivx*" |
|
141 #define KSigDLS "????????DLS *" |
|
142 #define KSigFLAC "fLaC*" |
|
143 #define KSigGSM "\x72\xF6\x63\x1E\x5E\x47\xD2\x11\x87\x99\x00\x20\xAF\xE6\x36\xEE" "*" |
|
144 #define KSigM3U "#EXTM3U*" |
|
145 #define KSigMID "MThd*" |
|
146 #define KSigMLD "melo*" |
|
147 #define KSigMMF "MMMD*" |
|
148 #define KSigMXMF "XMF_*" |
|
149 #define KSigOGG "OggS*" |
|
150 #define KSigRA ".ra\xfd" "*" |
|
151 #define KSigRAM "?t?p://*" |
|
152 #define KSigSDP "v=?*\n*\ns=*" |
|
153 #define KSigSMF KSigMID |
|
154 #define KSigSND KSigAU |
|
155 #define KSigWAV_1 "RIFF????WAVEfmt ????\x01\x00" "*" // WAVE_FORMAT_PCM - PCM audio in integer format |
|
156 #define KSigWAV_2 "RIFF????WAVEfmt ????\x02\x00" "*" // WAVE_FORMAT_ADPCM - Microsoft adaptive PCM |
|
157 #define KSigXMF "XMF_*" |
|
158 #define KSigXPS "v=?*\n*" |
|
159 #define KSigBeatnikRMF "IREZ*" |
|
160 |
|
161 |
|
162 // |
|
163 // New constants. Saves on typing. |
|
164 // |
|
165 #define KConfNotRecognised CApaDataRecognizerType::ENotRecognized |
|
166 #define KConfPossible CApaDataRecognizerType::EPossible |
|
167 #define KConfProbable CApaDataRecognizerType::EProbable |
|
168 #define KConfCertain CApaDataRecognizerType::ECertain |
|
169 |
|
170 |
|
171 // |
|
172 // Converts several bits into an integer |
|
173 // where 'a' signifies the highest bit to be set. |
|
174 // e.g. MAKE_BYTE2(a, b) -> [0000 00ab] |
|
175 // MAKE_BYTE3(a, b, c) -> [0000 0abc] |
|
176 // MAKE_BYTE4(a, b, c, d) -> [0000 abcd] |
|
177 // |
|
178 #define MAKE_BYTE2(a, b) (((TUint8)(a & 0x01) << 1) | (TUint8)(b & 0x01)) |
|
179 #define MAKE_BYTE3(a, b, c) ((MAKE_BYTE2(a, b) << 1) | (TUint8)(c & 0x01)) |
|
180 #define MAKE_BYTE4(a, b, c, d) ((MAKE_BYTE2(a, b) << 2) | MAKE_BYTE2(c, d)) |
|
181 |
|
182 |
|
183 // |
|
184 // Packs four bytes into a 32bit number. |
|
185 // |
|
186 // 3 |
|
187 // 1 0 |
|
188 // +--------+--------+--------+--------+ |
|
189 // |aaaaaaaa|bbbbbbbb|cccccccc|dddddddd| |
|
190 // +--------+--------+--------+--------+ |
|
191 // |
|
192 #define MAKE_INT32(a, b, c, d) (TUint32)(((TUint8)a << 24) | \ |
|
193 ((TUint8)b << 16) | \ |
|
194 ((TUint8)c << 8) | \ |
|
195 (TUint8)d) |
|
196 |
|
197 // |
|
198 // The following macros are used to read individual bit fields. |
|
199 // |
|
200 // 3 |
|
201 // 1 0 |
|
202 // +--------+--------+--------+--------+ |
|
203 // |aaaaaaaa|bbbbbbbb|cccccccc|dddddddd| |
|
204 // +--------+--------+--------+--------+ |
|
205 // |
|
206 // |
|
207 // +--------+ |
|
208 // HIGH_BYTE32 will return: |aaaaaaaa| |
|
209 // +--------+--------+ |
|
210 // HIGH_WORD32 will return: |aaaaaaaa|bbbbbbbb| |
|
211 // +--------+--------+ |
|
212 // LOW_BYTE will return: |dddddddd| |
|
213 // +--------+--------+ |
|
214 // LOW_WORD will return: |cccccccc|dddddddd| |
|
215 // +--------+--------+ |
|
216 // |
|
217 #define HIGH_BYTE32(a) (TUint8)((TUint32)(a) >> 24) |
|
218 #define HIGH_WORD32(a) (TUint16)((TUint32)(a) >> 16) |
|
219 #define LOW_BYTE(a) (TUint8)((a) & 0xff) |
|
220 #define LOW_WORD(a) (TUint16)((a) & 0xffff) |
|
221 |
|
222 // |
|
223 // These macros will only work at compile-time with |
|
224 // char* parameters in order for sizeof() to work correctly. |
|
225 // The terminating '\0' of charPtr is not included. |
|
226 // |
|
227 #define MAKE_TPtrC8(charPtr) TPtrC8(_S8((charPtr)), sizeof(charPtr) - 1) |
|
228 |
|
229 #endif |
|
230 |