@@ -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