File tree Expand file tree Collapse file tree 1 file changed +14
-5
lines changed
Expand file tree Collapse file tree 1 file changed +14
-5
lines changed Original file line number Diff line number Diff line change @@ -712,10 +712,9 @@ function startSponsorSchedule(includeIntersectingSegments = false, currentTime?:
712712
713713function getVirtualTime ( ) : number {
714714 const virtualTime = lastTimeFromWaitingEvent ?? ( lastKnownVideoTime . videoTime ?
715- ( performance . now ( ) - lastKnownVideoTime . preciseTime ) / 1000 + lastKnownVideoTime . videoTime : null ) ;
715+ ( performance . now ( ) - lastKnownVideoTime . preciseTime ) * video . playbackRate / 1000 + lastKnownVideoTime . videoTime : null ) ;
716716
717- if ( ( lastTimeFromWaitingEvent || ! utils . isFirefox ( ) )
718- && ! isSafari ( ) && virtualTime && Math . abs ( virtualTime - video . currentTime ) < 0.6 && video . currentTime !== 0 ) {
717+ if ( ! isSafari ( ) && virtualTime && Math . abs ( virtualTime - video . currentTime ) < 0.6 && video . currentTime !== 0 ) {
719718 return virtualTime ;
720719 } else {
721720 return video . currentTime ;
@@ -877,9 +876,19 @@ function setupVideoListeners() {
877876 }
878877 }
879878 } ) ;
880- video . addEventListener ( 'ratechange' , ( ) => startSponsorSchedule ( ) ) ;
879+ video . addEventListener ( 'ratechange' , ( ) => {
880+ updateVirtualTime ( ) ;
881+ lastTimeFromWaitingEvent = null ;
882+
883+ startSponsorSchedule ( ) ;
884+ } ) ;
881885 // Used by videospeed extension (https://github.com/igrigorik/videospeed/pull/740)
882- video . addEventListener ( 'videoSpeed_ratechange' , ( ) => startSponsorSchedule ( ) ) ;
886+ video . addEventListener ( 'videoSpeed_ratechange' , ( ) => {
887+ updateVirtualTime ( ) ;
888+ lastTimeFromWaitingEvent = null ;
889+
890+ startSponsorSchedule ( ) ;
891+ } ) ;
883892 const paused = ( ) => {
884893 // Reset lastCheckVideoTime
885894 lastCheckVideoTime = - 1 ;
You can’t perform that action at this time.
0 commit comments