@@ -249,7 +249,7 @@ var SubtitlesOctopus = function (options) {
249249 self . setSubUrl = function ( subUrl ) {
250250 self . subUrl = subUrl ;
251251 } ;
252-
252+
253253 function _cleanPastRendered ( currentTime , seekClean ) {
254254 var retainedItems = [ ] ;
255255 for ( var i = 0 , len = self . renderedItems . length ; i < len ; i ++ ) {
@@ -361,7 +361,7 @@ var SubtitlesOctopus = function (options) {
361361 var finishTime = - 1 , eventShown = false , animated = false ;
362362 for ( var i = 0 , len = self . renderedItems . length ; i < len ; i ++ ) {
363363 var item = self . renderedItems [ i ] ;
364- if ( ! eventShown && item . eventStart <= currentTime && ( item . emptyFinish < 0 || item . emptyFinish >= currentTime ) ) {
364+ if ( ! eventShown && item . eventStart <= currentTime && ( item . emptyFinish < 0 || item . emptyFinish > currentTime ) ) {
365365 _renderSubtitleEvent ( item , currentTime ) ;
366366 eventShown = true ;
367367 finishTime = item . emptyFinish ;
@@ -566,10 +566,13 @@ var SubtitlesOctopus = function (options) {
566566 } ) ;
567567 size += item . buffer . byteLength ;
568568 }
569+
570+ var eventSplitted = false ;
569571 if ( ( data . emptyFinish > 0 && data . emptyFinish - data . eventStart < 1.0 / self . targetFps ) || data . animated ) {
570572 var newFinish = data . eventStart + 1.0 / self . targetFps ;
571573 data . emptyFinish = newFinish ;
572574 data . eventFinish = newFinish ;
575+ eventSplitted = true ;
573576 }
574577 self . renderedItems . push ( {
575578 eventStart : data . eventStart ,
@@ -581,7 +584,7 @@ var SubtitlesOctopus = function (options) {
581584 animated : data . animated ,
582585 size : size
583586 } ) ;
584-
587+
585588 self . renderedItems . sort ( function ( a , b ) {
586589 return a . eventStart - b . eventStart ;
587590 } ) ;
@@ -593,7 +596,7 @@ var SubtitlesOctopus = function (options) {
593596 console . info ( 'oneshot received "end of frames" event' ) ;
594597 } else if ( data . emptyFinish >= 0 ) {
595598 // there's some more event to render, try requesting next event
596- tryRequestOneshot ( data . emptyFinish , data . animated ) ;
599+ tryRequestOneshot ( data . emptyFinish , eventSplitted ) ;
597600 } else {
598601 console . info ( 'there are no more events to prerender' ) ;
599602 }
0 commit comments