From aa9574fc5a0316e0ca06e86d65cac0539ccdcd07 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 13 Jun 2017 09:46:12 -0700 Subject: [PATCH] add re-replication support to audio mixer --- .../src/audio/AudioMixerClientData.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp index c51f240b54..d0e749563a 100644 --- a/assignment-client/src/audio/AudioMixerClientData.cpp +++ b/assignment-client/src/audio/AudioMixerClientData.cpp @@ -119,6 +119,23 @@ void AudioMixerClientData::optionallyReplicatePacket(ReceivedMessage& message, c // now make sure it's a packet type that we want to replicate PacketType mirroredType; + switch (message.getType()) { + case PacketType::MicrophoneAudioNoEcho: + case PacketType::ReplicatedMicrophoneAudioNoEcho: + mirroredType = PacketType::ReplicatedMicrophoneAudioNoEcho; + case PacketType::MicrophoneAudioWithEcho: + case PacketType::ReplicatedMicrophoneAudioWithEcho: + mirroredType = PacketType::ReplicatedMicrophoneAudioWithEcho; + case PacketType::InjectAudio: + case PacketType::ReplicatedInjectAudio: + mirroredType = PacketType::ReplicatedInjectAudio; + case PacketType::SilentAudioFrame: + case PacketType::ReplicatedSilentAudioFrame: + mirroredType = PacketType::ReplicatedSilentAudioFrame; + default: + return; + } + if (message.getType() == PacketType::MicrophoneAudioNoEcho) { mirroredType = PacketType::ReplicatedMicrophoneAudioNoEcho; } else if (message.getType() == PacketType::MicrophoneAudioWithEcho) { @@ -142,7 +159,7 @@ void AudioMixerClientData::optionallyReplicatePacket(ReceivedMessage& message, c packet = NLPacket::create(mirroredType); // since this packet will be non-sourced, we add the replicated node's ID here - packet->write(message.getSourceID().toRfc4122()); + packet->write(node->getUUID().toRfc4122()); // we won't negotiate an audio format with the replicant, because we aren't a listener // so pack the codec string here so that it can statelessly setup a decoder for this string when it needs