From 2d4ddc7b9c0d65fcfdec37a839e96621f9cfec3c Mon Sep 17 00:00:00 2001 From: Bryan Montz Date: Sun, 25 Jun 2023 11:22:29 -0500 Subject: [PATCH] Fix crash related to VideoPlayer and CMTime Closes: #1321 Changelog-Fixed: Fix crash related to VideoPlayer --- damus/Views/Video/VideoPlayer.swift | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/damus/Views/Video/VideoPlayer.swift b/damus/Views/Video/VideoPlayer.swift index 82ccc03a..2a0a04d4 100644 --- a/damus/Views/Video/VideoPlayer.swift +++ b/damus/Views/Video/VideoPlayer.swift @@ -48,7 +48,8 @@ public class VideoPlayerModel: ObservableObject { @Published var has_audio: Bool? = nil @Published var contentMode: UIView.ContentMode = .scaleAspectFill - var time: CMTime = CMTime() + fileprivate var time: CMTime? + var handlers: [VideoHandler] = [] init() { @@ -262,8 +263,9 @@ extension VideoPlayer: UIViewRepresentable { uiView.isMuted = model.muted uiView.isAutoReplay = model.autoReplay - if let observerTime = context.coordinator.observerTime, model.time != observerTime { - uiView.seek(to: model.time, toleranceBefore: model.time, toleranceAfter: model.time, completion: { _ in }) + if let observerTime = context.coordinator.observerTime, let modelTime = model.time, + modelTime != observerTime && modelTime.isValid && modelTime.isNumeric { + uiView.seek(to: modelTime, completion: { _ in }) } }