mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-18 11:25:33 +08:00
refs #372 Replace voice connection methods to use audio mixer
Instead of connecting producers and consumers directly, they are all connected to an audio mixer. In order to actually route voice you have to configure the mixer and connect its input with an output port. This commit also silently adapts to some new vatlib methods, which got introduced as a bug fix.
This commit is contained in:
committed by
Klaus Basan
parent
8812f3ba28
commit
7ba3a50e18
@@ -47,14 +47,27 @@ namespace BlackCore
|
||||
|
||||
//! \copydoc IVoice::createAudioMixer()
|
||||
virtual std::unique_ptr<IAudioMixer> createAudioMixer() override;
|
||||
//! \copydoc IVoice::connectChannelOutputDevice()
|
||||
virtual void connectChannelOutputDevice(IVoiceChannel *channel, IAudioOutputDevice *device) override;
|
||||
|
||||
//! \copydoc IVoice::connectChannelInputDevice()
|
||||
virtual void connectChannelInputDevice(IAudioInputDevice *device, IVoiceChannel *channel) override;
|
||||
//! \copydoc IVoice::connectVoice()
|
||||
virtual void connectVoice(IAudioInputDevice *device, IAudioMixer *mixer, IAudioMixer::InputPort inputPort) override;
|
||||
|
||||
//! \copydoc IVoice::enableAudioLoopback()
|
||||
virtual void enableAudioLoopback(IAudioInputDevice *input, IAudioOutputDevice *output) override;
|
||||
//! \copydoc IVoice::connectVoice()
|
||||
virtual void connectVoice(IVoiceChannel *channel, IAudioMixer *mixer, IAudioMixer::InputPort inputPort) override;
|
||||
|
||||
//! \copydoc IVoice::connectVoice()
|
||||
virtual void connectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort, IAudioOutputDevice *device) override;
|
||||
|
||||
//! \copydoc IVoice::connectVoice()
|
||||
virtual void connectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort, IVoiceChannel *channel) override;
|
||||
|
||||
//! \copydoc IVoice::disconnectVoice()
|
||||
void disconnectVoice(IAudioInputDevice *device) override;
|
||||
|
||||
//! \copydoc IVoice::disconnectVoice()
|
||||
void disconnectVoice(IVoiceChannel *channel) override;
|
||||
|
||||
//! \copydoc IVoice::disconnectVoice()
|
||||
void disconnectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort) override;
|
||||
|
||||
protected: // QObject overrides
|
||||
|
||||
@@ -84,6 +97,7 @@ namespace BlackCore
|
||||
|
||||
QScopedPointer<VatAudioService_tag, VatAudioServiceDeleter> m_audioService;
|
||||
QScopedPointer<VatUDPAudioPort_tag, VatUDPAudioPortDeleter> m_udpPort;
|
||||
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user