don't use usecTimestampNow for per second actions

This commit is contained in:
Stephen Birarda 2016-02-10 15:07:45 -08:00
parent b1c6d1d256
commit 97cd65cf80
3 changed files with 6 additions and 8 deletions

View file

@ -82,7 +82,6 @@ AudioMixer::AudioMixer(ReceivedMessage& message) :
_performanceThrottlingRatio(0.0f), _performanceThrottlingRatio(0.0f),
_attenuationPerDoublingInDistance(DEFAULT_ATTENUATION_PER_DOUBLING_IN_DISTANCE), _attenuationPerDoublingInDistance(DEFAULT_ATTENUATION_PER_DOUBLING_IN_DISTANCE),
_noiseMutingThreshold(DEFAULT_NOISE_MUTING_THRESHOLD), _noiseMutingThreshold(DEFAULT_NOISE_MUTING_THRESHOLD),
_lastPerSecondCallbackTime(usecTimestampNow()),
_sendAudioStreamStats(false), _sendAudioStreamStats(false),
_datagramsReadPerCallStats(0, READ_DATAGRAMS_STATS_WINDOW_SECONDS), _datagramsReadPerCallStats(0, READ_DATAGRAMS_STATS_WINDOW_SECONDS),
_timeSpentPerCallStats(0, READ_DATAGRAMS_STATS_WINDOW_SECONDS), _timeSpentPerCallStats(0, READ_DATAGRAMS_STATS_WINDOW_SECONDS),
@ -689,10 +688,11 @@ void AudioMixer::broadcastMixes() {
++framesSinceCutoffEvent; ++framesSinceCutoffEvent;
} }
quint64 now = usecTimestampNow(); static const int FRAMES_PER_SECOND = int(ceilf(1.0f / AudioConstants::NETWORK_FRAME_SECS));
if (now - _lastPerSecondCallbackTime > USECS_PER_SECOND) {
// check if it has been approximately one second since our last call to perSecondActions
if (nextFrame % FRAMES_PER_SECOND == 0) {
perSecondActions(); perSecondActions();
_lastPerSecondCallbackTime = now;
} }
nodeList->eachNode([&](const SharedNodePointer& node) { nodeList->eachNode([&](const SharedNodePointer& node) {

View file

@ -113,8 +113,6 @@ private:
static bool _printStreamStats; static bool _printStreamStats;
static bool _enableFilter; static bool _enableFilter;
quint64 _lastPerSecondCallbackTime;
bool _sendAudioStreamStats; bool _sendAudioStreamStats;
// stats // stats

View file

@ -27,8 +27,8 @@ namespace AudioConstants {
const int NETWORK_FRAME_SAMPLES_STEREO = NETWORK_FRAME_BYTES_STEREO / sizeof(AudioSample); const int NETWORK_FRAME_SAMPLES_STEREO = NETWORK_FRAME_BYTES_STEREO / sizeof(AudioSample);
const int NETWORK_FRAME_BYTES_PER_CHANNEL = 512; const int NETWORK_FRAME_BYTES_PER_CHANNEL = 512;
const int NETWORK_FRAME_SAMPLES_PER_CHANNEL = NETWORK_FRAME_BYTES_PER_CHANNEL / sizeof(AudioSample); const int NETWORK_FRAME_SAMPLES_PER_CHANNEL = NETWORK_FRAME_BYTES_PER_CHANNEL / sizeof(AudioSample);
const float NETWORK_FRAME_MSECS = (AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL const float NETWORK_FRAME_SECS = (AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL / float(AudioConstants::SAMPLE_RATE));
/ (float)AudioConstants::SAMPLE_RATE) * 1000.0f; const float NETWORK_FRAME_MSECS = NETWORK_FRAME_SECS * 1000.0f;
// be careful with overflows when using this constant // be careful with overflows when using this constant
const int NETWORK_FRAME_USECS = static_cast<int>(NETWORK_FRAME_MSECS * 1000.0f); const int NETWORK_FRAME_USECS = static_cast<int>(NETWORK_FRAME_MSECS * 1000.0f);