send down replicated message to avatar mixer handling

This commit is contained in:
Stephen Birarda 2017-06-14 11:00:22 -07:00
parent f6f3087580
commit 324a2601fc
2 changed files with 18 additions and 6 deletions
assignment-client/src

View file

@ -125,7 +125,7 @@ void AudioMixer::queueReplicatedAudioPacket(QSharedPointer<ReceivedMessage> mess
replicatedNode->setLastHeardMicrostamp(usecTimestampNow());
replicatedNode->setIsUpstream(true);
// construct a "fake" avatar data received message from the byte array and packet list information
// construct a "fake" audio received message from the byte array and packet list information
auto audioData = message->getMessage().mid(NUM_BYTES_RFC4122_UUID);
PacketType rewrittenType;

View file

@ -76,15 +76,27 @@ void AvatarMixer::handleReplicatedPackets(QSharedPointer<ReceivedMessage> messag
replicatedNode->setLastHeardMicrostamp(usecTimestampNow());
replicatedNode->setIsUpstream(true);
// seek back in the message so the packet handler can start by reading the source ID
message->seek(0);
// construct a "fake" avatar data received message from the byte array and packet list information
auto originalPacketData = message->getMessage().mid(NUM_BYTES_RFC4122_UUID);
switch (message->getType()) {
PacketType rewrittenType;
if (message->getType() == PacketType::ReplicatedAvatarIdentity) {
rewrittenType = PacketType::AvatarIdentity;
} else if (message->getType() == PacketType::ReplicatedKillAvatar) {
rewrittenType = PacketType::KillAvatar;
}
auto replicatedMessage = QSharedPointer<ReceivedMessage>::create(originalPacketData, rewrittenType,
versionForPacketType(rewrittenType),
message->getSenderSockAddr(), nodeID);
switch (rewrittenType) {
case PacketType::ReplicatedAvatarIdentity:
handleAvatarIdentityPacket(message, replicatedNode);
handleAvatarIdentityPacket(replicatedMessage, replicatedNode);
break;
case PacketType::ReplicatedKillAvatar:
handleKillAvatarPacket(message, replicatedNode);
handleKillAvatarPacket(replicatedMessage, replicatedNode);
break;
default:
// Do nothing