Mercurial > projects > dstep
comparison dstep/coreaudio/CoreAudioTypes.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
15:7ff919f595d5 | 16:19885b43130e |
---|---|
1 /** | |
2 * Copyright: Copyright (c) 2009 Jacob Carlborg. | |
3 * Authors: Jacob Carlborg | |
4 * Version: Initial created: Sep 30, 2009 | |
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) | |
6 */ | |
7 module dstep.coreaudio.CoreAudioTypes; | |
8 | |
9 import dstep.coreservices.carboncore.MacTypes; | |
10 import dstep.internal.Version; | |
11 import dstep.objc.bridge.TypeEncoding; | |
12 | |
13 alias float AudioSampleType; | |
14 alias uint AudioChannelLabel; | |
15 alias uint AudioChannelLayoutTag; | |
16 | |
17 // This is needed otherwise the enums will fail compiling with gdc | |
18 version (GNU) | |
19 { | |
20 private | |
21 { | |
22 const __kAudioFormatLinearPCM = getOSType!("lpcm"); | |
23 const __kAudioFormatAC3 = getOSType!("ac-3"); | |
24 const __kAudioFormat60958AC3 = getOSType!("cac3"); | |
25 const __kAudioFormatAppleIMA4 = getOSType!("ima4"); | |
26 const __kAudioFormatMPEG4AAC = getOSType!("aac "); | |
27 const __kAudioFormatMPEG4CELP = getOSType!("celp"); | |
28 const __kAudioFormatMPEG4HVXC = getOSType!("hvxc"); | |
29 const __kAudioFormatMPEG4TwinVQ = getOSType!("twvq"); | |
30 const __kAudioFormatMACE3 = getOSType!("MAC3"); | |
31 const __kAudioFormatMACE6 = getOSType!("MAC6"); | |
32 const __kAudioFormatULaw = getOSType!("ulaw"); | |
33 const __kAudioFormatALaw = getOSType!("alaw"); | |
34 const __kAudioFormatQDesign = getOSType!("QDMC"); | |
35 const __kAudioFormatQDesign2 = getOSType!("QDM2"); | |
36 const __kAudioFormatQUALCOMM = getOSType!("Qclp"); | |
37 const __kAudioFormatMPEGLayer1 = getOSType!(".mp1"); | |
38 const __kAudioFormatMPEGLayer2 = getOSType!(".mp2"); | |
39 const __kAudioFormatMPEGLayer3 = getOSType!(".mp3"); | |
40 const __kAudioFormatTimeCode = getOSType!("time"); | |
41 const __kAudioFormatMIDIStream = getOSType!("midi"); | |
42 const __kAudioFormatParameterValueStream = getOSType!("apvs"); | |
43 const __kAudioFormatAppleLossless = getOSType!("alac"); | |
44 const __kAudioFormatMPEG4AAC_HE = getOSType!("aach"); | |
45 const __kAudioFormatMPEG4AAC_LD = getOSType!("aacl"); | |
46 const __kAudioFormatMPEG4AAC_HE_V2 = getOSType!("aacp"); | |
47 const __kAudioFormatMPEG4AAC_Spatial = getOSType!("aacs"); | |
48 const __kAudioFormatAMR = getOSType!("samr"); | |
49 } | |
50 } | |
51 | |
52 enum | |
53 { | |
54 kAudioStreamAnyRate = 0 | |
55 } | |
56 | |
57 enum | |
58 { | |
59 kAudioFormatLinearPCM = getOSType!("lpcm"), | |
60 kAudioFormatAC3 = getOSType!("ac-3"), | |
61 kAudioFormat60958AC3 = getOSType!("cac3"), | |
62 kAudioFormatAppleIMA4 = getOSType!("ima4"), | |
63 kAudioFormatMPEG4AAC = getOSType!("aac "), | |
64 kAudioFormatMPEG4CELP = getOSType!("celp"), | |
65 kAudioFormatMPEG4HVXC = getOSType!("hvxc"), | |
66 kAudioFormatMPEG4TwinVQ = getOSType!("twvq"), | |
67 kAudioFormatMACE3 = getOSType!("MAC3"), | |
68 kAudioFormatMACE6 = getOSType!("MAC6"), | |
69 kAudioFormatULaw = getOSType!("ulaw"), | |
70 kAudioFormatALaw = getOSType!("alaw"), | |
71 kAudioFormatQDesign = getOSType!("QDMC"), | |
72 kAudioFormatQDesign2 = getOSType!("QDM2"), | |
73 kAudioFormatQUALCOMM = getOSType!("Qclp"), | |
74 kAudioFormatMPEGLayer1 = getOSType!(".mp1"), | |
75 kAudioFormatMPEGLayer2 = getOSType!(".mp2"), | |
76 kAudioFormatMPEGLayer3 = getOSType!(".mp3"), | |
77 kAudioFormatTimeCode = getOSType!("time"), | |
78 kAudioFormatMIDIStream = getOSType!("midi"), | |
79 kAudioFormatParameterValueStream = getOSType!("apvs"), | |
80 kAudioFormatAppleLossless = getOSType!("alac"), | |
81 kAudioFormatMPEG4AAC_HE = getOSType!("aach"), | |
82 kAudioFormatMPEG4AAC_LD = getOSType!("aacl"), | |
83 kAudioFormatMPEG4AAC_HE_V2 = getOSType!("aacp"), | |
84 kAudioFormatMPEG4AAC_Spatial = getOSType!("aacs"), | |
85 kAudioFormatAMR = getOSType!("samr") | |
86 } | |
87 | |
88 version (D_LP64) | |
89 { | |
90 enum : long | |
91 { | |
92 kAudioFormatFlagIsFloat = (1L << 0), | |
93 kAudioFormatFlagIsBigEndian = (1L << 1), | |
94 kAudioFormatFlagIsSignedInteger = (1L << 2), | |
95 kAudioFormatFlagIsPacked = (1L << 3), | |
96 kAudioFormatFlagIsAlignedHigh = (1L << 4), | |
97 kAudioFormatFlagIsNonInterleaved = (1L << 5), | |
98 kAudioFormatFlagIsNonMixable = (1L << 6), | |
99 kAudioFormatFlagsAreAllClear = (1L << 31), | |
100 kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat, | |
101 kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian, | |
102 kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger, | |
103 kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked, | |
104 kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh, | |
105 kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved, | |
106 kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable, | |
107 kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear, | |
108 kAppleLosslessFormatFlag_16BitSourceData = 1, | |
109 kAppleLosslessFormatFlag_20BitSourceData = 2, | |
110 kAppleLosslessFormatFlag_24BitSourceData = 3, | |
111 kAppleLosslessFormatFlag_32BitSourceData = 4 | |
112 } | |
113 } | |
114 | |
115 else | |
116 { | |
117 enum | |
118 { | |
119 kAudioFormatFlagIsFloat = (1L << 0), | |
120 kAudioFormatFlagIsBigEndian = (1L << 1), | |
121 kAudioFormatFlagIsSignedInteger = (1L << 2), | |
122 kAudioFormatFlagIsPacked = (1L << 3), | |
123 kAudioFormatFlagIsAlignedHigh = (1L << 4), | |
124 kAudioFormatFlagIsNonInterleaved = (1L << 5), | |
125 kAudioFormatFlagIsNonMixable = (1L << 6), | |
126 kAudioFormatFlagsAreAllClear = (1 << 31), | |
127 kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat, | |
128 kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian, | |
129 kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger, | |
130 kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked, | |
131 kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh, | |
132 kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved, | |
133 kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable, | |
134 kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear, | |
135 kAppleLosslessFormatFlag_16BitSourceData = 1, | |
136 kAppleLosslessFormatFlag_20BitSourceData = 2, | |
137 kAppleLosslessFormatFlag_24BitSourceData = 3, | |
138 kAppleLosslessFormatFlag_32BitSourceData = 4 | |
139 } | |
140 } | |
141 | |
142 | |
143 | |
144 enum | |
145 { | |
146 kAudioFormatFlagsNativeEndian = 0, | |
147 kAudioFormatFlagsCanonical = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked, | |
148 kAudioFormatFlagsNativeFloatPacked = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | |
149 } | |
150 | |
151 enum | |
152 { | |
153 kSMPTETimeType24 = 0, | |
154 kSMPTETimeType25 = 1, | |
155 kSMPTETimeType30Drop = 2, | |
156 kSMPTETimeType30 = 3, | |
157 kSMPTETimeType2997 = 4, | |
158 kSMPTETimeType2997Drop = 5, | |
159 kSMPTETimeType60 = 6, | |
160 kSMPTETimeType5994 = 7, | |
161 kSMPTETimeType60Drop = 8, | |
162 kSMPTETimeType5994Drop = 9, | |
163 kSMPTETimeType50 = 10, | |
164 kSMPTETimeType2398 = 11 | |
165 } | |
166 | |
167 enum | |
168 { | |
169 kSMPTETimeValid = (1L << 0), | |
170 kSMPTETimeRunning = (1L << 1) | |
171 } | |
172 | |
173 enum | |
174 { | |
175 kAudioTimeStampSampleTimeValid = (1L << 0), | |
176 kAudioTimeStampHostTimeValid = (1L << 1), | |
177 kAudioTimeStampRateScalarValid = (1L << 2), | |
178 kAudioTimeStampWordClockTimeValid = (1L << 3), | |
179 kAudioTimeStampSMPTETimeValid = (1L << 4) | |
180 } | |
181 | |
182 enum | |
183 { | |
184 kAudioTimeStampSampleHostTimeValid = (kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid) | |
185 } | |
186 | |
187 enum | |
188 { | |
189 kAudioChannelLabel_Unknown = 0xFFFFFFFF, | |
190 kAudioChannelLabel_Unused = 0, | |
191 kAudioChannelLabel_UseCoordinates = 100, | |
192 kAudioChannelLabel_Left = 1, | |
193 kAudioChannelLabel_Right = 2, | |
194 kAudioChannelLabel_Center = 3, | |
195 kAudioChannelLabel_LFEScreen = 4, | |
196 kAudioChannelLabel_LeftSurround = 5, | |
197 kAudioChannelLabel_RightSurround = 6, | |
198 kAudioChannelLabel_LeftCenter = 7, | |
199 kAudioChannelLabel_RightCenter = 8, | |
200 kAudioChannelLabel_CenterSurround = 9, | |
201 kAudioChannelLabel_LeftSurroundDirect = 10, | |
202 kAudioChannelLabel_RightSurroundDirect = 11, | |
203 kAudioChannelLabel_TopCenterSurround = 12, | |
204 kAudioChannelLabel_VerticalHeightLeft = 13, | |
205 kAudioChannelLabel_VerticalHeightCenter = 14, | |
206 kAudioChannelLabel_VerticalHeightRight = 15, | |
207 kAudioChannelLabel_TopBackLeft = 16, | |
208 kAudioChannelLabel_TopBackCenter = 17, | |
209 kAudioChannelLabel_TopBackRight = 18, | |
210 kAudioChannelLabel_RearSurroundLeft = 33, | |
211 kAudioChannelLabel_RearSurroundRight = 34, | |
212 kAudioChannelLabel_LeftWide = 35, | |
213 kAudioChannelLabel_RightWide = 36, | |
214 kAudioChannelLabel_LFE2 = 37, | |
215 kAudioChannelLabel_LeftTotal = 38, | |
216 kAudioChannelLabel_RightTotal = 39, | |
217 kAudioChannelLabel_HearingImpaired = 40, | |
218 kAudioChannelLabel_Narration = 41, | |
219 kAudioChannelLabel_Mono = 42, | |
220 kAudioChannelLabel_DialogCentricMix = 43, | |
221 kAudioChannelLabel_CenterSurroundDirect = 44, | |
222 kAudioChannelLabel_Haptic = 45, | |
223 kAudioChannelLabel_Ambisonic_W = 200, | |
224 kAudioChannelLabel_Ambisonic_X = 201, | |
225 kAudioChannelLabel_Ambisonic_Y = 202, | |
226 kAudioChannelLabel_Ambisonic_Z = 203, | |
227 kAudioChannelLabel_MS_Mid = 204, | |
228 kAudioChannelLabel_MS_Side = 205, | |
229 kAudioChannelLabel_XY_X = 206, | |
230 kAudioChannelLabel_XY_Y = 207, | |
231 kAudioChannelLabel_HeadphonesLeft = 301, | |
232 kAudioChannelLabel_HeadphonesRight = 302, | |
233 kAudioChannelLabel_ClickTrack = 304, | |
234 kAudioChannelLabel_ForeignLanguage = 305, | |
235 kAudioChannelLabel_Discrete = 400, | |
236 kAudioChannelLabel_Discrete_0 = (1L<<16) | 0, | |
237 kAudioChannelLabel_Discrete_1 = (1L<<16) | 1, | |
238 kAudioChannelLabel_Discrete_2 = (1L<<16) | 2, | |
239 kAudioChannelLabel_Discrete_3 = (1L<<16) | 3, | |
240 kAudioChannelLabel_Discrete_4 = (1L<<16) | 4, | |
241 kAudioChannelLabel_Discrete_5 = (1L<<16) | 5, | |
242 kAudioChannelLabel_Discrete_6 = (1L<<16) | 6, | |
243 kAudioChannelLabel_Discrete_7 = (1L<<16) | 7, | |
244 kAudioChannelLabel_Discrete_8 = (1L<<16) | 8, | |
245 kAudioChannelLabel_Discrete_9 = (1L<<16) | 9, | |
246 kAudioChannelLabel_Discrete_10 = (1L<<16) | 10, | |
247 kAudioChannelLabel_Discrete_11 = (1L<<16) | 11, | |
248 kAudioChannelLabel_Discrete_12 = (1L<<16) | 12, | |
249 kAudioChannelLabel_Discrete_13 = (1L<<16) | 13, | |
250 kAudioChannelLabel_Discrete_14 = (1L<<16) | 14, | |
251 kAudioChannelLabel_Discrete_15 = (1L<<16) | 15, | |
252 kAudioChannelLabel_Discrete_65535 = (1L<<16) | 65535 | |
253 } | |
254 | |
255 enum | |
256 { | |
257 kAudioChannelBit_Left = (1L<<0), | |
258 kAudioChannelBit_Right = (1L<<1), | |
259 kAudioChannelBit_Center = (1L<<2), | |
260 kAudioChannelBit_LFEScreen = (1L<<3), | |
261 kAudioChannelBit_LeftSurround = (1L<<4), | |
262 kAudioChannelBit_RightSurround = (1L<<5), | |
263 kAudioChannelBit_LeftCenter = (1L<<6), | |
264 kAudioChannelBit_RightCenter = (1L<<7), | |
265 kAudioChannelBit_CenterSurround = (1L<<8), | |
266 kAudioChannelBit_LeftSurroundDirect = (1L<<9), | |
267 kAudioChannelBit_RightSurroundDirect = (1L<<10), | |
268 kAudioChannelBit_TopCenterSurround = (1L<<11), | |
269 kAudioChannelBit_VerticalHeightLeft = (1L<<12), | |
270 kAudioChannelBit_VerticalHeightCenter = (1L<<13), | |
271 kAudioChannelBit_VerticalHeightRight = (1L<<14), | |
272 kAudioChannelBit_TopBackLeft = (1L<<15), | |
273 kAudioChannelBit_TopBackCenter = (1L<<16), | |
274 kAudioChannelBit_TopBackRight = (1L<<17) | |
275 } | |
276 | |
277 enum | |
278 { | |
279 kAudioChannelFlags_AllOff = 0, | |
280 kAudioChannelFlags_RectangularCoordinates = (1L<<0), | |
281 kAudioChannelFlags_SphericalCoordinates = (1L<<1), | |
282 kAudioChannelFlags_Meters = (1L<<2) | |
283 } | |
284 | |
285 enum | |
286 { | |
287 kAudioChannelCoordinates_LeftRight = 0, | |
288 kAudioChannelCoordinates_BackFront = 1, | |
289 kAudioChannelCoordinates_DownUp = 2, | |
290 kAudioChannelCoordinates_Azimuth = 0, | |
291 kAudioChannelCoordinates_Elevation = 1, | |
292 kAudioChannelCoordinates_Distance = 2 | |
293 } | |
294 | |
295 enum | |
296 { | |
297 kAudioChannelLayoutTag_UseChannelDescriptions = (0L<<16) | 0, | |
298 kAudioChannelLayoutTag_UseChannelBitmap = (1L<<16) | 0, | |
299 kAudioChannelLayoutTag_Mono = (100L<<16) | 1, | |
300 kAudioChannelLayoutTag_Stereo = (101L<<16) | 2, | |
301 kAudioChannelLayoutTag_StereoHeadphones = (102L<<16) | 2, | |
302 kAudioChannelLayoutTag_MatrixStereo = (103L<<16) | 2, | |
303 kAudioChannelLayoutTag_MidSide = (104L<<16) | 2, | |
304 kAudioChannelLayoutTag_XY = (105L<<16) | 2, | |
305 kAudioChannelLayoutTag_Binaural = (106L<<16) | 2, | |
306 kAudioChannelLayoutTag_Ambisonic_B_Format = (107L<<16) | 4, | |
307 kAudioChannelLayoutTag_Quadraphonic = (108L<<16) | 4, | |
308 kAudioChannelLayoutTag_Pentagonal = (109L<<16) | 5, | |
309 kAudioChannelLayoutTag_Hexagonal = (110L<<16) | 6, | |
310 kAudioChannelLayoutTag_Octagonal = (111L<<16) | 8, | |
311 kAudioChannelLayoutTag_Cube = (112L<<16) | 8, | |
312 kAudioChannelLayoutTag_MPEG_1_0 = kAudioChannelLayoutTag_Mono, | |
313 kAudioChannelLayoutTag_MPEG_2_0 = kAudioChannelLayoutTag_Stereo, | |
314 kAudioChannelLayoutTag_MPEG_3_0_A = (113L<<16) | 3, | |
315 kAudioChannelLayoutTag_MPEG_3_0_B = (114L<<16) | 3, | |
316 kAudioChannelLayoutTag_MPEG_4_0_A = (115L<<16) | 4, | |
317 kAudioChannelLayoutTag_MPEG_4_0_B = (116L<<16) | 4, | |
318 kAudioChannelLayoutTag_MPEG_5_0_A = (117L<<16) | 5, | |
319 kAudioChannelLayoutTag_MPEG_5_0_B = (118L<<16) | 5, | |
320 kAudioChannelLayoutTag_MPEG_5_0_C = (119L<<16) | 5, | |
321 kAudioChannelLayoutTag_MPEG_5_0_D = (120L<<16) | 5, | |
322 kAudioChannelLayoutTag_MPEG_5_1_A = (121L<<16) | 6, | |
323 kAudioChannelLayoutTag_MPEG_5_1_B = (122L<<16) | 6, | |
324 kAudioChannelLayoutTag_MPEG_5_1_C = (123L<<16) | 6, | |
325 kAudioChannelLayoutTag_MPEG_5_1_D = (124L<<16) | 6, | |
326 kAudioChannelLayoutTag_MPEG_6_1_A = (125L<<16) | 7, | |
327 kAudioChannelLayoutTag_MPEG_7_1_A = (126L<<16) | 8, | |
328 kAudioChannelLayoutTag_MPEG_7_1_B = (127L<<16) | 8, | |
329 kAudioChannelLayoutTag_MPEG_7_1_C = (128L<<16) | 8, | |
330 kAudioChannelLayoutTag_Emagic_Default_7_1 = (129L<<16) | 8, | |
331 kAudioChannelLayoutTag_SMPTE_DTV = (130L<<16) | 8, | |
332 kAudioChannelLayoutTag_ITU_1_0 = kAudioChannelLayoutTag_Mono, | |
333 kAudioChannelLayoutTag_ITU_2_0 = kAudioChannelLayoutTag_Stereo, | |
334 kAudioChannelLayoutTag_ITU_2_1 = (131L<<16) | 3, | |
335 kAudioChannelLayoutTag_ITU_2_2 = (132L<<16) | 4, | |
336 kAudioChannelLayoutTag_ITU_3_0 = kAudioChannelLayoutTag_MPEG_3_0_A, | |
337 kAudioChannelLayoutTag_ITU_3_1 = kAudioChannelLayoutTag_MPEG_4_0_A, | |
338 kAudioChannelLayoutTag_ITU_3_2 = kAudioChannelLayoutTag_MPEG_5_0_A, | |
339 kAudioChannelLayoutTag_ITU_3_2_1 = kAudioChannelLayoutTag_MPEG_5_1_A, | |
340 kAudioChannelLayoutTag_ITU_3_4_1 = kAudioChannelLayoutTag_MPEG_7_1_C, | |
341 kAudioChannelLayoutTag_DVD_0 = kAudioChannelLayoutTag_Mono, | |
342 kAudioChannelLayoutTag_DVD_1 = kAudioChannelLayoutTag_Stereo, | |
343 kAudioChannelLayoutTag_DVD_2 = kAudioChannelLayoutTag_ITU_2_1, | |
344 kAudioChannelLayoutTag_DVD_3 = kAudioChannelLayoutTag_ITU_2_2, | |
345 kAudioChannelLayoutTag_DVD_4 = (133L<<16) | 3, | |
346 kAudioChannelLayoutTag_DVD_5 = (134L<<16) | 4, | |
347 kAudioChannelLayoutTag_DVD_6 = (135L<<16) | 5, | |
348 kAudioChannelLayoutTag_DVD_7 = kAudioChannelLayoutTag_MPEG_3_0_A, | |
349 kAudioChannelLayoutTag_DVD_8 = kAudioChannelLayoutTag_MPEG_4_0_A, | |
350 kAudioChannelLayoutTag_DVD_9 = kAudioChannelLayoutTag_MPEG_5_0_A, | |
351 kAudioChannelLayoutTag_DVD_10 = (136L<<16) | 4, | |
352 kAudioChannelLayoutTag_DVD_11 = (137L<<16) | 5, | |
353 kAudioChannelLayoutTag_DVD_12 = kAudioChannelLayoutTag_MPEG_5_1_A, | |
354 kAudioChannelLayoutTag_DVD_13 = kAudioChannelLayoutTag_DVD_8, | |
355 kAudioChannelLayoutTag_DVD_14 = kAudioChannelLayoutTag_DVD_9, | |
356 kAudioChannelLayoutTag_DVD_15 = kAudioChannelLayoutTag_DVD_10, | |
357 kAudioChannelLayoutTag_DVD_16 = kAudioChannelLayoutTag_DVD_11, | |
358 kAudioChannelLayoutTag_DVD_17 = kAudioChannelLayoutTag_DVD_12, | |
359 kAudioChannelLayoutTag_DVD_18 = (138L<<16) | 5, | |
360 kAudioChannelLayoutTag_DVD_19 = kAudioChannelLayoutTag_MPEG_5_0_B, | |
361 kAudioChannelLayoutTag_DVD_20 = kAudioChannelLayoutTag_MPEG_5_1_B, | |
362 kAudioChannelLayoutTag_AudioUnit_4 = kAudioChannelLayoutTag_Quadraphonic, | |
363 kAudioChannelLayoutTag_AudioUnit_5 = kAudioChannelLayoutTag_Pentagonal, | |
364 kAudioChannelLayoutTag_AudioUnit_6 = kAudioChannelLayoutTag_Hexagonal, | |
365 kAudioChannelLayoutTag_AudioUnit_8 = kAudioChannelLayoutTag_Octagonal, | |
366 kAudioChannelLayoutTag_AudioUnit_5_0 = kAudioChannelLayoutTag_MPEG_5_0_B, | |
367 kAudioChannelLayoutTag_AudioUnit_6_0 = (139L<<16) | 6, | |
368 kAudioChannelLayoutTag_AudioUnit_7_0 = (140L<<16) | 7, | |
369 kAudioChannelLayoutTag_AudioUnit_7_0_Front = (148L<<16) | 7, | |
370 kAudioChannelLayoutTag_AudioUnit_5_1 = kAudioChannelLayoutTag_MPEG_5_1_A, | |
371 kAudioChannelLayoutTag_AudioUnit_6_1 = kAudioChannelLayoutTag_MPEG_6_1_A, | |
372 kAudioChannelLayoutTag_AudioUnit_7_1 = kAudioChannelLayoutTag_MPEG_7_1_C, | |
373 kAudioChannelLayoutTag_AudioUnit_7_1_Front = kAudioChannelLayoutTag_MPEG_7_1_A, | |
374 kAudioChannelLayoutTag_AAC_3_0 = kAudioChannelLayoutTag_MPEG_3_0_B, | |
375 kAudioChannelLayoutTag_AAC_Quadraphonic = kAudioChannelLayoutTag_Quadraphonic, | |
376 kAudioChannelLayoutTag_AAC_4_0 = kAudioChannelLayoutTag_MPEG_4_0_B, | |
377 kAudioChannelLayoutTag_AAC_5_0 = kAudioChannelLayoutTag_MPEG_5_0_D, | |
378 kAudioChannelLayoutTag_AAC_5_1 = kAudioChannelLayoutTag_MPEG_5_1_D, | |
379 kAudioChannelLayoutTag_AAC_6_0 = (141L<<16) | 6, | |
380 kAudioChannelLayoutTag_AAC_6_1 = (142L<<16) | 7, | |
381 kAudioChannelLayoutTag_AAC_7_0 = (143L<<16) | 7, | |
382 kAudioChannelLayoutTag_AAC_7_1 = kAudioChannelLayoutTag_MPEG_7_1_B, | |
383 kAudioChannelLayoutTag_AAC_Octagonal = (144L<<16) | 8, | |
384 kAudioChannelLayoutTag_TMH_10_2_std = (145L<<16) | 16, | |
385 kAudioChannelLayoutTag_TMH_10_2_full = (146L<<16) | 21, | |
386 kAudioChannelLayoutTag_AC3_1_0_1 = (149L<<16) | 2, | |
387 kAudioChannelLayoutTag_AC3_3_0 = (150L<<16) | 3, | |
388 kAudioChannelLayoutTag_AC3_3_1 = (151L<<16) | 4, | |
389 kAudioChannelLayoutTag_AC3_3_0_1 = (152L<<16) | 4, | |
390 kAudioChannelLayoutTag_AC3_2_1_1 = (153L<<16) | 4, | |
391 kAudioChannelLayoutTag_AC3_3_1_1 = (154L<<16) | 5, | |
392 kAudioChannelLayoutTag_DiscreteInOrder = (147L<<16) | 0, | |
393 kAudioChannelLayoutTag_Unknown = 0xFFFF0000 | |
394 } | |
395 | |
396 enum | |
397 { | |
398 kMPEG4Object_AAC_Main = 1, | |
399 kMPEG4Object_AAC_LC = 2, | |
400 kMPEG4Object_AAC_SSR = 3, | |
401 kMPEG4Object_AAC_LTP = 4, | |
402 kMPEG4Object_AAC_SBR = 5, | |
403 kMPEG4Object_AAC_Scalable = 6, | |
404 kMPEG4Object_TwinVQ = 7, | |
405 kMPEG4Object_CELP = 8, | |
406 kMPEG4Object_HVXC = 9 | |
407 } | |
408 | |
409 struct AudioValueRange | |
410 { | |
411 double mMinimum; | |
412 double mMaximum; | |
413 } | |
414 | |
415 | |
416 struct AudioValueTranslation | |
417 { | |
418 void* mInputData; | |
419 uint mInputDataSize; | |
420 void* mOutputData; | |
421 uint mOutputDataSize; | |
422 } | |
423 | |
424 | |
425 struct AudioBuffer | |
426 { | |
427 uint mNumberChannels; | |
428 uint mDataByteSize; | |
429 void* mData; | |
430 } | |
431 | |
432 | |
433 struct AudioBufferList | |
434 { | |
435 uint mNumberBuffers; | |
436 AudioBuffer* mBuffers; | |
437 } | |
438 | |
439 | |
440 struct AudioStreamBasicDescription | |
441 { | |
442 double mSampleRate; | |
443 uint mFormatID; | |
444 uint mFormatFlags; | |
445 uint mBytesPerPacket; | |
446 uint mFramesPerPacket; | |
447 uint mBytesPerFrame; | |
448 uint mChannelsPerFrame; | |
449 uint mBitsPerChannel; | |
450 uint mReserved; | |
451 } | |
452 | |
453 | |
454 struct AudioStreamPacketDescription | |
455 { | |
456 long mStartOffset; | |
457 uint mVariableFramesInPacket; | |
458 uint mDataByteSize; | |
459 } | |
460 | |
461 | |
462 struct SMPTETime | |
463 { | |
464 short mSubframes; | |
465 short mSubframeDivisor; | |
466 uint mCounter; | |
467 uint mType; | |
468 uint mFlags; | |
469 short mHours; | |
470 short mMinutes; | |
471 short mSeconds; | |
472 short mFrames; | |
473 } | |
474 | |
475 | |
476 struct AudioTimeStamp | |
477 { | |
478 double mSampleTime; | |
479 ulong mHostTime; | |
480 double mRateScalar; | |
481 ulong mWordClockTime; | |
482 SMPTETime mSMPTETime; | |
483 uint mFlags; | |
484 uint mReserved; | |
485 } | |
486 | |
487 | |
488 struct AudioClassDescription | |
489 { | |
490 uint mType; | |
491 uint mSubType; | |
492 uint mManufacturer; | |
493 } | |
494 | |
495 | |
496 struct AudioChannelDescription | |
497 { | |
498 uint mChannelLabel; | |
499 uint mChannelFlags; | |
500 Float32* mCoordinates; | |
501 } | |
502 | |
503 | |
504 struct AudioChannelLayout | |
505 { | |
506 uint mChannelLayoutTag; | |
507 uint mChannelBitmap; | |
508 uint mNumberChannelDescriptions; | |
509 AudioChannelDescription* mChannelDescriptions; | |
510 } |