From 2bb423471260dcc38df9e3619ebde487789e4917 Mon Sep 17 00:00:00 2001 From: cranci1 <100066266+cranci1@users.noreply.github.com> Date: Fri, 14 Nov 2025 17:22:42 +0100 Subject: [PATCH] updated the subfetching stuff --- .../Helpers/VTTSubtitlesLoader.swift | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/Sora/MediaUtils/CustomPlayer/Helpers/VTTSubtitlesLoader.swift b/Sora/MediaUtils/CustomPlayer/Helpers/VTTSubtitlesLoader.swift index f88103f..7e3dcb4 100644 --- a/Sora/MediaUtils/CustomPlayer/Helpers/VTTSubtitlesLoader.swift +++ b/Sora/MediaUtils/CustomPlayer/Helpers/VTTSubtitlesLoader.swift @@ -13,7 +13,7 @@ struct SubtitleCue: Identifiable { let endTime: Double let text: String let lines: [String] - + init(startTime: Double, endTime: Double, text: String) { self.startTime = startTime self.endTime = endTime @@ -46,7 +46,8 @@ class VTTSubtitlesLoader: ObservableObject { return } - let detectedFormat = self.determineSubtitleFormat(from: url) + let trimmed = subtitleContent.trimmingCharacters(in: .whitespacesAndNewlines) + let detectedFormat: SubtitleFormat = trimmed.contains("WEBVTT") ? .vtt : .srt DispatchQueue.main.async { switch detectedFormat { @@ -55,7 +56,7 @@ class VTTSubtitlesLoader: ObservableObject { case .srt: self.cues = self.parseSRT(content: subtitleContent) case .unknown: - if subtitleContent.trimmingCharacters(in: .whitespacesAndNewlines).hasPrefix("WEBVTT") { + if trimmed.contains("WEBVTT") { self.cues = self.parseVTT(content: subtitleContent) } else { self.cues = self.parseSRT(content: subtitleContent) @@ -65,18 +66,6 @@ class VTTSubtitlesLoader: ObservableObject { }.resume() } - private func determineSubtitleFormat(from url: URL) -> SubtitleFormat { - let fileExtension = url.pathExtension.lowercased() - switch fileExtension { - case "vtt", "webvtt": - return .vtt - case "srt": - return .srt - default: - return .unknown - } - } - private func parseVTT(content: String) -> [SubtitleCue] { let contentLines = content.components(separatedBy: .newlines) var subtitleCues: [SubtitleCue] = []