From 9c7ffffbaefdfbe198b999cd246544995d668985 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 20 Mar 2014 21:55:08 -0700 Subject: [PATCH 1/7] fix some windows issues Conflicts: assignment-client/src/audio/AudioMixer.cpp --- assignment-client/src/audio/AudioMixer.cpp | 4 ++-- assignment-client/src/main.cpp | 4 +++- assignment-client/src/octree/OctreeServer.cpp | 2 ++ domain-server/src/main.cpp | 10 ++++++---- libraries/shared/src/Logging.cpp | 3 ++- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index f3b623bac2..769eb29342 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -382,8 +382,8 @@ void AudioMixer::run() { } const float STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.10f; - const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.20f; - const float CUTOFF_DELTA = 0.02f; + const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.30f; + const float CUTOFF_EPSILON = 0.0001f; const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1.0f - CURRENT_FRAME_RATIO; diff --git a/assignment-client/src/main.cpp b/assignment-client/src/main.cpp index 7ee0ea9e14..0151f93319 100644 --- a/assignment-client/src/main.cpp +++ b/assignment-client/src/main.cpp @@ -15,8 +15,10 @@ int main(int argc, char* argv[]) { +#ifndef WIN32 setvbuf(stdout, NULL, _IOLBF, 0); - +#endif + // use the verbose message handler in Logging qInstallMessageHandler(Logging::verboseMessageHandler); diff --git a/assignment-client/src/octree/OctreeServer.cpp b/assignment-client/src/octree/OctreeServer.cpp index 496f9af1a0..d4dfa80724 100644 --- a/assignment-client/src/octree/OctreeServer.cpp +++ b/assignment-client/src/octree/OctreeServer.cpp @@ -880,7 +880,9 @@ void OctreeServer::run() { // we need to ask the DS about agents so we can ping/reply with them nodeList->addNodeTypeToInterestSet(NodeType::Agent); +#ifndef WIN32 setvbuf(stdout, NULL, _IOLBF, 0); +#endif nodeList->linkedDataCreateCallback = &OctreeServer::attachQueryNodeToNode; diff --git a/domain-server/src/main.cpp b/domain-server/src/main.cpp index 1d9f554237..f18bb05c64 100644 --- a/domain-server/src/main.cpp +++ b/domain-server/src/main.cpp @@ -20,11 +20,13 @@ int main(int argc, char* argv[]) { +#ifndef WIN32 setvbuf(stdout, NULL, _IOLBF, 0); - - qInstallMessageHandler(Logging::verboseMessageHandler); - - DomainServer domainServer(argc, argv); +#endif + + qInstallMessageHandler(Logging::verboseMessageHandler); + + DomainServer domainServer(argc, argv); return domainServer.exec(); } diff --git a/libraries/shared/src/Logging.cpp b/libraries/shared/src/Logging.cpp index 1713382fcf..1fa4052569 100644 --- a/libraries/shared/src/Logging.cpp +++ b/libraries/shared/src/Logging.cpp @@ -86,7 +86,8 @@ const char* stringForLogType(QtMsgType msgType) { } // the following will produce 2000-10-02 13:55:36 -0700 -const char DATE_STRING_FORMAT[] = "%F %H:%M:%S %z"; +const char DATE_STRING_FORMAT[] = "%Y-%m-%d %H:%M:%S %z"; +//const char DATE_STRING_FORMAT[] = "%F %H:%M:%S %z"; void Logging::verboseMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString& message) { if (message.isEmpty()) { From d962387c75e9fba84e54332e731f7e99d896b50d Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Sun, 23 Mar 2014 18:11:40 -0700 Subject: [PATCH 2/7] revert --- assignment-client/src/audio/AudioMixer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index 769eb29342..d73a730b01 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -382,8 +382,8 @@ void AudioMixer::run() { } const float STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.10f; - const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.30f; - const float CUTOFF_EPSILON = 0.0001f; + const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.20f; + const float CUTOFF_EPSILON = 0.02f; const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1.0f - CURRENT_FRAME_RATIO; From d63acfc46f2ece206233fa6a5cf9199068e8de19 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Sun, 23 Mar 2014 18:12:02 -0700 Subject: [PATCH 3/7] revert --- assignment-client/src/audio/AudioMixer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index d73a730b01..f3b623bac2 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -383,7 +383,7 @@ void AudioMixer::run() { const float STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.10f; const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.20f; - const float CUTOFF_EPSILON = 0.02f; + const float CUTOFF_DELTA = 0.02f; const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1.0f - CURRENT_FRAME_RATIO; From bde2146b1b2b5c2696857a0868b1921b472d2f56 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Sun, 23 Mar 2014 18:14:36 -0700 Subject: [PATCH 4/7] whitespace cleanup --- domain-server/src/main.cpp | 5 ++--- libraries/shared/src/Logging.cpp | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/domain-server/src/main.cpp b/domain-server/src/main.cpp index f18bb05c64..970d1dad70 100644 --- a/domain-server/src/main.cpp +++ b/domain-server/src/main.cpp @@ -24,9 +24,8 @@ int main(int argc, char* argv[]) { setvbuf(stdout, NULL, _IOLBF, 0); #endif - qInstallMessageHandler(Logging::verboseMessageHandler); - - DomainServer domainServer(argc, argv); + qInstallMessageHandler(Logging::verboseMessageHandler); + DomainServer domainServer(argc, argv); return domainServer.exec(); } diff --git a/libraries/shared/src/Logging.cpp b/libraries/shared/src/Logging.cpp index 1fa4052569..f0dcd7b67b 100644 --- a/libraries/shared/src/Logging.cpp +++ b/libraries/shared/src/Logging.cpp @@ -87,7 +87,6 @@ const char* stringForLogType(QtMsgType msgType) { // the following will produce 2000-10-02 13:55:36 -0700 const char DATE_STRING_FORMAT[] = "%Y-%m-%d %H:%M:%S %z"; -//const char DATE_STRING_FORMAT[] = "%F %H:%M:%S %z"; void Logging::verboseMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString& message) { if (message.isEmpty()) { From 5567d9acb9157af0692e9d1f705aabd7874654b5 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 24 Mar 2014 09:24:13 -0700 Subject: [PATCH 5/7] change audio-mixer struggle behaviour --- assignment-client/src/audio/AudioMixer.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index f3b623bac2..9a7b96fa51 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -383,7 +383,6 @@ void AudioMixer::run() { const float STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.10f; const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.20f; - const float CUTOFF_DELTA = 0.02f; const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1.0f - CURRENT_FRAME_RATIO; @@ -401,18 +400,14 @@ void AudioMixer::run() { if (framesSinceCutoffEvent >= TRAILING_AVERAGE_FRAMES) { if (_trailingSleepRatio <= STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD) { // we're struggling - change our min required loudness to reduce some load - audabilityCutoffRatio += CUTOFF_DELTA; - - if (audabilityCutoffRatio >= 1) { - audabilityCutoffRatio = 1 - CUTOFF_DELTA; - } + audabilityCutoffRatio = audabilityCutoffRatio + (0.5f * (1.0f - audabilityCutoffRatio)); qDebug() << "Mixer is struggling, sleeping" << _trailingSleepRatio * 100 << "% of frame time. Old cutoff was" << lastCutoffRatio << "and is now" << audabilityCutoffRatio; hasRatioChanged = true; } else if (_trailingSleepRatio >= BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD && audabilityCutoffRatio != 0) { // we've recovered and can back off the required loudness - audabilityCutoffRatio -= CUTOFF_DELTA; + audabilityCutoffRatio = audabilityCutoffRatio - (1.0f - audabilityCutoffRatio); if (audabilityCutoffRatio < 0) { audabilityCutoffRatio = 0; From d0fbf4953aa417bcd79c88b50b7f223fb6811167 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 24 Mar 2014 10:27:46 -0700 Subject: [PATCH 6/7] change back off strategy, output trailing sleep --- assignment-client/src/audio/AudioMixer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index 9a7b96fa51..c8cb7a78c0 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -384,6 +384,8 @@ void AudioMixer::run() { const float STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.10f; const float BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD = 0.20f; + const float RATIO_BACK_OFF = 0.02f; + const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1.0f - CURRENT_FRAME_RATIO; @@ -398,6 +400,10 @@ void AudioMixer::run() { bool hasRatioChanged = false; if (framesSinceCutoffEvent >= TRAILING_AVERAGE_FRAMES) { + if (framesSinceCutoffEvent % TRAILING_AVERAGE_FRAMES == 0) { + qDebug() << "Current trailing sleep ratio:" << _trailingSleepRatio; + } + if (_trailingSleepRatio <= STRUGGLE_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD) { // we're struggling - change our min required loudness to reduce some load audabilityCutoffRatio = audabilityCutoffRatio + (0.5f * (1.0f - audabilityCutoffRatio)); @@ -407,7 +413,7 @@ void AudioMixer::run() { hasRatioChanged = true; } else if (_trailingSleepRatio >= BACK_OFF_TRIGGER_SLEEP_PERCENTAGE_THRESHOLD && audabilityCutoffRatio != 0) { // we've recovered and can back off the required loudness - audabilityCutoffRatio = audabilityCutoffRatio - (1.0f - audabilityCutoffRatio); + audabilityCutoffRatio = audabilityCutoffRatio - RATIO_BACK_OFF; if (audabilityCutoffRatio < 0) { audabilityCutoffRatio = 0; From c0da215a603b12fd56d83e0b04027ca87dc8d054 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 24 Mar 2014 10:39:10 -0700 Subject: [PATCH 7/7] correctly output trailing sleep time --- assignment-client/src/audio/AudioMixer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/assignment-client/src/audio/AudioMixer.cpp b/assignment-client/src/audio/AudioMixer.cpp index c8cb7a78c0..d6e82a3889 100644 --- a/assignment-client/src/audio/AudioMixer.cpp +++ b/assignment-client/src/audio/AudioMixer.cpp @@ -431,8 +431,10 @@ void AudioMixer::run() { framesSinceCutoffEvent = 0; } - } else { - framesSinceCutoffEvent++; + } + + if (!hasRatioChanged) { + ++framesSinceCutoffEvent; } foreach (const SharedNodePointer& node, nodeList->getNodeHash()) {