Skip to content

CoreAudio macOS xcode26.0 b1

Rolf Bjarne Kvinge edited this page Aug 28, 2025 · 3 revisions

#CoreAudio.framework https://github.com/dotnet/macios/pull/23695

diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h --- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h	2025-04-19 01:42:58 +++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h	2025-05-23 06:17:45 @@ -790,7 +790,7 @@ const AudioTimeStamp* inInputTime, AudioBufferList* outOutputData, const AudioTimeStamp* inOutputTime, - void* __nullable inClientData); + void* __nullable inClientData) CA_REALTIME_API; /*! @typedef AudioDeviceIOBlock @@ -833,7 +833,7 @@ const AudioBufferList* inInputData, const AudioTimeStamp* inInputTime, AudioBufferList* outOutputData, - const AudioTimeStamp* inOutputTime); + const AudioTimeStamp* inOutputTime) CA_REALTIME_API; /*! @typedef AudioDeviceIOProcID @@ -1285,6 +1285,14 @@ the state rather than continuously poll the value. NOTE: If input audio is not active/runnning or the voice activity detection is disabled, then it is not analyzed and this will provide 0. + @constant kAudioDevicePropertyWantsControlsRestored + A UInt32 where a value of 0 indicates that the controls for the device should not be + saved/restored when the device is first published. If the device doesn't implement + this property, it is assumed that the settings should be saved and restored. + @constant kAudioDevicePropertyWantsStreamFormatsRestored + A UInt32 where a value of 0 indicates that the stream formats for the device should + not be saved/restored when the device is first published. If the device doesn't + implement this property, it is assumed that the settings should be saved and restored. */ CF_ENUM(AudioObjectPropertySelector) { @@ -1336,8 +1344,9 @@ kAudioDevicePropertySubVolumeDecibelsToScalar = 'sd2v', kAudioDevicePropertySubMute = 'smut', kAudioDevicePropertyVoiceActivityDetectionEnable = 'vAd+', - kAudioDevicePropertyVoiceActivityDetectionState = 'vAdS' - + kAudioDevicePropertyVoiceActivityDetectionState = 'vAdS', + kAudioDevicePropertyWantsControlsRestored = 'resc', + kAudioDevicePropertyWantsStreamFormatsRestored = 'resf' }; //================================================================================================== @@ -1480,7 +1489,7 @@ */ extern OSStatus AudioDeviceGetCurrentTime( AudioObjectID inDevice, - AudioTimeStamp* outTime) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); + AudioTimeStamp* outTime) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioDeviceTranslateTime @@ -1501,7 +1510,7 @@ extern OSStatus AudioDeviceTranslateTime( AudioObjectID inDevice, const AudioTimeStamp* inTime, - AudioTimeStamp* outTime) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); + AudioTimeStamp* outTime) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioDeviceGetNearestStartTime @@ -1942,7 +1951,7 @@ @enum Process Properties @abstract Processes AudioObjectPropertySelector values provided by the Process class. @constant kAudioProcessPropertyPID - A pid_t indicating the process ID associated with the process. + A pid\_t indicating the process ID associated with the process. @constant kAudioProcessPropertyBundleID A CFString that contains the bundle ID of the process. The caller is responsible for releasing the returned CFObject. diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CATapDescription.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CATapDescription.h --- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CATapDescription.h	2025-04-19 01:42:58 +++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/CATapDescription.h	2025-05-23 06:17:45 @@ -124,10 +124,17 @@ /*!	@property processes @abstract - An NSArray of NSNumbers where each NSNumber holds the AudioObjectID of the process object to tap or exclude. + An NSArray of NSNumbers where each NSNumber holds the AudioObjectID of a process object to tap or exclude. */ @property (atomic, copy, readwrite) NSArray<NSNumber*>* processes NS_REFINED_FOR_SWIFT; +/*!	@property bundleIDs + @abstract + An Array of Strings where each String holds the bundle ID of a process to tap or exclude. + */ +@property (atomic, copy, readwrite) NSArray<NSString*>* bundleIDs +API_AVAILABLE(macos(26.0)); + /*!	@property mono @abstract True if this description is a mono mixdown of channels. @@ -151,6 +158,13 @@ True if this tap is only visible to the client process that created the tap. */ @property (atomic, readwrite, getter=isPrivate, setter=setPrivate:) BOOL privateTap; + +/*!	@property processRestoreEnabled + @abstract + True if this tap should save tapped processes by bundle ID when they exit, and restore them to the tap when they start up again. + */ +@property (atomic, readwrite, getter=isProcessRestoreEnabled) BOOL processRestoreEnabled +API_AVAILABLE(macos(26.0)); /*!	@property muteBehavior @abstract diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/HostTime.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/HostTime.h --- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/HostTime.h	2025-04-19 01:42:58 +++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Headers/HostTime.h	2025-05-23 06:17:45 @@ -50,7 +50,7 @@ @result A UInt64 containing the current host time. */ extern UInt64 -AudioGetCurrentHostTime(void) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); +AudioGetCurrentHostTime(void) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioGetHostClockFrequency @@ -58,7 +58,7 @@ @result A Float64 containing the number of ticks per second in the host time base. */ extern Float64 -AudioGetHostClockFrequency(void) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); +AudioGetHostClockFrequency(void) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioGetHostClockMinimumTimeDelta @@ -68,7 +68,7 @@ ever differ. */ extern UInt32 -AudioGetHostClockMinimumTimeDelta(void) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); +AudioGetHostClockMinimumTimeDelta(void) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioConvertHostTimeToNanos @@ -78,7 +78,7 @@ @result A UInt64 containining the converted host time. */ extern UInt64 -AudioConvertHostTimeToNanos(UInt64 inHostTime) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); +AudioConvertHostTimeToNanos(UInt64 inHostTime) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); /*! @function AudioConvertNanosToHostTime @@ -88,7 +88,7 @@ @result A UInt64 containining the converted nanosecond time. */ extern UInt64 -AudioConvertNanosToHostTime(UInt64 inNanos) __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); +AudioConvertNanosToHostTime(UInt64 inNanos) CA_REALTIME_API __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0); //================================================================================================== 
Clone this wiki locally