From 9508c5f113ff3c2e7cffe381c5d32a7371489eda Mon Sep 17 00:00:00 2001 From: PangMo5 Date: Tue, 14 Jun 2022 22:15:33 +0900 Subject: [PATCH 1/2] Modify External Subtitle URL Logic --- .../JellyfinAPIExtensions/MediaStreamExtension.swift | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift b/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift index 7dc5f33d..91104017 100644 --- a/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift +++ b/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift @@ -10,12 +10,8 @@ import Foundation import JellyfinAPI extension MediaStream { - func externalURL(base: String) -> URL? { guard let deliveryURL = deliveryUrl else { return nil } - var baseComponents = URLComponents(string: base) - baseComponents?.path += deliveryURL - - return baseComponents?.url + return URL(string: base + deliveryURL) } } From bae144c2bdd34b22990437eb687d7261b588afe6 Mon Sep 17 00:00:00 2001 From: PangMo5 Date: Tue, 5 Jul 2022 16:56:30 +0900 Subject: [PATCH 2/2] Add exception handling for externalURL --- .../JellyfinAPIExtensions/MediaStreamExtension.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift b/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift index 91104017..9361f41b 100644 --- a/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift +++ b/Shared/Extensions/JellyfinAPIExtensions/MediaStreamExtension.swift @@ -11,6 +11,10 @@ import JellyfinAPI extension MediaStream { func externalURL(base: String) -> URL? { + var base = base + while base.last == Character("/") { + base.removeLast() + } guard let deliveryURL = deliveryUrl else { return nil } return URL(string: base + deliveryURL) }