From cc331feb020d71f109d41b7f841bd69caa96bbb3 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Mon, 27 Oct 2025 18:14:57 -0500 Subject: VideoCommon: Make Presenter aware of the next swap time to eliminate unsafe usage of GetTicks() with ImmediateXFB + DualCore. --- Source/Core/VideoCommon/FrameDumpFFMpeg.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Source/Core/VideoCommon/FrameDumpFFMpeg.cpp') diff --git a/Source/Core/VideoCommon/FrameDumpFFMpeg.cpp b/Source/Core/VideoCommon/FrameDumpFFMpeg.cpp index e0e61529f7..52d41549dd 100644 --- a/Source/Core/VideoCommon/FrameDumpFFMpeg.cpp +++ b/Source/Core/VideoCommon/FrameDumpFFMpeg.cpp @@ -65,6 +65,7 @@ namespace { AVRational GetTimeBaseForCurrentRefreshRate(s64 max_denominator) { + // TODO: GetTargetRefreshRate* are not safe from GPU thread. auto& vi = Core::System::GetInstance().GetVideoInterface(); int num; int den; @@ -368,6 +369,7 @@ void FFMpegFrameDump::AddFrame(const FrameData& frame) // Calculate presentation timestamp from ticks since start. const s64 pts = av_rescale_q( frame.state.ticks - m_context->start_ticks, + // TODO: GetTicksPerSecond is not safe from GPU thread. AVRational{1, int(Core::System::GetInstance().GetSystemTimers().GetTicksPerSecond())}, m_context->codec->time_base); -- cgit v1.2.3