diff --git a/src/components/htmlvideoplayer/plugin.js b/src/components/htmlvideoplayer/plugin.js index 77e8d61b87..ee7087c3cc 100644 --- a/src/components/htmlvideoplayer/plugin.js +++ b/src/components/htmlvideoplayer/plugin.js @@ -575,36 +575,34 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa self.setSubtitleOffset = function(offset) { var offsetValue = parseFloat(offset); - var videoElement = self._mediaElement; - var mediaStreamTextTracks = getMediaStreamTextTracks(self._currentPlayOptions.mediaSource); - Array.from(videoElement.textTracks) - .filter(function(trackElement) { - if (customTrackIndex === -1 ) { + // if .ass currently rendering + if (currentAssRenderer){ + updateCurrentTrackOffset(offsetValue); + } else { + var videoElement = self._mediaElement; + var mediaStreamTextTracks = getMediaStreamTextTracks(self._currentPlayOptions.mediaSource); + + Array.from(videoElement.textTracks) + .filter(function(trackElement) { // get showing .vtt textTacks return trackElement.mode === 'showing'; - } else { - // get current .ass textTrack - return ("textTrack" + customTrackIndex) === trackElement.id; - } - }) - .forEach(function(trackElement) { + }) + .forEach(function(trackElement) { - var track = mediaStreamTextTracks.filter(function(stream) { - return ("textTrack" + stream.Index) === trackElement.id; - })[0]; + var track = customTrackIndex === -1 ? null : mediaStreamTextTracks.filter(function (t) { + return t.Index === customTrackIndex; + })[0]; - if(track) { - offsetValue = updateCurrentTrackOffset(offsetValue); - var format = (track.Codec || '').toLowerCase(); - if (format !== 'ass' && format !== 'ssa') { + if (track) { + offsetValue = updateCurrentTrackOffset(offsetValue); setVttSubtitleOffset(trackElement, offsetValue); + } else { + console.log("No available track, cannot apply offset : " + offsetValue); } - } else { - console.log("No available track, cannot apply offset : " + offsetValue); - } - }); + }); + } }; function updateCurrentTrackOffset(offsetValue) { diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 04fb89b3d1..13497e1912 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1667,7 +1667,7 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla self.getPlayerSubtitleOffset = function(player) { player = player || self._currentPlayer; - if (player.getPlayerSubtitleOffset) { + if (player.getSubtitleOffset) { return player.getSubtitleOffset(); } }