mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-22 13:15:39 +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
@@ -50,18 +50,27 @@ namespace BlackCore
|
||||
|
||||
//! Create audio mixer object
|
||||
virtual std::unique_ptr<IAudioMixer> createAudioMixer() = 0;
|
||||
//! Connect voice channel to an audio output device
|
||||
virtual void connectChannelOutputDevice(IVoiceChannel *channel, IAudioOutputDevice *device) = 0;
|
||||
|
||||
/*!
|
||||
* Connect input device to voice channel to start/stop voice transmission
|
||||
* \param device Audio input device, e.g. a microphone. Pass nullptr to stop transmission
|
||||
* \param channel Voice channel audio should be transmitted to
|
||||
*/
|
||||
virtual void connectChannelInputDevice(IAudioInputDevice *device, IVoiceChannel *channel) = 0;
|
||||
//! Connect audio input device to audio mixer
|
||||
virtual void connectVoice(IAudioInputDevice *device, IAudioMixer *mixer, IAudioMixer::InputPort inputPort) = 0;
|
||||
|
||||
//! Connect audio input to an audio output to hear your own voice
|
||||
virtual void enableAudioLoopback(IAudioInputDevice *input, IAudioOutputDevice *output) = 0;
|
||||
//! Connect voice channel to audio mixer
|
||||
virtual void connectVoice(IVoiceChannel *channel, IAudioMixer *mixer, IAudioMixer::InputPort inputPort) = 0;
|
||||
|
||||
//! Connect audio mixer to audio output device
|
||||
virtual void connectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort, IAudioOutputDevice *device) = 0;
|
||||
|
||||
//! Connect audio mixer to audio input device
|
||||
virtual void connectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort, IVoiceChannel *channel) = 0;
|
||||
|
||||
//! Disconnect input device
|
||||
virtual void disconnectVoice(IAudioInputDevice *device) = 0;
|
||||
|
||||
//! Disconnect voice channel
|
||||
virtual void disconnectVoice(IVoiceChannel *channel) = 0;
|
||||
|
||||
//! Disconnect audio mixer output port
|
||||
virtual void disconnectVoice(IAudioMixer *mixer, IAudioMixer::OutputPort outputPort) = 0;
|
||||
};
|
||||
|
||||
} // namespace BlackCore
|
||||
|
||||
Reference in New Issue
Block a user