mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
subtitle fixes
This commit is contained in:
parent
d854092d88
commit
a434bf443d
2 changed files with 14 additions and 19 deletions
|
@ -4,6 +4,7 @@
|
||||||
var hlsPlayer;
|
var hlsPlayer;
|
||||||
var requiresSettingStartTimeOnStart;
|
var requiresSettingStartTimeOnStart;
|
||||||
var subtitleTrackIndexToSetOnPlaying;
|
var subtitleTrackIndexToSetOnPlaying;
|
||||||
|
var currentTrackList;
|
||||||
|
|
||||||
function htmlMediaRenderer(options) {
|
function htmlMediaRenderer(options) {
|
||||||
|
|
||||||
|
@ -375,15 +376,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
tracks = tracks || [];
|
tracks = tracks || [];
|
||||||
|
currentTrackList = tracks;
|
||||||
|
|
||||||
var currentTrackIndex = -1;
|
var currentTrackIndex = -1;
|
||||||
for (var i = 0, length = tracks.length; i < length; i++) {
|
for (var i = 0, length = tracks.length; i < length; i++) {
|
||||||
if (tracks[i].isDefault) {
|
if (tracks[i].isDefault) {
|
||||||
if (browserInfo.msie) {
|
|
||||||
currentTrackIndex = i;
|
|
||||||
} else {
|
|
||||||
currentTrackIndex = tracks[i].index;
|
currentTrackIndex = tracks[i].index;
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -505,14 +503,19 @@
|
||||||
return supportsTextTracks;
|
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 allTracks = mediaElement.textTracks; // get list of tracks
|
||||||
|
|
||||||
var modes = ['disabled', 'showing', 'hidden'];
|
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++) {
|
for (var i = 0; i < allTracks.length; i++) {
|
||||||
|
|
||||||
|
@ -522,6 +525,8 @@
|
||||||
|
|
||||||
var mode;
|
var mode;
|
||||||
|
|
||||||
|
console.log('expectedId: ' + expectedId + '--currentTrack.Id:' + currentTrack.id);
|
||||||
|
|
||||||
// IE doesn't support track id
|
// IE doesn't support track id
|
||||||
if (browserInfo.msie) {
|
if (browserInfo.msie) {
|
||||||
if (trackIndex == i) {
|
if (trackIndex == i) {
|
||||||
|
|
|
@ -320,17 +320,7 @@
|
||||||
|
|
||||||
self.setCurrentTrackElement = function (index) {
|
self.setCurrentTrackElement = function (index) {
|
||||||
|
|
||||||
var textStreams = self.currentMediaSource.MediaStreams.filter(function (s) {
|
self.currentMediaRenderer.setCurrentTrackElement(index);
|
||||||
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.updateTextStreamUrls = function (startPositionTicks) {
|
self.updateTextStreamUrls = function (startPositionTicks) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue