From a434bf443d162d606331083b67f042ecf9a07268 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 24 Feb 2016 11:52:36 -0500 Subject: [PATCH] subtitle fixes --- dashboard-ui/scripts/htmlmediarenderer.js | 21 +++++++++++++-------- dashboard-ui/scripts/mediaplayer-video.js | 12 +----------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/dashboard-ui/scripts/htmlmediarenderer.js b/dashboard-ui/scripts/htmlmediarenderer.js index 562f6c33a9..237dc0123a 100644 --- a/dashboard-ui/scripts/htmlmediarenderer.js +++ b/dashboard-ui/scripts/htmlmediarenderer.js @@ -4,6 +4,7 @@ var hlsPlayer; var requiresSettingStartTimeOnStart; var subtitleTrackIndexToSetOnPlaying; + var currentTrackList; function htmlMediaRenderer(options) { @@ -375,15 +376,12 @@ } tracks = tracks || []; + currentTrackList = tracks; var currentTrackIndex = -1; for (var i = 0, length = tracks.length; i < length; i++) { if (tracks[i].isDefault) { - if (browserInfo.msie) { - currentTrackIndex = i; - } else { - currentTrackIndex = tracks[i].index; - } + currentTrackIndex = tracks[i].index; break; } } @@ -505,14 +503,19 @@ return supportsTextTracks; }; - self.setCurrentTrackElement = function (trackIndex) { + self.setCurrentTrackElement = function (streamIndex) { - console.log('Setting new text track index to: ' + trackIndex); + console.log('Setting new text track index to: ' + streamIndex); var allTracks = mediaElement.textTracks; // get list of tracks var modes = ['disabled', 'showing', 'hidden']; - var expectedId = 'textTrack' + trackIndex; + var expectedId = 'textTrack' + streamIndex; + + var track = streamIndex == -1 ? null : currentTrackList.filter(function (t) { + return t.index == streamIndex; + })[0]; + var trackIndex = streamIndex == -1 || !track ? -1 : currentTrackList.indexOf(track); for (var i = 0; i < allTracks.length; i++) { @@ -522,6 +525,8 @@ var mode; + console.log('expectedId: ' + expectedId + '--currentTrack.Id:' + currentTrack.id); + // IE doesn't support track id if (browserInfo.msie) { if (trackIndex == i) { diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index 30ff85db82..090210c00d 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -320,17 +320,7 @@ self.setCurrentTrackElement = function (index) { - var textStreams = self.currentMediaSource.MediaStreams.filter(function (s) { - return s.DeliveryMethod == 'External'; - }); - - var newStream = textStreams.filter(function (s) { - return s.Index == index; - })[0]; - - var trackIndex = newStream ? textStreams.indexOf(newStream) : -1; - - self.currentMediaRenderer.setCurrentTrackElement(trackIndex); + self.currentMediaRenderer.setCurrentTrackElement(index); }; self.updateTextStreamUrls = function (startPositionTicks) {