diff --git a/apps/ios/VMC/Playback/VLCPlayerController.swift b/apps/ios/VMC/Playback/VLCPlayerController.swift index 660ced1..3d5afa6 100644 --- a/apps/ios/VMC/Playback/VLCPlayerController.swift +++ b/apps/ios/VMC/Playback/VLCPlayerController.swift @@ -168,7 +168,11 @@ final class VLCPlayerController: NSObject, ObservableObject, VLCMediaPlayerDeleg media.addOption(":freetype-rel-fontsize=\(Self.subtitleRelFontSize)") media.addOption(":freetype-bold=1") mediaPlayer.media = media - _ = media.parse(options: VLCMediaParsingOptions(rawValue: 0x02 | 0x08)) // network + fetchLocal + // VLCKit 4: parse is on VLCMediaParser, not VLCMedia + _ = VLCMediaParser.shared().queue( + media, + options: VLCMediaParsingOptions(rawValue: 0x02 | 0x08) // network + fetchLocal + ) mediaPlayer.play() applySubtitleStyle() if startMs > 2000 { @@ -583,7 +587,6 @@ final class VLCPlayerController: NSObject, ObservableObject, VLCMediaPlayerDeleg self.invalidatePipPlaybackState() } switch newState { - case .buffering: self.stateText = "Bufferen…" case .opening: self.stateText = "Openen…" case .playing: self.stateText = "Afspelen" diff --git a/apps/ios/VMC/UI/EventsScreen.swift b/apps/ios/VMC/UI/EventsScreen.swift index 754b380..92a5f57 100644 --- a/apps/ios/VMC/UI/EventsScreen.swift +++ b/apps/ios/VMC/UI/EventsScreen.swift @@ -595,8 +595,11 @@ struct EventDetailScreen: View { now = date Task { await refreshEvent() } } - .fullScreenCover(item: Binding( - get: { playInfo.map { EventPlayItem(info: $0) } }, + .fullScreenCover(item: Binding( + get: { + guard let playInfo else { return nil } + return EventPlayItem(info: playInfo) + }, set: { playInfo = $0?.info } )) { item in if let url = URL(string: item.info.streamUrl) {