1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:17:35 +00:00

LibAudio: Implement PlaybackStream for macOS using Audio Unit framework

https://developer.apple.com/documentation/audiounit

Apple has a number of audio frameworks we could use. This uses the Audio
Unit framework, as it gives us most control over the rendering of the
audio frames (such as being able to quickly pause / discard buffers).
From some reading, we could implement niceties such as fading playback
in and out while seeking over a short (10ms) period. This patch does not
implement such fancy features though.

Co-Authored-By: Andrew Kaster <akaster@serenityos.org>
This commit is contained in:
Timothy Flynn 2023-09-08 13:16:50 -04:00 committed by Tim Flynn
parent d0fd34112f
commit 759e07579e
5 changed files with 448 additions and 4 deletions

View file

@ -32,7 +32,7 @@ STREAM_TEST(create_and_destroy_playback_stream)
Core::EventLoop event_loop;
bool has_implementation = false;
#if defined(AK_OS_SERENITY) || defined(HAVE_PULSEAUDIO)
#if defined(AK_OS_SERENITY) || defined(HAVE_PULSEAUDIO) || defined(AK_OS_MACOS)
has_implementation = true;
#endif