From ec30d9ad5c6ce9d400b038d5f61dd21d40d9ca72 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 22 Jun 2017 16:18:46 -0700 Subject: [PATCH] always re-process codec for replicated agent --- .../src/audio/AudioMixerClientData.cpp | 22 ++++++++----------- .../src/audio/AudioMixerClientData.h | 2 -- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp index 0467b82d40..90a14cdeda 100644 --- a/assignment-client/src/audio/AudioMixerClientData.cpp +++ b/assignment-client/src/audio/AudioMixerClientData.cpp @@ -67,13 +67,9 @@ void AudioMixerClientData::processPackets() { case PacketType::MicrophoneAudioNoEcho: case PacketType::MicrophoneAudioWithEcho: case PacketType::InjectAudio: - case PacketType::SilentAudioFrame: - case PacketType::ReplicatedMicrophoneAudioNoEcho: - case PacketType::ReplicatedMicrophoneAudioWithEcho: - case PacketType::ReplicatedInjectAudio: - case PacketType::ReplicatedSilentAudioFrame: { + case PacketType::SilentAudioFrame: { - if (node->isUpstream() && !_hasSetupCodecForUpstreamNode) { + if (node->isUpstream()) { setupCodecForReplicatedAgent(packet); } @@ -692,14 +688,14 @@ void AudioMixerClientData::setupCodecForReplicatedAgent(QSharedPointerreadString(); - qDebug() << "Manually setting codec for replicated agent" << uuidStringWithoutCurlyBraces(getNodeID()) + if (codecString != _selectedCodecName) { + qDebug() << "Manually setting codec for replicated agent" << uuidStringWithoutCurlyBraces(getNodeID()) << "-" << codecString; - const std::pair codec = AudioMixer::negotiateCodec({ codecString }); - setupCodec(codec.second, codec.first); + const std::pair codec = AudioMixer::negotiateCodec({ codecString }); + setupCodec(codec.second, codec.first); - _hasSetupCodecForUpstreamNode = true; - - // seek back to the beginning of the message so other readers are in the right place - message->seek(0); + // seek back to the beginning of the message so other readers are in the right place + message->seek(0); + } } diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index 76a9cd6aa7..7a8690d8cc 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -184,8 +184,6 @@ private: bool _shouldMuteClient { false }; bool _requestsDomainListData { false }; - - bool _hasSetupCodecForUpstreamNode { false }; }; #endif // hifi_AudioMixerClientData_h