diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp index 8befaff9c2..408ddf038c 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