diff --git a/Flaro/Views/Player/PlayerModel.swift b/Flaro/Views/Player/PlayerModel.swift index 72d4d8c..aa8d8d7 100644 --- a/Flaro/Views/Player/PlayerModel.swift +++ b/Flaro/Views/Player/PlayerModel.swift @@ -873,6 +873,17 @@ final class PlayerModel { streamOffset = target.startOffset streamEnd = nil + // **Die Länge kommt aus der Datei, nicht vom Player.** + // + // Eine wachsende Abspielliste hat für AVPlayer keine Länge — sie + // trägt kein `EXT-X-ENDLIST`, also bleibt die Dauer unbestimmt + // und `durationResolved` kommt nie. Ohne diese Zeile blieb + // `duration` auf nichts, und die Ansicht rechnet dann mit einer + // Sekunde: der Regler stand bei 1:50:07 am Anschlag. + if let bekannt = part.duration ?? item.duration { + duration = .milliseconds(bekannt) + } + // **Der Vorrat läuft voraus, nicht der Player.** // // AVPlayer entscheidet selbst, wie weit er puffert, und bei einer