public override TimeSpan getCurrentTime() { if (presentationStart.HasValue) { TimeSpan now = LibC.gettime(eClock.Monotonic); return(now - presentationStart.Value); } return(TimeSpan.Zero); }
protected override bool onVideoStreamTick(TimeSpan pendingVideoFrame) { if (m_paused) { return(false); } if (presentationStart.HasValue) { TimeSpan now = LibC.gettime(eClock.Monotonic); if (presentationStart.Value + pendingVideoFrame > now) { // The first of the pending frames should be rendered in the future, as measured with eClock.Monotonic OS clock. return(false); } } else { presentationStart = LibC.gettime(eClock.Monotonic) - pendingVideoFrame; } return(true); }