From 1b25acd18450401b96e1c92767f4c8d039f0b8a2 Mon Sep 17 00:00:00 2001 From: jcm <6864788+jcm93@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:25:22 -0500 Subject: [PATCH] UI: Don't create default desktop audio source on macOS 13+ --- UI/platform-osx.mm | 9 +++++++++ UI/platform.hpp | 1 + UI/window-basic-main.cpp | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/UI/platform-osx.mm b/UI/platform-osx.mm index 75f4adfba..07f1d77b8 100644 --- a/UI/platform-osx.mm +++ b/UI/platform-osx.mm @@ -133,6 +133,15 @@ void SetAlwaysOnTop(QWidget *window, bool enable) window->show(); } +bool shouldCreateDefaultAudioSource(void) +{ + if (@available(macOS 13, *)) { + return false; + } else { + return true; + } +} + bool SetDisplayAffinitySupported(void) { // Not implemented yet diff --git a/UI/platform.hpp b/UI/platform.hpp index bf45879f9..9e9125ad7 100644 --- a/UI/platform.hpp +++ b/UI/platform.hpp @@ -104,6 +104,7 @@ void InstallNSApplicationSubclass(); void InstallNSThreadLocks(); void disableColorSpaceConversion(QWidget *window); void SetMacOSDarkMode(bool dark); +bool shouldCreateDefaultAudioSource(); MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type, bool prompt_for_permission); diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index aea1c4d4f..04e71bfff 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -997,6 +997,10 @@ void OBSBasic::CreateFirstRunSources() bool hasDesktopAudio = HasAudioDevices(App()->OutputAudioSource()); bool hasInputAudio = HasAudioDevices(App()->InputAudioSource()); +#ifdef __APPLE__ + hasDesktopAudio = hasDesktopAudio && shouldCreateDefaultAudioSource(); +#endif + if (hasDesktopAudio) ResetAudioDevice(App()->OutputAudioSource(), "default", Str("Basic.DesktopDevice1"), 1);