| Index: modules/audio_conference_mixer/source/time_scheduler.cc
|
| diff --git a/modules/audio_conference_mixer/source/time_scheduler.cc b/modules/audio_conference_mixer/source/time_scheduler.cc
|
| deleted file mode 100644
|
| index 5a27b42b4b8052c7f7018499a9e83cf80b7369d0..0000000000000000000000000000000000000000
|
| --- a/modules/audio_conference_mixer/source/time_scheduler.cc
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#include "modules/audio_conference_mixer/source/time_scheduler.h"
|
| -#include "rtc_base/timeutils.h"
|
| -
|
| -namespace webrtc {
|
| -TimeScheduler::TimeScheduler(const int64_t periodicityInMs)
|
| - : _isStarted(false),
|
| - _lastPeriodMark(),
|
| - _periodicityInMs(periodicityInMs),
|
| - _periodicityInTicks(periodicityInMs * rtc::kNumNanosecsPerMillisec),
|
| - _missedPeriods(0) {}
|
| -
|
| -int32_t TimeScheduler::UpdateScheduler() {
|
| - rtc::CritScope cs(&_crit);
|
| - if(!_isStarted)
|
| - {
|
| - _isStarted = true;
|
| - _lastPeriodMark = rtc::TimeNanos();
|
| - return 0;
|
| - }
|
| - // Don't perform any calculations until the debt of pending periods have
|
| - // been worked off.
|
| - if(_missedPeriods > 0)
|
| - {
|
| - _missedPeriods--;
|
| - return 0;
|
| - }
|
| -
|
| - // Calculate the time that has past since previous call to this function.
|
| - int64_t tickNow = rtc::TimeNanos();
|
| - int64_t amassedTicks = tickNow - _lastPeriodMark;
|
| - int64_t amassedMs = amassedTicks / rtc::kNumNanosecsPerMillisec;
|
| -
|
| - // Calculate the number of periods the time that has passed correspond to.
|
| - int64_t periodsToClaim = amassedMs / _periodicityInMs;
|
| -
|
| - // One period will be worked off by this call. Make sure that the number of
|
| - // pending periods don't end up being negative (e.g. if this function is
|
| - // called to often).
|
| - if(periodsToClaim < 1)
|
| - {
|
| - periodsToClaim = 1;
|
| - }
|
| -
|
| - // Update the last period mark without introducing any drifting.
|
| - // Note that if this fuunction is called to often _lastPeriodMark can
|
| - // refer to a time in the future which in turn will yield TimeToNextUpdate
|
| - // that is greater than the periodicity
|
| - for(int64_t i = 0; i < periodsToClaim; i++)
|
| - {
|
| - _lastPeriodMark += _periodicityInTicks;
|
| - }
|
| -
|
| - // Update the total amount of missed periods note that we have processed
|
| - // one period hence the - 1
|
| - _missedPeriods += periodsToClaim - 1;
|
| - return 0;
|
| -}
|
| -
|
| -int32_t TimeScheduler::TimeToNextUpdate(
|
| - int64_t& updateTimeInMS) const
|
| -{
|
| - rtc::CritScope cs(&_crit);
|
| - // Missed periods means that the next UpdateScheduler() should happen
|
| - // immediately.
|
| - if(_missedPeriods > 0)
|
| - {
|
| - updateTimeInMS = 0;
|
| - return 0;
|
| - }
|
| -
|
| - // Calculate the time (in ms) that has past since last call to
|
| - // UpdateScheduler()
|
| - int64_t tickNow = rtc::TimeNanos();
|
| - int64_t ticksSinceLastUpdate = tickNow - _lastPeriodMark;
|
| - const int64_t millisecondsSinceLastUpdate =
|
| - ticksSinceLastUpdate / rtc::kNumNanosecsPerMillisec;
|
| -
|
| - updateTimeInMS = _periodicityInMs - millisecondsSinceLastUpdate;
|
| - updateTimeInMS = (updateTimeInMS < 0) ? 0 : updateTimeInMS;
|
| - return 0;
|
| -}
|
| -} // namespace webrtc
|
|
|