From 988148a283c10d3b3d55135b8e46b2da8aeca3a2 Mon Sep 17 00:00:00 2001 From: BlackSpirits Date: Sun, 13 Sep 2026 19:24:51 +0200 Subject: [PATCH] FFmpeg: replay after VideoToolbox send fallback --- src/ui/Logic/VideoPlayers/Ffmpeg/FfmpegPlayer.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ui/Logic/VideoPlayers/Ffmpeg/FfmpegPlayer.cs b/src/ui/Logic/VideoPlayers/Ffmpeg/FfmpegPlayer.cs index fa70455f00..3525c03f53 100644 --- a/src/ui/Logic/VideoPlayers/Ffmpeg/FfmpegPlayer.cs +++ b/src/ui/Logic/VideoPlayers/Ffmpeg/FfmpegPlayer.cs @@ -848,9 +848,13 @@ private void VideoLoop() { if (hardware) { - // The hardware decoder rejected the stream - retry it in software. + // The hardware decoder rejected the stream. Reopen in software and + // replay from a key frame; continuing from the next demuxed packet can + // leave the fresh software decoder without the reference frames it + // needs to decode the current GOP. codec = FallBackToSoftware(codec, stream, sendResult, ref hardware); serial = -1; + Seek(Position); } continue;