begin work on embedded subtitles
This commit is contained in:
parent
78c061d4de
commit
00aaa246fd
|
@ -552,7 +552,6 @@ extension VLCPlayerViewController: PlayerOverlayDelegate {
|
||||||
|
|
||||||
/// Do not call when setting to index -1
|
/// Do not call when setting to index -1
|
||||||
func didSelectSubtitleStream(index: Int) {
|
func didSelectSubtitleStream(index: Int) {
|
||||||
|
|
||||||
viewModel.subtitlesEnabled = true
|
viewModel.subtitlesEnabled = true
|
||||||
vlcMediaPlayer.currentVideoSubTitleIndex = Int32(index)
|
vlcMediaPlayer.currentVideoSubTitleIndex = Int32(index)
|
||||||
|
|
||||||
|
|
|
@ -471,9 +471,23 @@ extension VideoPlayerViewModel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: Embedded SubtitleStreamViewModel
|
// MARK: Embedded/Normal Subtitle Streams
|
||||||
extension VideoPlayerViewModel {
|
extension VideoPlayerViewModel {
|
||||||
|
|
||||||
|
func createEmbeddedSubtitleStream(with subtitleStream: MediaStream) -> URL {
|
||||||
|
|
||||||
|
guard let baseURL = URLComponents(url: streamURL, resolvingAgainstBaseURL: false) else { fatalError() }
|
||||||
|
guard let queryItems = baseURL.queryItems else { fatalError() }
|
||||||
|
|
||||||
|
var newURL = baseURL
|
||||||
|
var newQueryItems = queryItems
|
||||||
|
|
||||||
|
newQueryItems.removeAll(where: { $0.name == "SubtitleStreamIndex" })
|
||||||
|
newQueryItems.removeAll(where: { $0.name == "SubtitleMethod" })
|
||||||
|
|
||||||
|
newURL.addQueryItem(name: "SubtitleMethod", value: "Encode")
|
||||||
|
newURL.addQueryItem(name: "SubtitleStreamIndex", value: "\(subtitleStream.index ?? -1)")
|
||||||
|
|
||||||
|
return newURL.url!
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue