diff --git a/dashboard-ui/scripts/htmlmediarenderer.js b/dashboard-ui/scripts/htmlmediarenderer.js
index d4e4486162..562f6c33a9 100644
--- a/dashboard-ui/scripts/htmlmediarenderer.js
+++ b/dashboard-ui/scripts/htmlmediarenderer.js
@@ -379,7 +379,11 @@
var currentTrackIndex = -1;
for (var i = 0, length = tracks.length; i < length; i++) {
if (tracks[i].isDefault) {
- currentTrackIndex = i;
+ if (browserInfo.msie) {
+ currentTrackIndex = i;
+ } else {
+ currentTrackIndex = tracks[i].index;
+ }
break;
}
}
@@ -423,7 +427,8 @@
var defaultAttribute = t.isDefault ? ' default' : '';
- return '';
+ var label = t.language || 'und';
+ return '';
}).join('');
@@ -507,15 +512,29 @@
var allTracks = mediaElement.textTracks; // get list of tracks
var modes = ['disabled', 'showing', 'hidden'];
+ var expectedId = 'textTrack' + trackIndex;
for (var i = 0; i < allTracks.length; i++) {
+ var currentTrack = allTracks[i];
+
+ console.log('currentTrack id: ' + currentTrack.id);
+
var mode;
- if (trackIndex == i) {
- mode = 1; // show this track
+ // IE doesn't support track id
+ if (browserInfo.msie) {
+ if (trackIndex == i) {
+ mode = 1; // show this track
+ } else {
+ mode = 0; // hide all other tracks
+ }
} else {
- mode = 0; // hide all other tracks
+ if (currentTrack.id == expectedId) {
+ mode = 1; // show this track
+ } else {
+ mode = 0; // hide all other tracks
+ }
}
console.log('Setting track ' + i + ' mode to: ' + mode);
@@ -525,14 +544,14 @@
// edit: not anymore
var useNumericMode = false;
- if (!isNaN(allTracks[i].mode)) {
+ if (!isNaN(currentTrack.mode)) {
//useNumericMode = true;
}
if (useNumericMode) {
- allTracks[i].mode = mode;
+ currentTrack.mode = mode;
} else {
- allTracks[i].mode = modes[mode];
+ currentTrack.mode = modes[mode];
}
}
};
diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js
index 7efcc719bd..c75a858970 100644
--- a/dashboard-ui/scripts/mediaplayer.js
+++ b/dashboard-ui/scripts/mediaplayer.js
@@ -418,7 +418,8 @@
tracks.push({
url: textStreamUrl,
language: (textStream.Language || 'und'),
- isDefault: textStream.Index == mediaSource.DefaultSubtitleStreamIndex
+ isDefault: textStream.Index == mediaSource.DefaultSubtitleStreamIndex,
+ index: textStream.Index
});
}