Merge pull request #2020 from jellyfin/jf-1665-fix-forced-subs
Some checks are pending
Automation 🤖 / Project board 📊 (push) Waiting to run
Automation 🤖 / Labeling 🏷️ (push) Waiting to run
build-dev / dev (push) Waiting to run
build-prod / prod (push) Waiting to run

Fix forced subs keep Roku subs set to "On Always"
This commit is contained in:
Jimi 2024-11-06 13:57:10 -07:00 committed by GitHub
commit 690c944201
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9,6 +9,7 @@ sub init()
m.top.getScene().findNode("overhang").visible = false
userSettings = m.global.session.user.settings
m.currentItem = m.global.queueManager.callFunc("getCurrentItem")
m.originalClosedCaptionState = invalid
m.top.id = m.currentItem.id
m.top.seekMode = "accurate"
@ -461,7 +462,12 @@ sub onVideoContentLoaded()
availableSubtitleTrackIndex = availSubtitleTrackIdx(selectedSubtitle.Track.TrackName)
if availableSubtitleTrackIndex <> -1
if not selectedSubtitle.IsEncoded
m.top.globalCaptionMode = "On"
if selectedSubtitle.IsForced
' If IsForced, make sure to remember the Roku global setting so we
' can set it back when the video is done playing.
m.originalClosedCaptionState = m.top.globalCaptionMode
m.top.globalCaptionMode = "On"
end if
m.top.subtitleTrack = m.top.availableSubtitleTracks[availableSubtitleTrackIndex].TrackName
end if
end if
@ -697,6 +703,12 @@ sub ReportPlayback(state = "update" as string)
m.bufferCheckTimer.duration = 30
end if
if (state = "stop" or state = "finished") and m.originalClosedCaptionState <> invalid
m.log.debug("ReportPlayback() setting", m.top.globalCaptionMode, "back to", m.originalClosedCaptionState)
m.top.globalCaptionMode = m.originalClosedCaptionState
m.originalClosedCaptionState = invalid
end if
' Report playstate via worker task
playstateTask = m.global.playstateTask
playstateTask.setFields({ status: state, params: params })