begin work on embedded subtitles

This commit is contained in:
Ethan Pippin 2022-01-04 19:07:18 -07:00
parent 78c061d4de
commit 00aaa246fd
2 changed files with 17 additions and 4 deletions

View File

@ -552,7 +552,6 @@ extension VLCPlayerViewController: PlayerOverlayDelegate {
/// Do not call when setting to index -1
func didSelectSubtitleStream(index: Int) {
viewModel.subtitlesEnabled = true
vlcMediaPlayer.currentVideoSubTitleIndex = Int32(index)

View File

@ -471,9 +471,23 @@ extension VideoPlayerViewModel {
}
}
// MARK: Embedded SubtitleStreamViewModel
// MARK: Embedded/Normal Subtitle Streams
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!
}
}