diff --git a/src/blackcore/audiodevice.h b/src/blackcore/audiodevice.h index fe0f4fd2b..6564c7e62 100644 --- a/src/blackcore/audiodevice.h +++ b/src/blackcore/audiodevice.h @@ -41,6 +41,9 @@ namespace BlackCore //! Set new input device virtual void setInputDevice(const BlackMisc::Audio::CAudioDeviceInfo &device) = 0; + + //! Is this a real or dummy device? + virtual bool isDummyDevice() const = 0; }; //! Dummy inout device @@ -63,6 +66,9 @@ namespace BlackCore //! \copydoc IAudioInputDevice::setInputDevice virtual void setInputDevice(const BlackMisc::Audio::CAudioDeviceInfo &device) override { m_currentDevice = device; } + //! \copydoc IAudioInputDevice::isDummyDevice + virtual bool isDummyDevice() const override { return true; } + private: BlackMisc::Audio::CAudioDeviceInfoList m_devices; /*!< in and output devices */ BlackMisc::Audio::CAudioDeviceInfo m_currentDevice; diff --git a/src/blackcore/context/contextaudioimpl.cpp b/src/blackcore/context/contextaudioimpl.cpp index d85f40261..603db3d37 100644 --- a/src/blackcore/context/contextaudioimpl.cpp +++ b/src/blackcore/context/contextaudioimpl.cpp @@ -132,7 +132,10 @@ namespace BlackCore { m_audioMixer = m_voice->createAudioMixer(); - m_voice->connectVoice(m_voiceInputDevice.get(), m_audioMixer.get(), IAudioMixer::InputMicrophone); + if(! m_voiceInputDevice->isDummyDevice()) + { + m_voice->connectVoice(m_voiceInputDevice.get(), m_audioMixer.get(), IAudioMixer::InputMicrophone); + } m_voice->connectVoice(m_channel1.data(), m_audioMixer.get(), IAudioMixer::InputVoiceChannel1); m_voice->connectVoice(m_channel2.data(), m_audioMixer.get(), IAudioMixer::InputVoiceChannel2); m_voice->connectVoice(m_audioMixer.get(), IAudioMixer::OutputOutputDevice1, m_voiceOutputDevice.get()); diff --git a/src/blackcore/vatsim/audiodevicevatlib.h b/src/blackcore/vatsim/audiodevicevatlib.h index dbaabfe63..017d96a98 100644 --- a/src/blackcore/vatsim/audiodevicevatlib.h +++ b/src/blackcore/vatsim/audiodevicevatlib.h @@ -46,6 +46,9 @@ namespace BlackCore //! \copydoc IAudioInputDevice::setInputDevice virtual void setInputDevice(const BlackMisc::Audio::CAudioDeviceInfo &device) override; + //! \copydoc IAudioInputDevice::isDummyDevice + virtual bool isDummyDevice() const override { return false; } + //! Get vatlib input device pointer VatLocalInputCodec *getVatLocalInputCodec() { return m_inputCodec.data(); }