Skip to content

AudioToolbox iOS xcode26.0 b1

Rolf Bjarne Kvinge edited this page Jun 24, 2025 · 3 revisions

#AudioToolbox.framework

Rolf

diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUComponent.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUComponent.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUComponent.h	2025-04-19 04:03:15
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AUComponent.h	2025-05-24 01:40:36
@@ -463,6 +463,9 @@
  
 	@constant       kAudioUnitSubType_AUSoundIsolation
 					An audio unit that can be used to isolate a specified sound type
+ 
+	@constant       kAudioUnitSubType_AUAudioMix
+					An audio unit that supports AudioMix separate-and-remix functionality
 */
 CF_ENUM(UInt32) {
 	kAudioUnitSubType_PeakLimiter			= 'lmtr',
@@ -479,6 +482,7 @@
 	kAudioUnitSubType_NBandEQ				= 'nbeq',
     kAudioUnitSubType_Reverb2               = 'rvb2',
 	kAudioUnitSubType_AUSoundIsolation API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) = 'vois',
+	kAudioUnitSubType_AUAudioMix API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 'amix',
 };
 
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioCodec.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioCodec.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioCodec.h	2025-04-19 05:14:29
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioCodec.h	2025-05-24 01:40:36
@@ -444,7 +444,7 @@
 						unreliable IP networks where the encoder needs to adapt immediately to network condition changes.
 						Escape property ID's start with a '^' symbol as the first char code. This bypasses the initilization check.
     @constant		kAudioCodecPropertyDynamicRangeControlMode
-						A UInt32 specifying the DRC mode. Supported modes are defined as enum with the
+						A UInt32 specifying the decoder DRC mode. Supported modes are defined as enum with the
 						prefix kDynamicRangeControlMode (see below). For certain legacy metadata this property controls which
 						dynamic range compression scheme is applied if the information is present in
 						the bitstream. The default is kDynamicRangeControlMode_None.
@@ -472,6 +472,18 @@
                         A Float32 specifying the program target loudness in LKFS for decoders. It has the same effect
                         as kAudioCodecPropertyProgramTargetLevel, but this property can also be set on an initialized decoder
                         object. It will be applied immediately, if supported.
+    @constant        kAudioCodecPropertyDynamicRangeControlConfiguration
+                        A UInt32 specifying the encoder DRC configuration. Configurations are defined as enum with the prefix
+                        kAudioCodecDynamicRangeControlConfiguration_. When supported by the encoder, this property controls which
+                        configuration is applied when a bitstream is generated. The default configuration for an APAC
+                        encoder is kAudioCodecDynamicRangeControlConfiguration_Capture, otherwise it is kAudioCodecDynamicRangeControlConfiguration_None.
+    @constant        kAudioCodecPropertyContentSource
+                        An SInt32 index to select a pre-defined content source type that describes the content type and how it was generated.
+                        This is an encoder property with read/write access, if supported.  Supported values are defined with a prefix kAudioCodecContentSource_.
+    @constant        kAudioCodecPropertyASPFrequency
+                        A UInt32 to set the frequency of Audio Sync Packets (ASP). The value must be larger than 2.
+                        A recommended value is 75 so that each 75th packet is an ASP.
+                        This is an encoder property with read/write access, if supported.
 */
 CF_ENUM(AudioCodecPropertyID)
 {
@@ -512,6 +524,9 @@
     kAudioCodecPropertyAdjustTargetLevelConstant                                = '^tlc',
     kAudioCodecPropertyProgramTargetLevel                                       = 'pptl',
     kAudioCodecPropertyAdjustTargetLevel                                        = '^ptl',
+    kAudioCodecPropertyDynamicRangeControlConfiguration                         = 'cdrc',
+    kAudioCodecPropertyContentSource                                            = 'csrc',
+    kAudioCodecPropertyASPFrequency                                             = 'aspf',
 };
 
 
@@ -685,6 +700,109 @@
     kDynamicRangeCompressionProfile_NoisyEnvironment        = 2,
     kDynamicRangeCompressionProfile_LimitedPlaybackRange    = 3,
     kDynamicRangeCompressionProfile_GeneralCompression      = 6
