diff --git a/src/components/htmlvideoplayer/plugin.js b/src/components/htmlvideoplayer/plugin.js
index f6011302cf..e721951c58 100644
--- a/src/components/htmlvideoplayer/plugin.js
+++ b/src/components/htmlvideoplayer/plugin.js
@@ -584,8 +584,7 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
return trackElement.mode === 'showing';
});
} else {
- // get track events
- return currentTrackEvents;
+ return null;
}
}
@@ -600,8 +599,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
var trackElement = getTextTrack();
// if .vtt currently rendering
if (trackElement) {
- offsetValue = updateCurrentTrackOffset(offsetValue);
- setVttSubtitleOffset(trackElement, offsetValue);
+ setTextTrackSubtitleOffset(trackElement, offsetValue);
+ } else if (currentTrackEvents) {
+ setTrackEventsSubtitleOffset(currentTrackEvents, offsetValue);
} else {
console.log("No available track, cannot apply offset: ", offsetValue);
}
@@ -620,16 +620,23 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
return relativeOffset;
}
- function setVttSubtitleOffset(currentTrack, offsetValue) {
+ function setTextTrackSubtitleOffset(currentTrack, offsetValue) {
if (currentTrack.cues) {
+ offsetValue = updateCurrentTrackOffset(offsetValue);
Array.from(currentTrack.cues)
.forEach(function(cue) {
cue.startTime -= 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.EndPositionTicks -= offsetValue;
});