1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

FCD: use AudioDeviceManager in place of manupulating AudioInputDevice directly

This commit is contained in:
f4exb
2023-07-10 03:38:40 +02:00
parent e51e8c23b2
commit df917bb489
5 changed files with 18 additions and 20 deletions
+9 -7
View File
@@ -176,11 +176,13 @@ bool FCDProInput::openFCDAudio(const char* cardname)
if (itAudio.deviceName().contains(QString(cardname)))
{
int fcdDeviceIndex = audioDeviceManager->getInputDeviceIndex(itAudio.deviceName());
m_fcdAudioInput.start(fcdDeviceIndex, fcd_traits<Pro>::sampleRate);
int fcdSampleRate = m_fcdAudioInput.getRate();
qDebug("FCDProPlusInput::openFCDAudio: %s index %d at %d S/s",
itAudio.deviceName().toStdString().c_str(), fcdDeviceIndex, fcdSampleRate);
m_fcdAudioInput.addFifo(&m_fcdFIFO);
AudioDeviceManager::InputDeviceInfo fcdDeviceInfo;
audioDeviceManager->getInputDeviceInfo(itAudio.deviceName(), fcdDeviceInfo);
fcdDeviceInfo.sampleRate = fcd_traits<Pro>::sampleRate;
audioDeviceManager->setInputDeviceInfo(fcdDeviceIndex, fcdDeviceInfo);
audioDeviceManager->addAudioSource(&m_fcdFIFO, getInputMessageQueue(), fcdDeviceIndex);
qDebug("FCDProPlusInput::openFCDAudio: %s index %d",
itAudio.deviceName().toStdString().c_str(), fcdDeviceIndex);
return true;
}
}
@@ -191,8 +193,8 @@ bool FCDProInput::openFCDAudio(const char* cardname)
void FCDProInput::closeFCDAudio()
{
m_fcdAudioInput.removeFifo(&m_fcdFIFO);
m_fcdAudioInput.stop();
AudioDeviceManager *audioDeviceManager = DSPEngine::instance()->getAudioDeviceManager();
audioDeviceManager->removeAudioSource(&m_fcdFIFO);
}
void FCDProInput::stop()