+};
+
+/*!
+    @enum            AudioCodecDynamicRangeControlConfiguration
+
+    @discussion     Constants to be used with kAudioCodecPropertyDynamicRangeControlConfiguration for encoding
+
+    @constant       kAudioCodecDynamicRangeControlConfiguration_None
+                        Dynamic range compression disabled
+    @constant       kAudioCodecDynamicRangeControlConfiguration_Music
+                        Dynamic range compression for music
+    @constant       kAudioCodecDynamicRangeControlConfiguration_Speech
+                        Dynamic range compression for speech
+    @constant       kAudioCodecDynamicRangeControlConfiguration_Movie
+                        Dynamic range compression for movie sound tracks
+    @constant       kAudioCodecDynamicRangeControlConfiguration_Capture
+                        Dynamic range compression for capture (live encoding)
+*/
+CF_ENUM(UInt32)
+{
+    kAudioCodecDynamicRangeControlConfiguration_None     = 0,
+    kAudioCodecDynamicRangeControlConfiguration_Music    = 1,
+    kAudioCodecDynamicRangeControlConfiguration_Speech   = 2,
+    kAudioCodecDynamicRangeControlConfiguration_Movie    = 3,
+    kAudioCodecDynamicRangeControlConfiguration_Capture  = 4
+};
+
+/*!
+    @enum           AudioCodecContentSource
+
+    @discussion     Constants to be used with kAudioCodecPropertyContentSource to indicate the content type.
+
+    @constant       kAudioCodecContentSource_Unspecified
+                        Unspecified content source
+    @constant       kAudioCodecContentSource_Reserved
+                        Reserved index
+    @constant       kAudioCodecContentSource_AppleCapture_Traditional
+                        Traditional Apple device capture
+    @constant       kAudioCodecContentSource_AppleCapture_Spatial
+                        Spatial Apple device capture
+    @constant       kAudioCodecContentSource_AppleCapture_Spatial_Enhanced
+                        Reserved for Apple use
+    @constant       kAudioCodecContentSource_AppleMusic_Traditional
+                        Traditional Apple music and music video content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_AppleMusic_Spatial
+                        Spatial Apple music and music video content
+    @constant       kAudioCodecContentSource_AppleAV_Traditional_Offline
+                        Traditional Apple professional AV offline encoded content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_AppleAV_Spatial_Offline
+                        Spatial Apple professional AV offline encoded content
+    @constant       kAudioCodecContentSource_AppleAV_Traditional_Live
+                        Traditional Apple professional AV live content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_AppleAV_Spatial_Live
+                        Spatial Apple professional AV live content
+    @constant       kAudioCodecContentSource_ApplePassthrough
+                        Apple passthrough content (use only if source information is not available)
+
+    @constant       kAudioCodecContentSource_Capture_Traditional
+                        Traditional device capture
+    @constant       kAudioCodecContentSource_Capture_Spatial
+                        Spatial device capture
+    @constant       kAudioCodecContentSource_Capture_Spatial_Enhanced
+                        Reserved for future use
+    @constant       kAudioCodecContentSource_Music_Traditional
+                        Traditional music and music video content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_Music_Spatial
+                        Spatial music and music video content
+    @constant       kAudioCodecContentSource_AV_Traditional_Offline
+                        Traditional professional AV offline encoded content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_AV_Spatial_Offline
+                        Spatial professional AV offline encoded content
+    @constant       kAudioCodecContentSource_AV_Traditional_Live
+                        Traditional professional AV live content such as stereo and multichannel
+    @constant       kAudioCodecContentSource_AV_Spatial_Live
+                        Spatial professional AV live content
+    @constant       kAudioCodecContentSource_Passthrough
+                        Passthrough content (use only if source information is not available)
+*/
+CF_ENUM(SInt32)
+{
+    kAudioCodecContentSource_Unspecified                    = -1,
+    kAudioCodecContentSource_Reserved                       = 0,
+    kAudioCodecContentSource_AppleCapture_Traditional       = 1,
+    kAudioCodecContentSource_AppleCapture_Spatial           = 2,
+    kAudioCodecContentSource_AppleCapture_Spatial_Enhanced  = 3,
+    kAudioCodecContentSource_AppleMusic_Traditional         = 4,
+    kAudioCodecContentSource_AppleMusic_Spatial             = 5,
+    kAudioCodecContentSource_AppleAV_Traditional_Offline    = 6,
+    kAudioCodecContentSource_AppleAV_Spatial_Offline        = 7,
+    kAudioCodecContentSource_AppleAV_Traditional_Live       = 8,
+    kAudioCodecContentSource_AppleAV_Spatial_Live           = 9,
+    kAudioCodecContentSource_ApplePassthrough               = 10,
+    
+    kAudioCodecContentSource_Capture_Traditional            = 33,
+    kAudioCodecContentSource_Capture_Spatial                = 34,
+    kAudioCodecContentSource_Capture_Spatial_Enhanced       = 35,
+    kAudioCodecContentSource_Music_Traditional              = 36,
+    kAudioCodecContentSource_Music_Spatial                  = 37,
+    kAudioCodecContentSource_AV_Traditional_Offline         = 38,
+    kAudioCodecContentSource_AV_Spatial_Offline             = 39,
+    kAudioCodecContentSource_AV_Traditional_Live            = 40,
+    kAudioCodecContentSource_AV_Spatial_Live                = 41,
+    kAudioCodecContentSource_Passthrough                    = 42
 };
 
 /*!
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h	2025-04-19 03:40:58
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioConverter.h	2025-05-28 07:59:14
@@ -782,6 +784,20 @@
                                         AudioStreamPacketDescription * __nullable * __nullable outDataPacketDescription,
                                         void * __nullable               inUserData);
 
+/*!
+	@typedef	AudioConverterComplexInputDataProcRealtimeSafe
+	@abstract	Realtime-safe variant of AudioConverterComplexInputDataProc.
+	
+	See the discussions of AudioConverterComplexInputDataProc and AudioConverterFillComplexBuffer.
+*/
+typedef OSStatus
+(*AudioConverterComplexInputDataProcRealtimeSafe)(
+                                        AudioConverterRef               inAudioConverter,
+                                        UInt32 *                        ioNumberDataPackets,
+                                        AudioBufferList *               ioData,
+                                        AudioStreamPacketDescription * __nullable * __nullable outDataPacketDescription,
+                                        void * __nullable               inUserData) CA_REALTIME_API;
+
 //-----------------------------------------------------------------------------
 /*!
     @function   AudioConverterFillComplexBuffer
@@ -828,7 +844,75 @@
                                     AudioStreamPacketDescription * __nullable outPacketDescription)
                                                                                 API_AVAILABLE(macos(10.2), ios(2.0), watchos(2.0), tvos(9.0));
 
+/*!
+    @function   AudioConverterFillComplexBufferRealtimeSafe
+    @abstract   Identical to AudioConverterFillComplexBuffer, with the addition of a realtime-safety
+    			guarantee.
+	
+	Conversions involving only PCM formats -- interleaving, deinterleaving, channel count changes,
+	sample rate conversions -- are realtime-safe. Such conversions may use this API in order to
+	obtain compiler checks involving the `CA_REALTIME_API` attributes.
+	
+	At runtime, this function returns `kAudioConverterErr_OperationNotSupported` if the conversion 
+	requires non-realtime-safe functionality.
+*/
+extern OSStatus
+AudioConverterFillComplexBufferRealtimeSafe(
+                                    AudioConverterRef                   inAudioConverter,
+                                    AudioConverterComplexInputDataProcRealtimeSafe inInputDataProc,
+                                    void * __nullable                   inInputDataProcUserData,
+                                    UInt32 *                            ioOutputDataPacketSize,
+                                    AudioBufferList *                   outOutputData,
+                                    AudioStreamPacketDescription * __nullable outPacketDescription)
+                                        CA_REALTIME_API
+                                        API_AVAILABLE(macos(26.0), ios(26.0), watchos(26.0), tvos(26.0), visionos(26.0));
 
