From 91c25d4270646862b186d34b464eff76d17cd00e Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 12 Jun 2017 13:15:02 -0700 Subject: [PATCH] don't continously set codec for upstream agent --- assignment-client/src/audio/AudioMixerClientData.cpp | 7 +++++-- assignment-client/src/audio/AudioMixerClientData.h | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp index b95ca5b616..082ac364be 100644 --- a/assignment-client/src/audio/AudioMixerClientData.cpp +++ b/assignment-client/src/audio/AudioMixerClientData.cpp @@ -74,7 +74,7 @@ void AudioMixerClientData::processPackets() { case PacketType::ReplicatedInjectAudio: case PacketType::ReplicatedSilentAudioFrame: { - if (node->isUpstream() && !_codec) { + if (node->isUpstream() && !_hasSetupCodecForUpstreamNode) { setupCodecForReplicatedAgent(packet); } @@ -261,7 +261,8 @@ int AudioMixerClientData::parseData(ReceivedMessage& message) { avatarAudioStream->setupCodec(_codec, _selectedCodecName, AudioConstants::MONO); qDebug() << "creating new AvatarAudioStream... codec:" << _selectedCodecName; - connect(avatarAudioStream, &InboundAudioStream::mismatchedAudioCodec, this, &AudioMixerClientData::handleMismatchAudioFormat); + connect(avatarAudioStream, &InboundAudioStream::mismatchedAudioCodec, + this, &AudioMixerClientData::handleMismatchAudioFormat); auto emplaced = _audioStreams.emplace( QUuid(), @@ -684,4 +685,6 @@ void AudioMixerClientData::setupCodecForReplicatedAgent(QSharedPointer codec = AudioMixer::negotiateCodec({ codecString }); setupCodec(codec.second, codec.first); + + _hasSetupCodecForUpstreamNode = true; } diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index 72761e64f2..0f9e4c4c18 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -185,6 +185,8 @@ private: bool _shouldMuteClient { false }; bool _requestsDomainListData { false }; + + bool _hasSetupCodecForUpstreamNode { false }; }; #endif // hifi_AudioMixerClientData_h