Skip to content

Commit a8d670e

Browse files
committed
Reduce blinking of subs when in lite mode
1 parent b91377e commit a8d670e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/subtitles-octopus.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ var SubtitlesOctopus = function (options) {
252252
self.setSubUrl = function (subUrl) {
253253
self.subUrl = subUrl;
254254
};
255-
255+
256256
function _cleanPastRendered(currentTime, seekClean) {
257257
var retainedItems = [];
258258
for (var i = 0, len = self.renderedItems.length; i < len; i++) {
@@ -364,7 +364,7 @@ var SubtitlesOctopus = function (options) {
364364
var finishTime = -1, eventShown = false, animated = false;
365365
for (var i = 0, len = self.renderedItems.length; i < len; i++) {
366366
var item = self.renderedItems[i];
367-
if (!eventShown && item.eventStart <= currentTime && (item.emptyFinish < 0 || item.emptyFinish >= currentTime)) {
367+
if (!eventShown && item.eventStart <= currentTime && (item.emptyFinish < 0 || item.emptyFinish > currentTime)) {
368368
_renderSubtitleEvent(item, currentTime);
369369
eventShown = true;
370370
finishTime = item.emptyFinish;
@@ -569,10 +569,13 @@ var SubtitlesOctopus = function (options) {
569569
});
570570
size += item.buffer.byteLength;
571571
}
572+
573+
var eventSplitted = false;
572574
if ((data.emptyFinish > 0 && data.emptyFinish - data.eventStart < 1.0 / self.targetFps) || data.animated) {
573575
var newFinish = data.eventStart + 1.0 / self.targetFps;
574576
data.emptyFinish = newFinish;
575577
data.eventFinish = newFinish;
578+
eventSplitted = true;
576579
}
577580
self.renderedItems.push({
578581
eventStart: data.eventStart,
@@ -584,7 +587,7 @@ var SubtitlesOctopus = function (options) {
584587
animated: data.animated,
585588
size: size
586589
});
587-
590+
588591
self.renderedItems.sort(function (a, b) {
589592
return a.eventStart - b.eventStart;
590593
});
@@ -596,7 +599,7 @@ var SubtitlesOctopus = function (options) {
596599
console.info('oneshot received "end of frames" event');
597600
} else if (data.emptyFinish >= 0) {
598601
// there's some more event to render, try requesting next event
599-
tryRequestOneshot(data.emptyFinish, data.animated);
602+
tryRequestOneshot(data.emptyFinish, eventSplitted);
600603
} else {
601604
console.info('there are no more events to prerender');
602605
}

0 commit comments

Comments
 (0)