+/*!
+    @function   AudioConverterFillComplexBufferWithPacketDependencies
+    @abstract   Converts audio data supplied by a callback function, supporting non-interleaved and
+                packetized formats, and also supporting packet dependency descriptions.
+    @discussion For output formats that use packet dependency descriptions, this must be used instead of
+                AudioConverterFillComplexBuffer, which will return an error for such formats.
+    @param inAudioConverter         The audio converter to use for format conversion.
+    @param inInputDataProc          A callback function that supplies audio data to convert.
+                                    This callback is invoked repeatedly as the converter is ready for
+                                    new input data.
+    @param inInputDataProcUserData  Custom data for use by your application when receiving a
+                                    callback invocation.
+    @param ioOutputDataPacketSize   On input, the size of the output buffer (in the `outOutputData`
+                                    parameter), expressed in number packets in the audio converter’s
+                                    output format.  On output, the number of packets of converted data
+                                    that were written to the output buffer.
+    @param outOutputData            The converted output data is written to this buffer. On entry, the
+                                    buffers' `mDataByteSize` fields (which must all be the same) reflect
+                                    buffer capacity.  On exit, `mDataByteSize` is set to the number of
+                                    bytes written.
+    @param outPacketDescriptions    If not `NULL`, and if the audio converter's output format uses packet
+                                    descriptions, this must point to a block of memory capable of holding
+                                    the number of packet descriptions specified in the `ioOutputDataPacketSize`
+                                    parameter.  (See _Audio Format Services Reference_ for functions that
+                                    let you determine whether an audio format uses packet descriptions).
+                                    If not `NULL` on output and if the audio converter's output format
+                                    uses packet descriptions, then this parameter contains an array of
+                                    packet descriptions.
+    @param outPacketDependencies    Should point to a memory block capable of holding the number of
+                                    packet dependency description structures specified in the
+                                    `ioOutputDataPacketSize` parameter.  Must not be `NULL`.  This array
+                                    will be filled out only by encoders that produce a format which has a
+                                    non-zero value for `kAudioFormatProperty_FormatEmploysDependentPackets`.
+    @result                         A result code.
+*/
+OSStatus
+AudioConverterFillComplexBufferWithPacketDependencies(
+    AudioConverterRef                            inAudioConverter,
+    AudioConverterComplexInputDataProc           inInputDataProc,
+    void * __nullable                            inInputDataProcUserData,
+    UInt32 *                                     ioOutputDataPacketSize,
+    AudioBufferList *                            outOutputData,
+    AudioStreamPacketDescription * __nullable    outPacketDescriptions,
+    AudioStreamPacketDependencyDescription *     outPacketDependencies)
+API_AVAILABLE(macos(26.0), ios(26.0), watchos(26.0), tvos(26.0), visionos(26.0));
+
 //-----------------------------------------------------------------------------
 /*!
     @function   AudioConverterConvertComplexBuffer
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioFile.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioFile.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioFile.h	2025-04-19 01:38:16
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioFile.h	2025-05-28 07:59:15
@@ -922,6 +922,39 @@
 
 
 /*!
+    @function   AudioFileWritePacketsWithDependencies
+    @abstract   Write packets of audio data with corresponding packet dependencies to an audio data file.
+    @discussion For all uncompressed formats, `packets == frames`.
+    @param inAudioFile          The audio file to write to.
+    @param inUseCache           Set to `true` if you want to cache the data. Otherwise, set to `false`.
+    @param inNumBytes           The number of bytes of audio data being written.
+    @param inPacketDescriptions A pointer to an array of packet descriptions for the audio data.
+                                Not all formats require packet descriptions. If no packet descriptions
+                                are required, for instance, if you are writing CBR data,  pass `NULL`.
+    @param inPacketDependencies A pointer to an array of packet dependencies for the audio data.
+                                This must not be `NULL`.  To write packets without dependencies,
+                                use ``AudioFileWritePackets`` instead.
+    @param inStartingPacket     The packet index for the placement of the first provided packet.
+    @param ioNumPackets         On input, a pointer to the number of packets to write.
+                                On output, a pointer to the number of packets actually written.
+    @param inBuffer             A pointer to user-allocated memory containing the new audio data
+                                to write to the audio data file.
+    @result                     A result code. See Result Codes.
+*/
+extern OSStatus
+AudioFileWritePacketsWithDependencies (
+    AudioFileID                                         inAudioFile,
+    Boolean                                             inUseCache,
+    UInt32                                              inNumBytes,
+    const AudioStreamPacketDescription * __nullable     inPacketDescriptions,
+    const AudioStreamPacketDependencyDescription *      inPacketDependencies,
+    SInt64                                              inStartingPacket,
+    UInt32 *                                            ioNumPackets,
+    const void *                                        inBuffer)
+API_AVAILABLE(macos(26.0), ios(26.0), watchos(26.0), tvos(26.0), visionos(26.0));
+
+
+/*!
     @function	AudioFileCountUserData
     @abstract   Get the number of user data items with a certain ID in the file
     @discussion		"User Data" refers to chunks in AIFF, CAF and WAVE files, or resources 
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h	2025-04-19 01:38:15
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitParameters.h	2025-05-30 23:17:49
@@ -726,6 +726,61 @@
     kAUSoundIsolationSoundType_Voice API_AVAILABLE(macos(13.0), ios(16.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos) = 1
 };
 
+// Parameters for AUAudioMix
+CF_ENUM(AudioUnitParameterID) {
+    // Global, Enum, 0->9, 0
+    kAUAudioMixParameter_Style API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 0,
+    // Global, float, 0->1, 0.5
+    kAUAudioMixParameter_RemixAmount API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 1,
+};
+
+/*!
+ @enum          AUAudioMix styles
+ @brief         Constants available as values for parameter kAUAudioMixParameter_Style.
+ 
+ @constant      kAudioMixRenderingStyle_Cinematic
+    Cinematic rendering style (default)
+
+ @constant      kAudioMixRenderingStyle_Studio
+    Studio rendering style
+ 
+ @constant      kAudioMixRenderingStyle_InFrame
+    In-Frame rendering style
+ 
+ @constant      kAudioMixRenderingStyle_CinematicBackgroundStem
+    Cinematic rendering style - background only
+ 
+ @constant      kAudioMixRenderingStyle_CinematicForegroundStem
+    Cinematic rendering style - foreground only
+ 
+ @constant      kAudioMixRenderingStyle_StudioForegroundStem
+    Studio rendering style - foreground only
+ 
+ @constant      kAudioMixRenderingStyle_InFrameForegroundStem
+    In-Frame rendering style - foreground only
+ 
+ @constant      kAudioMixRenderingStyle_Standard
+    Standard rendering style
+ 
+ @constant      kAudioMixRenderingStyle_StudioBackgroundStem
+    Studio rendering style - background only
+ 
+ @constant      kAudioMixRenderingStyle_InFrameBackgroundStem
+    In-Frame rendering style - background only
+ */
+typedef CF_ENUM( UInt32, AUAudioMixRenderingStyle ) {
+    kAudioMixRenderingStyle_Cinematic API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 0,
+    kAudioMixRenderingStyle_Studio API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 1,
+    kAudioMixRenderingStyle_InFrame API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 2,
+    kAudioMixRenderingStyle_CinematicBackgroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 3,
+    kAudioMixRenderingStyle_CinematicForegroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 4,
+    kAudioMixRenderingStyle_StudioForegroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 5,
+    kAudioMixRenderingStyle_InFrameForegroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 6,
+    kAudioMixRenderingStyle_Standard API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 7,
+    kAudioMixRenderingStyle_StudioBackgroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 8,
+    kAudioMixRenderingStyle_InFrameBackgroundStem API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 9,
+};
+
 #pragma mark Apple Specific - Desktop
 
 #if !TARGET_OS_IPHONE
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitProperties.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitProperties.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitProperties.h	2025-04-19 05:14:29
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AudioToolbox.framework/Headers/AudioUnitProperties.h	2025-05-28 07:59:14
@@ -3169,6 +3181,35 @@
 
 
 //=====================================================================================================================
