mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2026-05-16 10:15:32 +01:00
applied platformio structure
This commit is contained in:
32
lib/spotify/cspot/include/TimeProvider.h
Normal file
32
lib/spotify/cspot/include/TimeProvider.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h> // for uint8_t
|
||||
#include <vector> // for vector
|
||||
|
||||
namespace cspot {
|
||||
class TimeProvider {
|
||||
private:
|
||||
unsigned long long timestampDiff;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Bypasses the need for NTP server sync by syncing with spotify's servers
|
||||
*
|
||||
*/
|
||||
TimeProvider();
|
||||
|
||||
/**
|
||||
* @brief Syncs the TimeProvider with spotify server's timestamp
|
||||
*
|
||||
* @param pongPacket pong packet containing timestamp
|
||||
*/
|
||||
void syncWithPingPacket(const std::vector<uint8_t>& pongPacket);
|
||||
|
||||
/**
|
||||
* @brief Get current timestamp synced with spotify servers
|
||||
*
|
||||
* @return unsigned long long timestamp
|
||||
*/
|
||||
unsigned long long getSyncedTimestamp();
|
||||
};
|
||||
} // namespace cspot
|
||||
Reference in New Issue
Block a user