From ce34a8f3e097565f2e4e6db0c27ef2ce98912ef2 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 15 May 2013 11:43:49 -0700 Subject: [PATCH] add packet headers and agent types for audio clarity --- audio-mixer/src/main.cpp | 7 +++++-- interface/src/Audio.cpp | 2 +- libraries/shared/src/AgentTypes.h | 3 ++- libraries/shared/src/PacketHeaders.h | 2 ++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/audio-mixer/src/main.cpp b/audio-mixer/src/main.cpp index 6b63075da5..eecd1ae59d 100644 --- a/audio-mixer/src/main.cpp +++ b/audio-mixer/src/main.cpp @@ -268,9 +268,12 @@ int main(int argc, const char* argv[]) { // pull any new audio data from agents off of the network stack while (agentList->getAgentSocket().receive(agentAddress, packetData, &receivedBytes)) { - if (packetData[0] == PACKET_HEADER_INJECT_AUDIO) { + if (packetData[0] == PACKET_HEADER_INJECT_AUDIO || packetData[0] == PACKET_HEADER_MICROPHONE_AUDIO) { + char agentType = (packetData[0] == PACKET_HEADER_MICROPHONE_AUDIO) + ? AGENT_TYPE_AVATAR + : AGENT_TYPE_AUDIO_INJECTOR; - if (agentList->addOrUpdateAgent(agentAddress, agentAddress, packetData[0], agentList->getLastAgentID())) { + if (agentList->addOrUpdateAgent(agentAddress, agentAddress, agentType, agentList->getLastAgentID())) { agentList->increaseAgentID(); } diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index 68aeb5b3ef..407c520fa8 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -128,7 +128,7 @@ int audioCallback (const void* inputBuffer, // + 12 for 3 floats for position + float for bearing + 1 attenuation byte unsigned char dataPacket[BUFFER_LENGTH_BYTES + leadingBytes]; - dataPacket[0] = PACKET_HEADER_INJECT_AUDIO; + dataPacket[0] = PACKET_HEADER_MICROPHONE_AUDIO; unsigned char *currentPacketPtr = dataPacket + 1; // memcpy the three float positions diff --git a/libraries/shared/src/AgentTypes.h b/libraries/shared/src/AgentTypes.h index c43af79446..e095cb1035 100644 --- a/libraries/shared/src/AgentTypes.h +++ b/libraries/shared/src/AgentTypes.h @@ -20,8 +20,9 @@ // Agent Type Codes const char AGENT_TYPE_DOMAIN = 'D'; const char AGENT_TYPE_VOXEL = 'V'; -const char AGENT_TYPE_AVATAR = 'I'; // could also be injector??? +const char AGENT_TYPE_AVATAR = 'I'; const char AGENT_TYPE_AUDIO_MIXER = 'M'; const char AGENT_TYPE_AVATAR_MIXER = 'W'; +const char AGENT_TYPE_AUDIO_INJECTOR = 'A'; #endif diff --git a/libraries/shared/src/PacketHeaders.h b/libraries/shared/src/PacketHeaders.h index 1b385a68f7..8d9c4ae880 100644 --- a/libraries/shared/src/PacketHeaders.h +++ b/libraries/shared/src/PacketHeaders.h @@ -20,6 +20,8 @@ const PACKET_HEADER PACKET_HEADER_PING_REPLY = 'R'; const PACKET_HEADER PACKET_HEADER_HEAD_DATA = 'H'; const PACKET_HEADER PACKET_HEADER_Z_COMMAND = 'Z'; const PACKET_HEADER PACKET_HEADER_INJECT_AUDIO = 'I'; +const PACKET_HEADER PACKET_HEADER_MIXED_AUDIO = 'A'; +const PACKET_HEADER PACKET_HEADER_MICROPHONE_AUDIO = 'M'; const PACKET_HEADER PACKET_HEADER_SET_VOXEL = 'S'; const PACKET_HEADER PACKET_HEADER_SET_VOXEL_DESTRUCTIVE = 'O'; const PACKET_HEADER PACKET_HEADER_ERASE_VOXEL = 'E';