From 9ec388747909fe1f87d581113f6e48d70c3a1a42 Mon Sep 17 00:00:00 2001 From: David Reid Date: Mon, 25 Jan 2021 21:04:43 +1000 Subject: [PATCH] iOS: Experiment with some improvements to automatic stream routing. --- miniaudio.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/miniaudio.h b/miniaudio.h index 3436d5e9..f5cc87b0 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -25995,8 +25995,19 @@ static ma_result ma_device__untrack__coreaudio(ma_device* pDevice) case AVAudioSessionRouteChangeReasonNewDeviceAvailable: { #if defined(MA_DEBUG_OUTPUT) - printf("[Core Audio] Route Changed: AVAudioSessionRouteChangeReasonNewDeviceAvailable\n"); + printf("[Core Audio] Route Changed: AVAudioSessionRouteChangeReasonNewDeviceAvailable. inputNumberChannels=%d; outputNumberOfChannels=%d.\n", pSession.inputNumberOfChannels, pSession.outputNumberOfChannels); #endif + + m_pDevice->sampleRate = (ma_uint32)pSession.sampleRate; + + if (m_pDevice->type == ma_device_type_capture || m_pDevice->type == ma_device_type_duplex) { + m_pDevice->capture.internalChannels = (ma_uint32)pSession.inputNumberOfChannels; + ma_device__post_init_setup(m_pDevice, ma_device_type_capture); + } + if (m_pDevice->type == ma_device_type_playback || m_pDevice->type == ma_device_type_duplex) { + m_pDevice->playback.internalChannels = (ma_uint32)pSession.outputNumberOfChannels; + ma_device__post_init_setup(m_pDevice, ma_device_type_playback); + } } break; case AVAudioSessionRouteChangeReasonNoSuitableRouteForCategory: @@ -26035,17 +26046,6 @@ static ma_result ma_device__untrack__coreaudio(ma_device* pDevice) #endif } break; } - - m_pDevice->sampleRate = (ma_uint32)pSession.sampleRate; - - if (m_pDevice->type == ma_device_type_capture || m_pDevice->type == ma_device_type_duplex) { - m_pDevice->capture.internalChannels = (ma_uint32)pSession.inputNumberOfChannels; - ma_device__post_init_setup(m_pDevice, ma_device_type_capture); - } - if (m_pDevice->type == ma_device_type_playback || m_pDevice->type == ma_device_type_duplex) { - m_pDevice->playback.internalChannels = (ma_uint32)pSession.outputNumberOfChannels; - ma_device__post_init_setup(m_pDevice, ma_device_type_playback); - } } @end #endif