Skip to content

CoreAudioTypes iOS xcode26.0 b1

Alex Soto edited this page Jun 9, 2025 · 1 revision

#CoreAudioTypes.framework

diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h	2025-04-19 03:21:14
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/CoreAudioTypes.framework/Headers/CoreAudioBaseTypes.h	2025-05-24 01:36:12
@@ -31,6 +31,22 @@
     #define CA_CANONICAL_DEPRECATED
 #endif
 
+
+/*!
+	@macro	CA_REALTIME_API
+	@brief	A function (type) which is guaranteed / required to be realtime safe.
+*/
+#if defined(__has_attribute) && __has_attribute(nonblocking)
+#  ifdef __cplusplus
+#    define CA_REALTIME_API [[clang::nonblocking]]
+#  else
+#    define CA_REALTIME_API __attribute__((nonblocking))
+#  endif
+#else
+#    define CA_REALTIME_API
+#endif
+
+
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wold-style-cast"
 
@@ -653,6 +669,49 @@
     UInt32  mDataByteSize;
 };
 typedef struct AudioStreamPacketDescription AudioStreamPacketDescription;
+
+
+/*!
+    @struct         AudioStreamPacketDependencyDescription
+    @abstract       A structure to provide a description of the dependencies of one audio packet on other audio packets.
+
+    @var            mIsIndependentlyDecodable
+                        1 if the packet is independently decodable, 0 otherwise.
+    @var            mPreRollCount
+                        The count of packets that must be decoded after this packet in order to refresh the decoder,
+                        if the packet is independently decodable.  This value should be ignored if
+                        ``mIsIndependentlyDecodable`` is 0.
+    @var            mFlags
+                        Currently unused.
+    @var            mReserved
+                        Reserved for future use.
+
+    @discussion
+        For independently decodable packets, the ``mPreRollCount`` indicates how many additional packets need
+        to be decoded after this packet in order for the decoder to start returning optimal output,
+        if this is the first packet decoded since the decoder was initialized.
+
+        For example, if this packet is packet #123 of some given packet stream, and ``mIsIndependentlyDecodable``
+        is 0, or ``mIsIndependentlyDecodable`` is 1 and ``mPreRollCount`` is non-zero, and the client desires optimal
+        output starting with the output corresponding with packet #123 (because for example the client
+        is an audio player whose user seeks to a starting playback position corresponding with packet #123),
+        the client would scan back, starting at packet #122, searching for an independently decodable
+        packet with a preroll not intersecting packet #123.  If for packet #122 ``mIsIndependentlyDecodable``
+        is 0, or ``mIsIndependentlyDecodable`` is 1 but ``mPreRollCount`` is 2 or more, the client would still not
+        get optimal output for packet #123 if starting here, so the client continues to scan back.
+        If for packet #121 ``mIsIndependentlyDecodable`` is 1 and ``mPreRollCount`` is 2 or less, the client would
+        start decoding from this point, but discard the output equivalent of the two extra input packets
+        (desired first output packet - actual first decoded packet, or 122 - 120 == 2).
+*/
+struct  AudioStreamPacketDependencyDescription
+{
+    UInt32  mIsIndependentlyDecodable;
+    UInt32  mPreRollCount;
+    UInt32  mFlags;
+    UInt32  mReserved;
+};
+typedef struct AudioStreamPacketDependencyDescription AudioStreamPacketDependencyDescription;
+
 
 //==================================================================================================
 #pragma mark -
Clone this wiki locally