summaryrefslogtreecommitdiff
path: root/SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2026-03-06 13:26:57 -0800
committer3gg <3gg@shellblade.net>2026-03-06 13:26:57 -0800
commitf5c89b3bd5d74849757fd5b4d1a300068522a3ca (patch)
treed6f6e4c81745b393d7594b334710f30c0b2df3bd /SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h
Initial commitHEADmain
Diffstat (limited to 'SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h')
-rw-r--r--SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h b/SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h
new file mode 100644
index 0000000..f117c09
--- /dev/null
+++ b/SDL-3.2.8/src/audio/coreaudio/SDL_coreaudio.h
@@ -0,0 +1,68 @@
1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21#include "SDL_internal.h"
22
23#ifndef SDL_coreaudio_h_
24#define SDL_coreaudio_h_
25
26#include "../SDL_sysaudio.h"
27
28#ifndef SDL_PLATFORM_IOS
29#define MACOSX_COREAUDIO
30#endif
31
32#ifdef MACOSX_COREAUDIO
33#include <CoreAudio/CoreAudio.h>
34#else
35#import <AVFoundation/AVFoundation.h>
36#import <UIKit/UIApplication.h>
37#endif
38
39#include <AudioToolbox/AudioToolbox.h>
40#include <AudioUnit/AudioUnit.h>
41
42// Things named "Master" were renamed to "Main" in macOS 12.0's SDK.
43#ifdef MACOSX_COREAUDIO
44#include <AvailabilityMacros.h>
45#ifndef MAC_OS_VERSION_12_0
46#define kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster
47#endif
48#endif
49
50struct SDL_PrivateAudioData
51{
52 SDL_Thread *thread;
53 AudioQueueRef audioQueue;
54 int numAudioBuffers;
55 AudioQueueBufferRef *audioBuffer;
56 AudioQueueBufferRef current_buffer;
57 AudioStreamBasicDescription strdesc;
58 SDL_Semaphore *ready_semaphore;
59 char *thread_error;
60#ifdef MACOSX_COREAUDIO
61 AudioDeviceID deviceID;
62#else
63 bool interrupted;
64 CFTypeRef interruption_listener;
65#endif
66};
67
68#endif // SDL_coreaudio_h_