Support for runtime changing of audio output endpoint under WASAPI

This commit is contained in:
Jack Andersen
2016-05-31 18:53:57 -10:00
parent faafbb2d3f
commit 521b490d0f
5 changed files with 218 additions and 54 deletions

View File

@@ -131,6 +131,16 @@ void AudioSubmix::_unbindFrom(std::list<AudioSubmix*>::iterator it)
m_activeSubmixes.erase(it);
}
void AudioSubmix::_resetOutputSampleRate()
{
for (AudioVoice* vox : m_activeVoices)
vox->_resetSampleRate(vox->m_sampleRateIn);
for (AudioSubmix* smx : m_activeSubmixes)
smx->_resetOutputSampleRate();
if (m_cb)
m_cb->resetOutputSampleRate(m_parent.mixInfo().m_sampleRate);
}
std::unique_ptr<IAudioVoice> AudioSubmix::allocateNewMonoVoice(double sampleRate,
IAudioVoiceCallback* cb,
bool dynamicPitch)