mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 10:23:59 +02:00
Handle InjectorGainSet packet at the audio-mixer
This commit is contained in:
parent
2794a134c1
commit
a5a305f181
4 changed files with 17 additions and 1 deletions
|
@ -97,6 +97,7 @@ AudioMixer::AudioMixer(ReceivedMessage& message) :
|
||||||
PacketType::RadiusIgnoreRequest,
|
PacketType::RadiusIgnoreRequest,
|
||||||
PacketType::RequestsDomainListData,
|
PacketType::RequestsDomainListData,
|
||||||
PacketType::PerAvatarGainSet,
|
PacketType::PerAvatarGainSet,
|
||||||
|
PacketType::InjectorGainSet,
|
||||||
PacketType::AudioSoloRequest },
|
PacketType::AudioSoloRequest },
|
||||||
this, "queueAudioPacket");
|
this, "queueAudioPacket");
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,9 @@ int AudioMixerClientData::processPackets(ConcurrentAddedStreams& addedStreams) {
|
||||||
case PacketType::PerAvatarGainSet:
|
case PacketType::PerAvatarGainSet:
|
||||||
parsePerAvatarGainSet(*packet, node);
|
parsePerAvatarGainSet(*packet, node);
|
||||||
break;
|
break;
|
||||||
|
case PacketType::InjectorGainSet:
|
||||||
|
parseInjectorGainSet(*packet, node);
|
||||||
|
break;
|
||||||
case PacketType::NodeIgnoreRequest:
|
case PacketType::NodeIgnoreRequest:
|
||||||
parseNodeIgnoreRequest(packet, node);
|
parseNodeIgnoreRequest(packet, node);
|
||||||
break;
|
break;
|
||||||
|
@ -205,6 +208,17 @@ void AudioMixerClientData::parsePerAvatarGainSet(ReceivedMessage& message, const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudioMixerClientData::parseInjectorGainSet(ReceivedMessage& message, const SharedNodePointer& node) {
|
||||||
|
QUuid uuid = node->getUUID();
|
||||||
|
|
||||||
|
uint8_t packedGain;
|
||||||
|
message.readPrimitive(&packedGain);
|
||||||
|
float gain = unpackFloatGainFromByte(packedGain);
|
||||||
|
|
||||||
|
setMasterInjectorGain(gain);
|
||||||
|
qCDebug(audio) << "Setting MASTER injector gain for " << uuid << " to " << gain;
|
||||||
|
}
|
||||||
|
|
||||||
void AudioMixerClientData::setGainForAvatar(QUuid nodeID, float gain) {
|
void AudioMixerClientData::setGainForAvatar(QUuid nodeID, float gain) {
|
||||||
auto it = std::find_if(_streams.active.cbegin(), _streams.active.cend(), [nodeID](const MixableStream& mixableStream){
|
auto it = std::find_if(_streams.active.cbegin(), _streams.active.cend(), [nodeID](const MixableStream& mixableStream){
|
||||||
return mixableStream.nodeStreamID.nodeID == nodeID && mixableStream.nodeStreamID.streamID.isNull();
|
return mixableStream.nodeStreamID.nodeID == nodeID && mixableStream.nodeStreamID.streamID.isNull();
|
||||||
|
|
|
@ -63,6 +63,7 @@ public:
|
||||||
void negotiateAudioFormat(ReceivedMessage& message, const SharedNodePointer& node);
|
void negotiateAudioFormat(ReceivedMessage& message, const SharedNodePointer& node);
|
||||||
void parseRequestsDomainListData(ReceivedMessage& message);
|
void parseRequestsDomainListData(ReceivedMessage& message);
|
||||||
void parsePerAvatarGainSet(ReceivedMessage& message, const SharedNodePointer& node);
|
void parsePerAvatarGainSet(ReceivedMessage& message, const SharedNodePointer& node);
|
||||||
|
void parseInjectorGainSet(ReceivedMessage& message, const SharedNodePointer& node);
|
||||||
void parseNodeIgnoreRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
void parseNodeIgnoreRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
||||||
void parseRadiusIgnoreRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
void parseRadiusIgnoreRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
||||||
void parseSoloRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
void parseSoloRequest(QSharedPointer<ReceivedMessage> message, const SharedNodePointer& node);
|
||||||
|
|
|
@ -57,7 +57,7 @@ public:
|
||||||
ICEServerQuery,
|
ICEServerQuery,
|
||||||
OctreeStats,
|
OctreeStats,
|
||||||
SetAvatarTraits,
|
SetAvatarTraits,
|
||||||
UNUSED_PACKET_TYPE,
|
InjectorGainSet,
|
||||||
AssignmentClientStatus,
|
AssignmentClientStatus,
|
||||||
NoisyMute,
|
NoisyMute,
|
||||||
AvatarIdentity,
|
AvatarIdentity,
|
||||||
|
|
Loading…
Reference in a new issue