mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 22:39:18 +02:00
make NodeData parseData take only packet
This commit is contained in:
parent
fa9372875e
commit
fbd287472d
17 changed files with 26 additions and 33 deletions
|
@ -99,8 +99,8 @@ void Agent::handleJurisdictionPacket(QSharedPointer<NLPacket> packet, SharedNode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Agent::handleAudioPacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode) {
|
void Agent::handleAudioPacket(QSharedPointer<NLPacket> packet) {
|
||||||
_receivedAudioStream.parseData(*packet, senderNode);
|
_receivedAudioStream.parseData(*packet);
|
||||||
|
|
||||||
_lastReceivedAudioLoudness = _receivedAudioStream.getNextOutputFrameLoudness();
|
_lastReceivedAudioLoudness = _receivedAudioStream.getNextOutputFrameLoudness();
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ public slots:
|
||||||
void playAvatarSound(Sound* avatarSound) { _scriptEngine.setAvatarSound(avatarSound); }
|
void playAvatarSound(Sound* avatarSound) { _scriptEngine.setAvatarSound(avatarSound); }
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void handleAudioPacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
void handleAudioPacket(QSharedPointer<NLPacket> packet);
|
||||||
void handleOctreePacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
void handleOctreePacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||||
void handleJurisdictionPacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
void handleJurisdictionPacket(QSharedPointer<NLPacket> packet, SharedNodePointer senderNode);
|
||||||
|
|
||||||
|
|
|
@ -16,16 +16,13 @@
|
||||||
|
|
||||||
|
|
||||||
class AssignmentClientChildData : public NodeData {
|
class AssignmentClientChildData : public NodeData {
|
||||||
public:
|
public:
|
||||||
AssignmentClientChildData(Assignment::Type childType);
|
AssignmentClientChildData(Assignment::Type childType);
|
||||||
|
|
||||||
Assignment::Type getChildType() { return _childType; }
|
Assignment::Type getChildType() { return _childType; }
|
||||||
void setChildType(Assignment::Type childType) { _childType = childType; }
|
void setChildType(Assignment::Type childType) { _childType = childType; }
|
||||||
|
|
||||||
// implement parseData to return 0 so we can be a subclass of NodeData
|
private:
|
||||||
int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode) { return 0; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
Assignment::Type _childType;
|
Assignment::Type _childType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ AvatarAudioStream* AudioMixerClientData::getAvatarAudioStream() const {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int AudioMixerClientData::parseData(NLPacket& packet, SharedNodePointer sendingNode) {
|
int AudioMixerClientData::parseData(NLPacket& packet) {
|
||||||
PacketType::Value packetType = packet.getType();
|
PacketType::Value packetType = packet.getType();
|
||||||
|
|
||||||
if (packetType == PacketType::AudioStreamStats) {
|
if (packetType == PacketType::AudioStreamStats) {
|
||||||
|
@ -107,7 +107,7 @@ int AudioMixerClientData::parseData(NLPacket& packet, SharedNodePointer sendingN
|
||||||
// seek to the beginning of the packet so that the next reader is in the right spot
|
// seek to the beginning of the packet so that the next reader is in the right spot
|
||||||
packet.seek(0);
|
packet.seek(0);
|
||||||
|
|
||||||
return matchingStream->parseData(packet, sendingNode);
|
return matchingStream->parseData(packet);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ public:
|
||||||
const QHash<QUuid, PositionalAudioStream*>& getAudioStreams() const { return _audioStreams; }
|
const QHash<QUuid, PositionalAudioStream*>& getAudioStreams() const { return _audioStreams; }
|
||||||
AvatarAudioStream* getAvatarAudioStream() const;
|
AvatarAudioStream* getAvatarAudioStream() const;
|
||||||
|
|
||||||
int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode);
|
int parseData(NLPacket& packet);
|
||||||
|
|
||||||
void checkBuffersBeforeFrameSend();
|
void checkBuffersBeforeFrameSend();
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#include "AvatarMixerClientData.h"
|
#include "AvatarMixerClientData.h"
|
||||||
|
|
||||||
int AvatarMixerClientData::parseData(NLPacket& packet, SharedNodePointer sendingNode) {
|
int AvatarMixerClientData::parseData(NLPacket& packet) {
|
||||||
// compute the offset to the data payload
|
// compute the offset to the data payload
|
||||||
return _avatar.parseDataFromBuffer(QByteArray::fromRawData(packet.getPayload(), packet.getSizeUsed()));
|
return _avatar.parseDataFromBuffer(QByteArray::fromRawData(packet.getPayload(), packet.getSizeUsed()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ const QString OUTBOUND_AVATAR_DATA_STATS_KEY = "outbound_av_data_kbps";
|
||||||
class AvatarMixerClientData : public NodeData {
|
class AvatarMixerClientData : public NodeData {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
int parseData(NLPacket& packet, SharedNodePointer sendingNode);
|
int parseData(NLPacket& packet);
|
||||||
AvatarData& getAvatar() { return _avatar; }
|
AvatarData& getAvatar() { return _avatar; }
|
||||||
|
|
||||||
bool checkAndSetHasReceivedFirstPackets();
|
bool checkAndSetHasReceivedFirstPackets();
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
class DomainServerNodeData : public NodeData {
|
class DomainServerNodeData : public NodeData {
|
||||||
public:
|
public:
|
||||||
DomainServerNodeData();
|
DomainServerNodeData();
|
||||||
int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode) { return 0; }
|
|
||||||
|
|
||||||
const QJsonObject& getStatsJSONObject() const { return _statsJSONObject; }
|
const QJsonObject& getStatsJSONObject() const { return _statsJSONObject; }
|
||||||
|
|
||||||
|
|
|
@ -535,7 +535,7 @@ void AudioClient::stop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioClient::handleAudioEnvironmentDataPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode) {
|
void AudioClient::handleAudioEnvironmentDataPacket(QSharedPointer<NLPacket> packet) {
|
||||||
|
|
||||||
char bitset;
|
char bitset;
|
||||||
packet->readPrimitive(&bitset);
|
packet->readPrimitive(&bitset);
|
||||||
|
@ -552,7 +552,7 @@ void AudioClient::handleAudioEnvironmentDataPacket(QSharedPointer<NLPacket> pack
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioClient::handleAudioDataPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode) {
|
void AudioClient::handleAudioDataPacket(QSharedPointer<NLPacket> packet) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
nodeList->flagTimeForConnectionStep(LimitedNodeList::ConnectionStep::ReceiveFirstAudioPacket);
|
nodeList->flagTimeForConnectionStep(LimitedNodeList::ConnectionStep::ReceiveFirstAudioPacket);
|
||||||
|
|
||||||
|
@ -566,11 +566,11 @@ void AudioClient::handleAudioDataPacket(QSharedPointer<NLPacket> packet, SharedN
|
||||||
}
|
}
|
||||||
|
|
||||||
// Audio output must exist and be correctly set up if we're going to process received audio
|
// Audio output must exist and be correctly set up if we're going to process received audio
|
||||||
_receivedAudioStream.parseData(*packet, sendingNode);
|
_receivedAudioStream.parseData(*packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioClient::handleNoisyMutePacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode) {
|
void AudioClient::handleNoisyMutePacket(QSharedPointer<NLPacket> packet) {
|
||||||
if (!_muted) {
|
if (!_muted) {
|
||||||
toggleMute();
|
toggleMute();
|
||||||
|
|
||||||
|
@ -579,7 +579,7 @@ void AudioClient::handleNoisyMutePacket(QSharedPointer<NLPacket> packet, SharedN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioClient::handleMuteEnvironmentPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode) {
|
void AudioClient::handleMuteEnvironmentPacket(QSharedPointer<NLPacket> packet) {
|
||||||
glm::vec3 position;
|
glm::vec3 position;
|
||||||
float radius;
|
float radius;
|
||||||
|
|
||||||
|
|
|
@ -140,10 +140,10 @@ public slots:
|
||||||
void start();
|
void start();
|
||||||
void stop();
|
void stop();
|
||||||
|
|
||||||
void handleAudioEnvironmentDataPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode);
|
void handleAudioEnvironmentDataPacket(QSharedPointer<NLPacket> packet);
|
||||||
void handleAudioDataPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode);
|
void handleAudioDataPacket(QSharedPointer<NLPacket> packet);
|
||||||
void handleNoisyMutePacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode);
|
void handleNoisyMutePacket(QSharedPointer<NLPacket> packet);
|
||||||
void handleMuteEnvironmentPacket(QSharedPointer<NLPacket> packet, SharedNodePointer sendingNode);
|
void handleMuteEnvironmentPacket(QSharedPointer<NLPacket> packet);
|
||||||
|
|
||||||
void sendDownstreamAudioStatsPacket() { _stats.sendDownstreamAudioStatsPacket(); }
|
void sendDownstreamAudioStatsPacket() { _stats.sendDownstreamAudioStatsPacket(); }
|
||||||
void handleAudioInput();
|
void handleAudioInput();
|
||||||
|
|
|
@ -99,13 +99,13 @@ void InboundAudioStream::perSecondCallbackForUpdatingStats() {
|
||||||
_timeGapStatsForStatsPacket.currentIntervalComplete();
|
_timeGapStatsForStatsPacket.currentIntervalComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
int InboundAudioStream::parseData(NLPacket& packet, SharedNodePointer sendingNode) {
|
int InboundAudioStream::parseData(NLPacket& packet) {
|
||||||
|
|
||||||
// parse sequence number and track it
|
// parse sequence number and track it
|
||||||
quint16 sequence;
|
quint16 sequence;
|
||||||
packet.readPrimitive(&sequence);
|
packet.readPrimitive(&sequence);
|
||||||
SequenceNumberStats::ArrivalInfo arrivalInfo = _incomingSequenceNumberStats.sequenceNumberReceived(sequence,
|
SequenceNumberStats::ArrivalInfo arrivalInfo = _incomingSequenceNumberStats.sequenceNumberReceived(sequence,
|
||||||
sendingNode->getUUID());
|
packet.getSourceID());
|
||||||
|
|
||||||
packetReceivedUpdateTimingStats();
|
packetReceivedUpdateTimingStats();
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ public:
|
||||||
virtual void resetStats();
|
virtual void resetStats();
|
||||||
void clearBuffer();
|
void clearBuffer();
|
||||||
|
|
||||||
virtual int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode);
|
virtual int parseData(NLPacket& packet);
|
||||||
|
|
||||||
int popFrames(int maxFrames, bool allOrNothing, bool starveIfNoFramesPopped = true);
|
int popFrames(int maxFrames, bool allOrNothing, bool starveIfNoFramesPopped = true);
|
||||||
int popSamples(int maxSamples, bool allOrNothing, bool starveIfNoSamplesPopped = true);
|
int popSamples(int maxSamples, bool allOrNothing, bool starveIfNoSamplesPopped = true);
|
||||||
|
|
|
@ -85,9 +85,6 @@ public:
|
||||||
|
|
||||||
const char* getTypeName() const;
|
const char* getTypeName() const;
|
||||||
|
|
||||||
// implement parseData to return 0 so we can be a subclass of NodeData
|
|
||||||
int parseData(NLPacket& packet, SharedNodePointer sendingNode) { return 0; }
|
|
||||||
|
|
||||||
friend QDebug operator<<(QDebug debug, const Assignment& assignment);
|
friend QDebug operator<<(QDebug debug, const Assignment& assignment);
|
||||||
friend QDataStream& operator<<(QDataStream &out, const Assignment& assignment);
|
friend QDataStream& operator<<(QDataStream &out, const Assignment& assignment);
|
||||||
friend QDataStream& operator>>(QDataStream &in, Assignment& assignment);
|
friend QDataStream& operator>>(QDataStream &in, Assignment& assignment);
|
||||||
|
|
|
@ -247,7 +247,7 @@ int LimitedNodeList::updateNodeWithDataFromPacket(QSharedPointer<NLPacket> packe
|
||||||
|
|
||||||
if (linkedData) {
|
if (linkedData) {
|
||||||
QMutexLocker linkedDataLocker(&linkedData->getMutex());
|
QMutexLocker linkedDataLocker(&linkedData->getMutex());
|
||||||
return linkedData->parseData(*packet, sendingNode);
|
return linkedData->parseData(*packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -25,7 +25,7 @@ class NodeData : public QObject {
|
||||||
public:
|
public:
|
||||||
NodeData();
|
NodeData();
|
||||||
virtual ~NodeData() = 0;
|
virtual ~NodeData() = 0;
|
||||||
virtual int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode) = 0;
|
virtual int parseData(NLPacket& packet) { return 0; }
|
||||||
|
|
||||||
QMutex& getMutex() { return _mutex; }
|
QMutex& getMutex() { return _mutex; }
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ int OctreeQuery::getBroadcastData(unsigned char* destinationBuffer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// called on the other nodes - assigns it to my views of the others
|
// called on the other nodes - assigns it to my views of the others
|
||||||
int OctreeQuery::parseData(NLPacket& packet, QSharedPointer<Node> sendingNode) {
|
int OctreeQuery::parseData(NLPacket& packet) {
|
||||||
|
|
||||||
const unsigned char* startPosition = reinterpret_cast<const unsigned char*>(packet.getPayload());
|
const unsigned char* startPosition = reinterpret_cast<const unsigned char*>(packet.getPayload());
|
||||||
const unsigned char* sourceBuffer = startPosition;
|
const unsigned char* sourceBuffer = startPosition;
|
||||||
|
|
|
@ -48,7 +48,7 @@ public:
|
||||||
virtual ~OctreeQuery() {}
|
virtual ~OctreeQuery() {}
|
||||||
|
|
||||||
int getBroadcastData(unsigned char* destinationBuffer);
|
int getBroadcastData(unsigned char* destinationBuffer);
|
||||||
int parseData(NLPacket& packet, QSharedPointer<Node> sendingNode);
|
int parseData(NLPacket& packet);
|
||||||
|
|
||||||
// getters for camera details
|
// getters for camera details
|
||||||
const glm::vec3& getCameraPosition() const { return _cameraPosition; }
|
const glm::vec3& getCameraPosition() const { return _cameraPosition; }
|
||||||
|
|
Loading…
Reference in a new issue