mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-29 17:06:18 +02:00
discard old server sync time
This commit is contained in:
parent
d2873b6f0d
commit
a961878707
2 changed files with 15 additions and 2 deletions
|
@ -17,9 +17,10 @@
|
|||
***/
|
||||
|
||||
#include "timeProvider.h"
|
||||
#include "common/log.h"
|
||||
|
||||
|
||||
TimeProvider::TimeProvider() : diffToServer_(0)
|
||||
TimeProvider::TimeProvider() : diffToServer_(0), lastTimeSync_(0)
|
||||
{
|
||||
diffBuffer_.setSize(200);
|
||||
}
|
||||
|
@ -27,8 +28,19 @@ TimeProvider::TimeProvider() : diffToServer_(0)
|
|||
|
||||
void TimeProvider::setDiffToServer(double ms)
|
||||
{
|
||||
diffBuffer_.add(ms * 1000);
|
||||
long now = chronos::getTickCount();
|
||||
/// clear diffBuffer if last update is older than a minute
|
||||
if (now > lastTimeSync_ + 60*1000)
|
||||
{
|
||||
logO << "Last time sync older than a minute. Clearing time buffer\n";
|
||||
diffToServer_ = ms*1000;
|
||||
diffBuffer_.clear();
|
||||
}
|
||||
lastTimeSync_ = now;
|
||||
|
||||
diffBuffer_.add(ms*1000);
|
||||
diffToServer_ = diffBuffer_.median();
|
||||
// logO << "setDiffToServer: " << ms << ", diff: " << diffToServer_ / 1000.f << "\n";
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue