From 855e14d340d40a532fb12afb9b2b96fc0b82ce8a Mon Sep 17 00:00:00 2001 From: Jimi Date: Sat, 6 May 2023 15:35:16 -0600 Subject: [PATCH] Next up and Continue Watching. --- source/Main.brs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/source/Main.brs b/source/Main.brs index ad488776..effeadbe 100644 --- a/source/Main.brs +++ b/source/Main.brs @@ -172,7 +172,8 @@ sub Main (args as dynamic) as void if selectedItem.selectedAudioStreamIndex <> invalid and selectedItem.selectedAudioStreamIndex > 1 video = CreateVideoPlayerGroup(video_id, invalid, selectedItem.selectedAudioStreamIndex) else - video = CreateVideoPlayerGroup(video_id) + preferredLang = FindPreferredAudioStream(invalid, video_id) + video = CreateVideoPlayerGroup(video_id, invalid, preferredLang) end if if video <> invalid and video.errorMsg <> "introaborted" sceneManager.callFunc("pushScene", video) @@ -612,10 +613,24 @@ sub Main (args as dynamic) as void end sub -function FindPreferredAudioStream(streams) +function FindPreferredAudioStream(streams, id = "") preferredLanguage = get_user_setting("display.playback.AudioLanguagePreference") playDefault = get_user_setting("display.playback.PlayDefaultAudioTrack") + ' Do we already have the MediaStreams or not? + if streams = invalid + userId = get_setting("active_user") + url = Substitute("Users/{0}/Items/{1}", userId, id) + resp = APIRequest(url) + jsonResponse = getJson(resp) + if jsonResponse <> invalid and jsonResponse.MediaStreams <> invalid + streams = jsonResponse.MediaStreams + else + ' we can't find the streams? return the default track + return 1 + end if + end if + if playDefault <> invalid and playDefault = "true" return 1 end if