+#pragma mark - AUAudioMix
+/*!
+    @enum           AUAudioMix Property IDs
+    @abstract       The collection of property IDs for AUAudioMix
+ 
+    @discussion     AUAudioMix also supports kAudioUnitProperty_SpatialMixerOutputType
+                    This sets the type of output hardware used by AUSpatialMixer when spatialization is enabled.
+                    See AUSpatialMixer properties and AUSpatialMixerOutputType
+    
+    @constant        kAUAudioMixProperty_SpatialAudioMixMetadata
+                       Scope:            Global
+                        Value Type:     CFDataRef
+                        Access:           Read / Write
+ 
+                        Remix metadata from the file asset
+                        
+    @constant        kAUAudioMixProperty_EnableSpatialization
+                        Scope:            Global
+                        Value Type:     UInt32
+                        Access:           Read / Write
+ 
+                        0 - Output format is FOA + mono foreground (Default)
+                        1 - Enable AUSpatialMixer to render to mono/stereo/surround formats
+ */
+CF_ENUM(AudioUnitPropertyID) {
+    kAUAudioMixProperty_SpatialAudioMixMetadata API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 5000,
+    kAUAudioMixProperty_EnableSpatialization API_AVAILABLE(macos(26.0), ios(26.0)) API_UNAVAILABLE(watchos, tvos, visionos) = 5001,
+};
+
 #pragma mark - _3DMixer (Deprecated)
 /*!
     // AUMixer3D is deprecated. Use AUSpatialMixer instead.
Clone this wiki locally