mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 13:33:27 +02:00
fix packet processing, PerfWarn label
This commit is contained in:
parent
a9fe829bbe
commit
5e864278a3
3 changed files with 50 additions and 52 deletions
|
@ -54,13 +54,8 @@ void Client::setupNetworking() {
|
||||||
|
|
||||||
void Client::processVerifiedPacket(const HifiSockAddr& senderSockAddr, const QByteArray& incomingPacket) {
|
void Client::processVerifiedPacket(const HifiSockAddr& senderSockAddr, const QByteArray& incomingPacket) {
|
||||||
PacketType incomingType = packetTypeForPacket(incomingPacket);
|
PacketType incomingType = packetTypeForPacket(incomingPacket);
|
||||||
// only process this packet if we have a match on the packet version
|
|
||||||
switch (incomingType) {
|
DependencyManager::get<NodeList>()->processNodeData(senderSockAddr, incomingPacket);
|
||||||
default:
|
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
|
||||||
nodeList->processNodeData(senderSockAddr, incomingPacket);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::processDatagrams() {
|
void Client::processDatagrams() {
|
||||||
|
|
|
@ -82,56 +82,59 @@ RenderingClient::~RenderingClient() {
|
||||||
void RenderingClient::processVerifiedPacket(const HifiSockAddr& senderSockAddr, const QByteArray& incomingPacket) {
|
void RenderingClient::processVerifiedPacket(const HifiSockAddr& senderSockAddr, const QByteArray& incomingPacket) {
|
||||||
auto nodeList = DependencyManager::get<NodeList>();
|
auto nodeList = DependencyManager::get<NodeList>();
|
||||||
PacketType incomingType = packetTypeForPacket(incomingPacket);
|
PacketType incomingType = packetTypeForPacket(incomingPacket);
|
||||||
// only process this packet if we have a match on the packet version
|
|
||||||
switch (incomingType) {
|
if (nodeList->packetVersionAndHashMatch(incomingPacket)) {
|
||||||
case PacketTypeAudioEnvironment:
|
// only process this packet if we have a match on the packet version
|
||||||
case PacketTypeAudioStreamStats:
|
switch (incomingType) {
|
||||||
case PacketTypeMixedAudio:
|
case PacketTypeAudioEnvironment:
|
||||||
case PacketTypeSilentAudioFrame: {
|
case PacketTypeAudioStreamStats:
|
||||||
|
case PacketTypeMixedAudio:
|
||||||
|
case PacketTypeSilentAudioFrame: {
|
||||||
|
|
||||||
if (incomingType == PacketTypeAudioStreamStats) {
|
if (incomingType == PacketTypeAudioStreamStats) {
|
||||||
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "parseAudioStreamStatsPacket",
|
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "parseAudioStreamStatsPacket",
|
||||||
Qt::QueuedConnection,
|
Qt::QueuedConnection,
|
||||||
Q_ARG(QByteArray, incomingPacket));
|
Q_ARG(QByteArray, incomingPacket));
|
||||||
} else if (incomingType == PacketTypeAudioEnvironment) {
|
} else if (incomingType == PacketTypeAudioEnvironment) {
|
||||||
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "parseAudioEnvironmentData",
|
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "parseAudioEnvironmentData",
|
||||||
Qt::QueuedConnection,
|
Qt::QueuedConnection,
|
||||||
Q_ARG(QByteArray, incomingPacket));
|
Q_ARG(QByteArray, incomingPacket));
|
||||||
} else {
|
} else {
|
||||||
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "addReceivedAudioToStream",
|
QMetaObject::invokeMethod(DependencyManager::get<AudioClient>().data(), "addReceivedAudioToStream",
|
||||||
Qt::QueuedConnection,
|
Qt::QueuedConnection,
|
||||||
Q_ARG(QByteArray, incomingPacket));
|
Q_ARG(QByteArray, incomingPacket));
|
||||||
|
}
|
||||||
|
|
||||||
|
// update having heard from the audio-mixer and record the bytes received
|
||||||
|
SharedNodePointer audioMixer = nodeList->sendingNodeForPacket(incomingPacket);
|
||||||
|
|
||||||
|
if (audioMixer) {
|
||||||
|
audioMixer->setLastHeardMicrostamp(usecTimestampNow());
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
case PacketTypeBulkAvatarData:
|
||||||
|
case PacketTypeKillAvatar:
|
||||||
|
case PacketTypeAvatarIdentity:
|
||||||
|
case PacketTypeAvatarBillboard: {
|
||||||
|
// update having heard from the avatar-mixer and record the bytes received
|
||||||
|
SharedNodePointer avatarMixer = nodeList->sendingNodeForPacket(incomingPacket);
|
||||||
|
|
||||||
// update having heard from the audio-mixer and record the bytes received
|
if (avatarMixer) {
|
||||||
SharedNodePointer audioMixer = nodeList->sendingNodeForPacket(incomingPacket);
|
avatarMixer->setLastHeardMicrostamp(usecTimestampNow());
|
||||||
|
|
||||||
if (audioMixer) {
|
|
||||||
audioMixer->setLastHeardMicrostamp(usecTimestampNow());
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case PacketTypeBulkAvatarData:
|
|
||||||
case PacketTypeKillAvatar:
|
|
||||||
case PacketTypeAvatarIdentity:
|
|
||||||
case PacketTypeAvatarBillboard: {
|
|
||||||
// update having heard from the avatar-mixer and record the bytes received
|
|
||||||
SharedNodePointer avatarMixer = nodeList->sendingNodeForPacket(incomingPacket);
|
|
||||||
|
|
||||||
if (avatarMixer) {
|
|
||||||
avatarMixer->setLastHeardMicrostamp(usecTimestampNow());
|
|
||||||
|
|
||||||
QMetaObject::invokeMethod(DependencyManager::get<AvatarHashMap>().data(),
|
QMetaObject::invokeMethod(DependencyManager::get<AvatarHashMap>().data(),
|
||||||
"processAvatarMixerDatagram",
|
"processAvatarMixerDatagram",
|
||||||
Q_ARG(const QByteArray&, incomingPacket),
|
Q_ARG(const QByteArray&, incomingPacket),
|
||||||
Q_ARG(const QWeakPointer<Node>&, avatarMixer));
|
Q_ARG(const QWeakPointer<Node>&, avatarMixer));
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
default:
|
||||||
|
Client::processVerifiedPacket(senderSockAddr, incomingPacket);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
default:
|
|
||||||
Client::processVerifiedPacket(senderSockAddr, incomingPacket);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ void AvatarManager::init() {
|
||||||
|
|
||||||
void AvatarManager::updateMyAvatar(float deltaTime) {
|
void AvatarManager::updateMyAvatar(float deltaTime) {
|
||||||
bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
|
bool showWarnings = Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings);
|
||||||
PerformanceWarning warn(showWarnings, "Application::updateMyAvatar()");
|
PerformanceWarning warn(showWarnings, "AvatarManager::updateMyAvatar()");
|
||||||
|
|
||||||
_myAvatar->update(deltaTime);
|
_myAvatar->update(deltaTime);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue