mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-06-16 11:48:45 +02:00
Merge pull request #9660 from zzmp/audio/silent-stats
Add silent_packets stat to audio mixer
This commit is contained in:
commit
d24ed62116
2 changed files with 17 additions and 6 deletions
|
@ -57,9 +57,9 @@ AudioMixer::AudioMixer(ReceivedMessage& message) :
|
||||||
auto& packetReceiver = nodeList->getPacketReceiver();
|
auto& packetReceiver = nodeList->getPacketReceiver();
|
||||||
|
|
||||||
packetReceiver.registerListenerForTypes({ PacketType::MicrophoneAudioNoEcho, PacketType::MicrophoneAudioWithEcho,
|
packetReceiver.registerListenerForTypes({ PacketType::MicrophoneAudioNoEcho, PacketType::MicrophoneAudioWithEcho,
|
||||||
PacketType::InjectAudio, PacketType::SilentAudioFrame,
|
PacketType::InjectAudio, PacketType::AudioStreamStats },
|
||||||
PacketType::AudioStreamStats },
|
this, "handleAudioPacket");
|
||||||
this, "handleNodeAudioPacket");
|
packetReceiver.registerListenerForTypes({ PacketType::SilentAudioFrame }, this, "handleSilentAudioPacket");
|
||||||
packetReceiver.registerListener(PacketType::NegotiateAudioFormat, this, "handleNegotiateAudioFormat");
|
packetReceiver.registerListener(PacketType::NegotiateAudioFormat, this, "handleNegotiateAudioFormat");
|
||||||
packetReceiver.registerListener(PacketType::MuteEnvironment, this, "handleMuteEnvironmentPacket");
|
packetReceiver.registerListener(PacketType::MuteEnvironment, this, "handleMuteEnvironmentPacket");
|
||||||
packetReceiver.registerListener(PacketType::NodeIgnoreRequest, this, "handleNodeIgnoreRequestPacket");
|
packetReceiver.registerListener(PacketType::NodeIgnoreRequest, this, "handleNodeIgnoreRequestPacket");
|
||||||
|
@ -72,7 +72,13 @@ AudioMixer::AudioMixer(ReceivedMessage& message) :
|
||||||
connect(nodeList.data(), &NodeList::nodeKilled, this, &AudioMixer::handleNodeKilled);
|
connect(nodeList.data(), &NodeList::nodeKilled, this, &AudioMixer::handleNodeKilled);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioMixer::handleNodeAudioPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode) {
|
void AudioMixer::handleAudioPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode) {
|
||||||
|
getOrCreateClientData(sendingNode.data());
|
||||||
|
DependencyManager::get<NodeList>()->updateNodeWithDataFromPacket(message, sendingNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudioMixer::handleSilentAudioPacket(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode) {
|
||||||
|
_numSilentPackets++;
|
||||||
getOrCreateClientData(sendingNode.data());
|
getOrCreateClientData(sendingNode.data());
|
||||||
DependencyManager::get<NodeList>()->updateNodeWithDataFromPacket(message, sendingNode);
|
DependencyManager::get<NodeList>()->updateNodeWithDataFromPacket(message, sendingNode);
|
||||||
}
|
}
|
||||||
|
@ -300,6 +306,8 @@ void AudioMixer::sendStatsPacket() {
|
||||||
statsObject["avg_streams_per_frame"] = (float)_stats.sumStreams / (float)_numStatFrames;
|
statsObject["avg_streams_per_frame"] = (float)_stats.sumStreams / (float)_numStatFrames;
|
||||||
statsObject["avg_listeners_per_frame"] = (float)_stats.sumListeners / (float)_numStatFrames;
|
statsObject["avg_listeners_per_frame"] = (float)_stats.sumListeners / (float)_numStatFrames;
|
||||||
|
|
||||||
|
statsObject["silent_packets_per_frame"] = (float)_numSilentPackets / (float)_numStatFrames;
|
||||||
|
|
||||||
// timing stats
|
// timing stats
|
||||||
QJsonObject timingStats;
|
QJsonObject timingStats;
|
||||||
|
|
||||||
|
@ -338,7 +346,7 @@ void AudioMixer::sendStatsPacket() {
|
||||||
|
|
||||||
statsObject["mix_stats"] = mixStats;
|
statsObject["mix_stats"] = mixStats;
|
||||||
|
|
||||||
_numStatFrames = 0;
|
_numStatFrames = _numSilentPackets = 0;
|
||||||
_stats.reset();
|
_stats.reset();
|
||||||
|
|
||||||
// add stats for each listerner
|
// add stats for each listerner
|
||||||
|
|
|
@ -56,7 +56,8 @@ public slots:
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// packet handlers
|
// packet handlers
|
||||||
void handleNodeAudioPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
void handleAudioPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
||||||
|
void handleSilentAudioPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
||||||
void handleMuteEnvironmentPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
void handleMuteEnvironmentPacket(QSharedPointer<ReceivedMessage> packet, SharedNodePointer sendingNode);
|
||||||
void handleNegotiateAudioFormat(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
void handleNegotiateAudioFormat(QSharedPointer<ReceivedMessage> message, SharedNodePointer sendingNode);
|
||||||
void handleNodeKilled(SharedNodePointer killedNode);
|
void handleNodeKilled(SharedNodePointer killedNode);
|
||||||
|
@ -87,6 +88,8 @@ private:
|
||||||
float _trailingMixRatio { 0.0f };
|
float _trailingMixRatio { 0.0f };
|
||||||
float _throttlingRatio { 0.0f };
|
float _throttlingRatio { 0.0f };
|
||||||
|
|
||||||
|
int _numSilentPackets { 0 };
|
||||||
|
|
||||||
int _numStatFrames { 0 };
|
int _numStatFrames { 0 };
|
||||||
AudioMixerStats _stats;
|
AudioMixerStats _stats;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue