MonotonicClock

interface MonotonicClock

The source of wall time for the engine.

Every timing decision in KitePlayer reads time through this interface and never through a platform clock directly. That is what makes synchronisation, seeking, buffering and frame dropping testable: a test supplies a clock it controls and drives a whole playback session through hours of media in a few milliseconds, deterministically.

Implementations must be monotonic. A clock that can go backwards, such as a wall calendar clock adjusted by NTP, will make the engine present frames in the wrong order.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun nanos(): Long

Nanoseconds since an arbitrary fixed origin. Only differences are meaningful.