From 5d8e8483d1ebcea2d20443750e6524a96265d937 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Tue, 16 May 2023 18:51:07 +0200 Subject: [PATCH] Minor performance improvement --- Model/Player/Backends/MPVBackend.swift | 4 +++- Model/Player/PlayerModel.swift | 16 ++++++++++------ Model/Player/PlayerSponsorBlock.swift | 4 +++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Model/Player/Backends/MPVBackend.swift b/Model/Player/Backends/MPVBackend.swift index 7954a83f..fa2e4bb8 100644 --- a/Model/Player/Backends/MPVBackend.swift +++ b/Model/Player/Backends/MPVBackend.swift @@ -222,7 +222,9 @@ final class MPVBackend: PlayerBackend { func playStream(_ stream: Stream, of video: Video, preservingTime: Bool, upgrading: Bool) { #if !os(macOS) if model.presentingPlayer { - UIApplication.shared.isIdleTimerDisabled = true + DispatchQueue.main.async { + UIApplication.shared.isIdleTimerDisabled = true + } } #endif diff --git a/Model/Player/PlayerModel.swift b/Model/Player/PlayerModel.swift index 2d6e6625..bb1e1fc3 100644 --- a/Model/Player/PlayerModel.swift +++ b/Model/Player/PlayerModel.swift @@ -459,12 +459,16 @@ final class PlayerModel: ObservableObject { return } - streamSelection = stream - playStream( - stream, - of: currentVideo, - preservingTime: !currentItem.playbackTime.isNil - ) + DispatchQueue.global(qos: .userInitiated).async { + DispatchQueue.main.async { + self.streamSelection = stream + } + self.playStream( + stream, + of: currentVideo, + preservingTime: !self.currentItem.playbackTime.isNil + ) + } } private func handlePresentationChange() { diff --git a/Model/Player/PlayerSponsorBlock.swift b/Model/Player/PlayerSponsorBlock.swift index c92c6ff8..5c5976a0 100644 --- a/Model/Player/PlayerSponsorBlock.swift +++ b/Model/Player/PlayerSponsorBlock.swift @@ -95,6 +95,8 @@ extension PlayerModel { func resetSegments() { resetLastSegment() - restoredSegments = [] + DispatchQueue.main.async { [weak self] in + self?.restoredSegments = [] + } } }