From a0263db2174d8889edadd4630dec9b58da0743e7 Mon Sep 17 00:00:00 2001 From: Eric Warmenhoven Date: Fri, 6 Jun 2025 14:10:02 -0400 Subject: [PATCH] iOS: fix/enable coreaudio microphone driver --- audio/audio_driver.c | 2 +- audio/drivers_microphone/coreaudio_mic.m | 4 ++++ griffin/griffin.c | 3 --- griffin/griffin_objc.m | 4 ++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/audio/audio_driver.c b/audio/audio_driver.c index 0009a13fa0..fd22ce5ee7 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -231,7 +231,7 @@ microphone_driver_t *microphone_drivers[] = { #ifdef HAVE_PIPEWIRE µphone_pipewire, #endif -#ifdef HAVE_COREAUDIO +#if defined(HAVE_COREAUDIO) && IOS µphone_coreaudio, #endif µphone_null, diff --git a/audio/drivers_microphone/coreaudio_mic.m b/audio/drivers_microphone/coreaudio_mic.m index 2b5efa566f..0007370744 100644 --- a/audio/drivers_microphone/coreaudio_mic.m +++ b/audio/drivers_microphone/coreaudio_mic.m @@ -208,6 +208,7 @@ static void *coreaudio_microphone_open_mic(void *driver_context, rate = 48000; } +#if TARGET_OS_IPHONE /// Configure audio session AVAudioSession *audioSession = [AVAudioSession sharedInstance]; NSError *error = nil; @@ -232,6 +233,9 @@ static void *coreaudio_microphone_open_mic(void *driver_context, microphone->sample_rate = (int)actualRate; RARCH_LOG("[CoreAudio] Using sample rate: %d Hz\n", microphone->sample_rate); +#else + +#endif /// Set format using helper method coreaudio_microphone_set_format(microphone, false); /// Default to 16-bit integer diff --git a/griffin/griffin.c b/griffin/griffin.c index a09ddf1636..10e75c3ddf 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -890,9 +890,6 @@ AUDIO #include "../gfx/drivers_context/sdl_gl_ctx.c" #ifdef HAVE_MICROPHONE #include "../audio/drivers_microphone/sdl_microphone.c" -#ifdef HAVE_COREAUDIO -#include "../audio/drivers_microphone/coreaudio_mic.m" -#endif #endif #endif diff --git a/griffin/griffin_objc.m b/griffin/griffin_objc.m index 7f73f6aa0d..17e057c0cf 100644 --- a/griffin/griffin_objc.m +++ b/griffin/griffin_objc.m @@ -61,6 +61,10 @@ #include "../audio/drivers/coreaudio3.m" #endif +#if defined(HAVE_COREAUDIO) && defined(HAVE_MICROPHONE) +#include "../audio/drivers_microphone/coreaudio_mic.m" +#endif + #ifdef HAVE_CORELOCATION #include "../location/drivers/corelocation.m" #endif