Skip to content

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
 
 
Clone this wiki locally