From f731470c0f26390277bbccd4df517804d5a88ab5 Mon Sep 17 00:00:00 2001 From: Mike Solar Date: Wed, 3 Jun 2026 17:49:21 +0800 Subject: [PATCH] fix macOS timer bug --- app/widget/viewer/viewerplaybacktimer.cpp | 5 ++--- app/widget/viewer/viewerplaybacktimer.h | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/widget/viewer/viewerplaybacktimer.cpp b/app/widget/viewer/viewerplaybacktimer.cpp index 9f807d66e..cbd143379 100644 --- a/app/widget/viewer/viewerplaybacktimer.cpp +++ b/app/widget/viewer/viewerplaybacktimer.cpp @@ -21,7 +21,6 @@ #include "viewerplaybacktimer.h" -#include #include namespace olive @@ -31,7 +30,7 @@ void ViewerPlaybackTimer::Start(const int64_t &start_timestamp, const int &playback_speed, const double &timebase) { - start_msec_ = QDateTime::currentMSecsSinceEpoch(); + timer_.start(); start_timestamp_ = start_timestamp; playback_speed_ = playback_speed; timebase_ = timebase * 1000; @@ -39,7 +38,7 @@ void ViewerPlaybackTimer::Start(const int64_t &start_timestamp, int64_t ViewerPlaybackTimer::GetTimestampNow() const { - int64_t real_time = QDateTime::currentMSecsSinceEpoch() - start_msec_; + int64_t real_time = timer_.elapsed(); int64_t frames_since_start = qFloor(static_cast(real_time) / (timebase_)); diff --git a/app/widget/viewer/viewerplaybacktimer.h b/app/widget/viewer/viewerplaybacktimer.h index a9ed2f9b8..56f8e2594 100644 --- a/app/widget/viewer/viewerplaybacktimer.h +++ b/app/widget/viewer/viewerplaybacktimer.h @@ -23,6 +23,7 @@ #define VIEWERPLAYBACKTIMER_H #include +#include #include "common/define.h" @@ -37,7 +38,7 @@ public: int64_t GetTimestampNow() const; private: - qint64 start_msec_; + QElapsedTimer timer_; int64_t start_timestamp_; int playback_speed_;