@@ -22,7 +22,7 @@ class AVSubtitlesLoader: NSObject {
2222 private let _id : String
2323 private var variantTotalDuration : Double = 0
2424
25- init ( subtitles: [ TextTrackDescription ] , id: String , player: THEOplayer ? = nil , cachingTask : CachingTask ? = nil ) {
25+ init ( subtitles: [ TextTrackDescription ] , id: String , player: THEOplayer ? = nil ) {
2626 self . subtitles = subtitles
2727 self . _id = id
2828 self . synchronizer = SubtitlesSynchronizer ( player: player)
@@ -31,8 +31,15 @@ class AVSubtitlesLoader: NSObject {
3131 super. init ( )
3232
3333 _ = player? . addEventListener ( type: PlayerEventTypes . DESTROY, listener: { [ weak self] destroyEvent in self ? . handleDestroyEvent ( ) } )
34+ }
35+
36+ #if os(iOS)
37+ convenience init ( subtitles: [ TextTrackDescription ] , id: String , cachingTask: CachingTask ? = nil ) {
38+ self . init ( subtitles: subtitles, id: id, player: nil )
39+
3440 _ = cachingTask? . addEventListener ( type: CachingTaskEventTypes . STATE_CHANGE, listener: { [ weak self] cachingTaskStateChangeEvent in self ? . handleCachingTaskStateChangeEvent ( task: cachingTask) } )
3541 }
42+ #endif
3643
3744 func handleMasterManifestRequest( _ url: URL ) async -> Data ? {
3845 let parser = MasterPlaylistParser ( url: url)
@@ -115,11 +122,13 @@ class AVSubtitlesLoader: NSObject {
115122 Self . removeInstance ( by: _id)
116123 }
117124
125+ #if os(iOS)
118126 private func handleCachingTaskStateChangeEvent( task: CachingTask ? ) {
119127 guard let task,
120128 task. status == . evicted else { return }
121129 Self . removeInstance ( by: task. id)
122130 }
131+ #endif
123132}
124133
125134enum URLScheme : String {
0 commit comments