Add:Fallback to transcode when direct play fails, and send playback failed event to client

This commit is contained in:
advplyr 2022-05-06 18:17:45 -05:00
parent 30d86279a5
commit 736e57fafd
7 changed files with 84 additions and 25 deletions

View file

@ -61,15 +61,15 @@ class ApiClient {
}
}
public static func startPlaybackSession(libraryItemId: String, episodeId: String?, callback: @escaping (_ param: PlaybackSession) -> Void) {
public static func startPlaybackSession(libraryItemId: String, episodeId: String?, forceTranscode:Bool, callback: @escaping (_ param: PlaybackSession) -> Void) {
var endpoint = "api/items/\(libraryItemId)/play"
if episodeId != nil {
endpoint += "/\(episodeId!)"
}
ApiClient.postResource(endpoint: endpoint, parameters: [
"forceDirectPlay": "true",
"forceTranscode": "false", // TODO: direct play
"forceDirectPlay": !forceTranscode ? "1" : "",
"forceTranscode": forceTranscode ? "1" : "",
"mediaPlayer": "AVPlayer",
], decodable: PlaybackSession.self) { obj in
var session = obj