summaryrefslogtreecommitdiffstats
path: root/audio/out
diff options
context:
space:
mode:
authorCallum Moffat <smartercallum@gmail.com>2024-12-12 23:40:10 -0500
committerder richter <der.richter@gmx.de>2024-12-31 13:51:44 +0100
commit748fc2b752091ec9d8addbc5c4041d55e877c196 (patch)
treedb39ef98f65c8b3c0e7a45e9df12cda5e0ebed0e /audio/out
parent11dcd445d9140da9259c34eb03d8bd89d4271ff1 (diff)
downloadmpv-748fc2b752091ec9d8addbc5c4041d55e877c196.tar.bz2
mpv-748fc2b752091ec9d8addbc5c4041d55e877c196.tar.xz
ao_audiounit: add --audio-exclusiv support, make non-exclusive default
Diffstat (limited to 'audio/out')
-rw-r--r--audio/out/ao_audiounit.m7
1 files changed, 6 insertions, 1 deletions
diff --git a/audio/out/ao_audiounit.m b/audio/out/ao_audiounit.m
index d35912ceb8..8d4eb4d375 100644
--- a/audio/out/ao_audiounit.m
+++ b/audio/out/ao_audiounit.m
@@ -115,7 +115,12 @@ static bool init_audiounit(struct ao *ao)
MP_VERBOSE(ao, "max channels: %ld, requested: %d\n", maxChannels, (int)ao->channels.num);
- [instance setCategory:AVAudioSessionCategoryPlayback error:nil];
+ AVAudioSessionCategoryOptions options = 0;
+ if (!(ao->init_flags & AO_INIT_EXCLUSIVE)) {
+ options |= AVAudioSessionCategoryOptionMixWithOthers;
+ }
+
+ [instance setCategory:AVAudioSessionCategoryPlayback withOptions:options error:nil];
[instance setMode:AVAudioSessionModeMoviePlayback error:nil];
[instance setActive:YES error:nil];
[instance setPreferredOutputNumberOfChannels:prefChannels error:nil];