From b0dc6709b9735d22b2713a7b76e5bc0892a0e5df Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 7 Nov 2022 14:26:48 -0500
Subject: [PATCH] coreaudio: Don't use deprecated
kAudioObjectPropertyElementMaster symbol.
Fixes #6449.
---
src/audio/coreaudio/SDL_coreaudio.h | 8 ++++++++
src/audio/coreaudio/SDL_coreaudio.m | 24 ++++++++++++------------
2 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/src/audio/coreaudio/SDL_coreaudio.h b/src/audio/coreaudio/SDL_coreaudio.h
index b426ea40458b..9353046a4af4 100644
--- a/src/audio/coreaudio/SDL_coreaudio.h
+++ b/src/audio/coreaudio/SDL_coreaudio.h
@@ -39,6 +39,14 @@
#include <AudioToolbox/AudioToolbox.h>
#include <AudioUnit/AudioUnit.h>
+/* Things named "Master" were renamed to "Main" in macOS 12.0's SDK. */
+#if MACOSX_COREAUDIO
+#include <AvailabilityMacros.h>
+#ifndef MAC_OS_VERSION_12_0
+#define kAudioObjectPropertyElementMain kAudioObjectPropertyElementMaster
+#endif
+#endif
+
/* Hidden "this" pointer for the audio functions */
#define _THIS SDL_AudioDevice *this
diff --git a/src/audio/coreaudio/SDL_coreaudio.m b/src/audio/coreaudio/SDL_coreaudio.m
index dbd85f489091..d223359122e9 100644
--- a/src/audio/coreaudio/SDL_coreaudio.m
+++ b/src/audio/coreaudio/SDL_coreaudio.m
@@ -53,7 +53,7 @@
static const AudioObjectPropertyAddress devlist_address = {
kAudioHardwarePropertyDevices,
kAudioObjectPropertyScopeGlobal,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
typedef void (*addDevFn)(const char *name, SDL_AudioSpec *spec, const int iscapture, AudioDeviceID devId, void *data);
@@ -131,17 +131,17 @@
const AudioObjectPropertyAddress addr = {
kAudioDevicePropertyStreamConfiguration,
iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
const AudioObjectPropertyAddress nameaddr = {
kAudioObjectPropertyName,
iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
const AudioObjectPropertyAddress freqaddr = {
kAudioDevicePropertyNominalSampleRate,
iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
result = AudioObjectGetPropertyDataSize(dev, &addr, 0, NULL, &size);
@@ -642,7 +642,7 @@ static BOOL update_audio_session(_THIS, SDL_bool open, SDL_bool allow_playandrec
{
kAudioDevicePropertyDeviceIsAlive,
kAudioObjectPropertyScopeGlobal,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
static OSStatus
@@ -764,7 +764,7 @@ static BOOL update_audio_session(_THIS, SDL_bool open, SDL_bool allow_playandrec
AudioObjectPropertyAddress addr = {
0,
kAudioObjectPropertyScopeGlobal,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
if (handle == NULL) {
@@ -811,7 +811,7 @@ static BOOL update_audio_session(_THIS, SDL_bool open, SDL_bool allow_playandrec
const AudioObjectPropertyAddress prop = {
kAudioDevicePropertyDeviceUID,
this->iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
OSStatus result;
@@ -960,7 +960,7 @@ static BOOL update_audio_session(_THIS, SDL_bool open, SDL_bool allow_playandrec
const AudioObjectPropertyAddress default_device_address = {
this->iscapture ? kAudioHardwarePropertyDefaultInputDevice : kAudioHardwarePropertyDefaultOutputDevice,
kAudioObjectPropertyScopeGlobal,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
if (this->handle == NULL) { /* opened the default device? Register to know if the user picks a new default. */
@@ -1185,24 +1185,24 @@ output device (in which case we'll try again). */
: kAudioHardwarePropertyDefaultOutputDevice,
iscapture ? kAudioDevicePropertyScopeInput
: kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
AudioObjectPropertyAddress nameaddr = {
kAudioObjectPropertyName,
iscapture ? kAudioDevicePropertyScopeInput
: kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
AudioObjectPropertyAddress freqaddr = {
kAudioDevicePropertyNominalSampleRate,
iscapture ? kAudioDevicePropertyScopeInput
: kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
AudioObjectPropertyAddress bufaddr = {
kAudioDevicePropertyStreamConfiguration,
iscapture ? kAudioDevicePropertyScopeInput : kAudioDevicePropertyScopeOutput,
- kAudioObjectPropertyElementMaster
+ kAudioObjectPropertyElementMain
};
/* Get the Device ID */