forked from xamarin/xamarin-macios
-
Notifications
You must be signed in to change notification settings - Fork 1
CoreAudio macOS xcode9 beta1
Vincent Dondain edited this page Jun 5, 2017
·
1 revision
#CoreAudio.framework
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h 2016-09-23 18:38:13.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h 2017-05-07 02:06:05.000000000 -0400
@@ -972,7 +972,7 @@
kAudioDevicePropertyStreamConfiguration = 'slay',
kAudioDevicePropertyIOProcStreamUsage = 'suse',
kAudioDevicePropertyActualSampleRate = 'asrt',
- kAudioDevicePropertyClockDevice = 'apcd'
+ kAudioDevicePropertyClockDevice = 'apcd'
};
/*!
@@ -1538,7 +1538,7 @@
AudioAggregateDevice. If the aggregate device includes both a master audio
device and a clock device, the clock device will control the master time base.
*/
-#define kAudioAggregateDeviceClockDeviceKey "clock"
+#define kAudioAggregateDeviceClockDeviceKey "clock"
/*!
@defined kAudioAggregateDeviceIsPrivateKey
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h 2016-09-23 18:38:13.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareBase.h 2017-05-07 02:06:05.000000000 -0400
@@ -640,7 +640,7 @@
in the AudioDevice Constants section of this file.
@constant kAudioDevicePropertyRelatedDevices
An array of AudioDeviceIDs for devices related to the AudioDevice. For
- IOAudio-based devices, a AudioDevices are related if they share the same
+ IOAudio-based devices, AudioDevices are related if they share the same
IOAudioDevice object.
@constant kAudioDevicePropertyClockDomain
A UInt32 whose value indicates the clock domain to which this AudioDevice
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioServerPlugIn.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioServerPlugIn.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioServerPlugIn.h 2016-09-23 18:38:13.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioServerPlugIn.h 2017-05-07 02:06:05.000000000 -0400
@@ -29,7 +29,7 @@
"AudioServerPlugIn_LoadingConditions". The value of this key is a dictionary whose keys describe
the loading conditions for the plug-in. Currently, the only defined key is named
"IOService Matching" whose value is an array of IOService matching dictionaries. The host will
- load the plug-in if any of these matching dictionaries match an IOService.
+ load the plug-in if any of these matching dictionaries match an IOService.
An AudioServerPlugIn operates in a limited environment. First and foremost, an AudioServerPlugIn
may not make any calls to the client HAL API in the CoreAudio.framework. This will result in
@@ -273,7 +273,7 @@
@constant kAudioServerPlugInCustomPropertyDataTypeCFPropertyList
The property/qualifier data is a CFPropertyListRef.
*/
-typedef UInt32 AudioServerPlugInCustomPropertyDataType;
+typedef UInt32 AudioServerPlugInCustomPropertyDataType;
CF_ENUM(AudioServerPlugInCustomPropertyDataType)
{
kAudioServerPlugInCustomPropertyDataTypeNone = 0,
@@ -388,13 +388,16 @@
@constant kAudioDeviceClockAlgorithmSimpleIIR
When this value for the clock algorithm is specified, the Host applies a
simple IIR filter to the time stamp stream. This is the default algorithm
- used for devices that don't implement
- kAudioDevicePropertyClockAlgorithm.
+ used for devices that don't implement kAudioDevicePropertyClockAlgorithm.
+ @constant kAudioDeviceClockAlgorithm12PtMovingWindowAverage
+ This clock algorithm uses a 12 point moving window average to filter the time
+ stamps returned from GetZeroTimeStamp().
*/
-typedef CF_ENUM(UInt32, AudioDeviceClockAlgorithmSelector)
+typedef CF_ENUM(UInt32, AudioDeviceClockAlgorithmSelector)
{
- kAudioDeviceClockAlgorithmRaw = 'raww',
- kAudioDeviceClockAlgorithmSimpleIIR = 'iirf'
+ kAudioDeviceClockAlgorithmRaw = 'raww',
+ kAudioDeviceClockAlgorithmSimpleIIR = 'iirf',
+ kAudioDeviceClockAlgorithm12PtMovingWindowAverage = 'mavg'
};
//==================================================================================================
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h 2016-09-23 18:38:13.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h 2017-05-07 02:06:05.000000000 -0400
@@ -15,13 +15,13 @@
#define CoreAudio_CoreAudio_h
#if !defined(__COREAUDIO_USE_FLAT_INCLUDES__)
- #include <CoreAudio/CoreAudioTypes.h>
- #include <CoreAudio/AudioHardware.h>
- #include <CoreAudio/HostTime.h>
+ #include <CoreAudio/CoreAudioTypes.h>
+ #include <CoreAudio/AudioHardware.h>
+ #include <CoreAudio/HostTime.h>
#else
- #include <CoreAudioTypes.h>
- #include <AudioHardware.h>
- #include <HostTime.h>
+ #include <CoreAudioTypes.h>
+ #include <AudioHardware.h>
+ #include <HostTime.h>
#endif
#endif
diff -ruN /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudioTypes.h /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudioTypes.h
--- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudioTypes.h 2016-09-23 20:08:07.000000000 -0400
+++ /Applications/Xcode9-beta1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudioTypes.h 2017-05-19 22:40:09.000000000 -0400
@@ -284,7 +284,7 @@
The format can use any sample rate. Note that this constant can only appear
in listings of supported formats. It will never appear in a current format.
*/
-static const Float64 kAudioStreamAnyRate = 0.0;
+static const Float64 kAudioStreamAnyRate = 0.0;
/*!
@enum Format IDs
@@ -376,6 +376,8 @@
331M-2000. It has no flags.
@constant kAudioFormatEnhancedAC3
Enhanced AC-3, has no flags.
+ @constant kAudioFormatFLAC
+ Free Lossless Audio Codec, the flags indicate the bit depth of the source material.
*/
CF_ENUM(AudioFormatID)
{
@@ -415,7 +417,8 @@
kAudioFormatDVIIntelIMA = 0x6D730011,
kAudioFormatMicrosoftGSM = 0x6D730031,
kAudioFormatAES3 = 'aes3',
- kAudioFormatEnhancedAC3 = 'ec-3'
+ kAudioFormatEnhancedAC3 = 'ec-3',
+ kAudioFormatFLAC = 'flac'
};
/*!
@@ -995,7 +998,29 @@
kAudioChannelLabel_Discrete_13 = (1U<<16) | 13,
kAudioChannelLabel_Discrete_14 = (1U<<16) | 14,
kAudioChannelLabel_Discrete_15 = (1U<<16) | 15,
- kAudioChannelLabel_Discrete_65535 = (1U<<16) | 65535
+ kAudioChannelLabel_Discrete_65535 = (1U<<16) | 65535,
+
+ // generic HOA ACN channel
+ kAudioChannelLabel_HOA_ACN = 500,
+
+ // numbered HOA ACN channels
+ kAudioChannelLabel_HOA_ACN_0 = (2U << 16) | 0,
+ kAudioChannelLabel_HOA_ACN_1 = (2U << 16) | 1,
+ kAudioChannelLabel_HOA_ACN_2 = (2U << 16) | 2,
+ kAudioChannelLabel_HOA_ACN_3 = (2U << 16) | 3,
+ kAudioChannelLabel_HOA_ACN_4 = (2U << 16) | 4,
+ kAudioChannelLabel_HOA_ACN_5 = (2U << 16) | 5,
+ kAudioChannelLabel_HOA_ACN_6 = (2U << 16) | 6,
+ kAudioChannelLabel_HOA_ACN_7 = (2U << 16) | 7,
+ kAudioChannelLabel_HOA_ACN_8 = (2U << 16) | 8,
+ kAudioChannelLabel_HOA_ACN_9 = (2U << 16) | 9,
+ kAudioChannelLabel_HOA_ACN_10 = (2U << 16) | 10,
+ kAudioChannelLabel_HOA_ACN_11 = (2U << 16) | 11,
+ kAudioChannelLabel_HOA_ACN_12 = (2U << 16) | 12,
+ kAudioChannelLabel_HOA_ACN_13 = (2U << 16) | 13,
+ kAudioChannelLabel_HOA_ACN_14 = (2U << 16) | 14,
+ kAudioChannelLabel_HOA_ACN_15 = (2U << 16) | 15,
+ kAudioChannelLabel_HOA_ACN_65024 = (2U << 16) | 65024 // 254th order uses 65025 channels
};
/*!
@@ -1260,6 +1285,11 @@
kAudioChannelLayoutTag_DTS_8_1_B = (181U<<16) | 9, // Lc C Rc L R Ls Cs Rs LFE
kAudioChannelLayoutTag_DTS_6_1_D = (182U<<16) | 7, // C L R Ls Rs LFE Cs
+ kAudioChannelLayoutTag_HOA_ACN_SN3D = (190U<<16) | 0, // Higher Order Ambisonics, Ambisonics Channel Number, SN3D normalization
+ // needs to be ORed with the actual number of channels (not the HOA order)
+ kAudioChannelLayoutTag_HOA_ACN_N3D = (191U<<16) | 0, // Higher Order Ambisonics, Ambisonics Channel Number, N3D normalization
+ // needs to be ORed with the actual number of channels (not the HOA order)
+
kAudioChannelLayoutTag_DiscreteInOrder = (147U<<16) | 0, // needs to be ORed with the actual number of channels
kAudioChannelLayoutTag_Unknown = 0xFFFF0000 // needs to be ORed with the actual number of channels
};
@@ -1327,9 +1357,9 @@
@result The number of channels the tag indicates.
*/
#ifdef CF_INLINE
- CF_INLINE UInt32 AudioChannelLayoutTag_GetNumberOfChannels(AudioChannelLayoutTag inLayoutTag) { return (UInt32)(inLayoutTag & 0x0000FFFF); }
+ CF_INLINE UInt32 AudioChannelLayoutTag_GetNumberOfChannels(AudioChannelLayoutTag inLayoutTag) { return (UInt32)(inLayoutTag & 0x0000FFFF); }
#else
- #define AudioChannelLayoutTag_GetNumberOfChannels(layoutTag) ((UInt32)((layoutTag) & 0x0000FFFF))
+ #define AudioChannelLayoutTag_GetNumberOfChannels(layoutTag) ((UInt32)((layoutTag) & 0x0000FFFF))
#endif