mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
subtitle-sync: set explicit methods for textTracks and trackEvents.
This commit is contained in:
parent
547dbf5d67
commit
8f60d62919
1 changed files with 14 additions and 7 deletions
|
@ -584,8 +584,7 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
return trackElement.mode === 'showing';
|
return trackElement.mode === 'showing';
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// get track events
|
return null;
|
||||||
return currentTrackEvents;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -600,8 +599,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
var trackElement = getTextTrack();
|
var trackElement = getTextTrack();
|
||||||
// if .vtt currently rendering
|
// if .vtt currently rendering
|
||||||
if (trackElement) {
|
if (trackElement) {
|
||||||
offsetValue = updateCurrentTrackOffset(offsetValue);
|
setTextTrackSubtitleOffset(trackElement, offsetValue);
|
||||||
setVttSubtitleOffset(trackElement, offsetValue);
|
} else if (currentTrackEvents) {
|
||||||
|
setTrackEventsSubtitleOffset(currentTrackEvents, offsetValue);
|
||||||
} else {
|
} else {
|
||||||
console.log("No available track, cannot apply offset: ", offsetValue);
|
console.log("No available track, cannot apply offset: ", offsetValue);
|
||||||
}
|
}
|
||||||
|
@ -620,16 +620,23 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
|
||||||
return relativeOffset;
|
return relativeOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setVttSubtitleOffset(currentTrack, offsetValue) {
|
function setTextTrackSubtitleOffset(currentTrack, offsetValue) {
|
||||||
|
|
||||||
if (currentTrack.cues) {
|
if (currentTrack.cues) {
|
||||||
|
offsetValue = updateCurrentTrackOffset(offsetValue);
|
||||||
Array.from(currentTrack.cues)
|
Array.from(currentTrack.cues)
|
||||||
.forEach(function(cue) {
|
.forEach(function(cue) {
|
||||||
cue.startTime -= offsetValue;
|
cue.startTime -= offsetValue;
|
||||||
cue.endTime -= offsetValue;
|
cue.endTime -= offsetValue;
|
||||||
});
|
});
|
||||||
} else if (Array.isArray(currentTrack)) {
|
}
|
||||||
currentTrack.forEach(function(trackEvent) {
|
}
|
||||||
|
|
||||||
|
function setTrackEventsSubtitleOffset(trackEvents, offsetValue) {
|
||||||
|
|
||||||
|
if (Array.isArray(trackEvents)) {
|
||||||
|
offsetValue = updateCurrentTrackOffset(offsetValue);
|
||||||
|
trackEvents.forEach(function(trackEvent) {
|
||||||
trackEvent.StartPositionTicks -= offsetValue;
|
trackEvent.StartPositionTicks -= offsetValue;
|
||||||
trackEvent.EndPositionTicks -= offsetValue;
|
trackEvent.EndPositionTicks -= offsetValue;
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue