File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 114114 "extension_pages" : " script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
115115 },
116116 "minimum_chrome_version" : " 114"
117- }
117+ }
Original file line number Diff line number Diff line change @@ -213,6 +213,7 @@ export class InterfaceController {
213213 DOMElements . playerContainer . classList . add ( 'controls_visible' ) ;
214214 this . updateToolVisibility ( ) ;
215215 this . fineTimeControls . reset ( ) ;
216+ this . playbackRateChanger . reset ( ) ;
216217 }
217218
218219 failedToLoad ( reason ) {
Original file line number Diff line number Diff line change @@ -174,14 +174,17 @@ export class PlaybackRateChanger extends EventEmitter {
174174 const outputRate = this . client . audioAnalyzer . getOutputRate ( ) ;
175175 const minIndex = Math . floor ( ( time - this . audioPaddingEnd ) * outputRate ) ;
176176 const maxIndex = Math . floor ( ( time + this . audioPaddingStart ) * outputRate ) ;
177+
178+ let hasData = false ;
177179 for ( let i = minIndex ; i < maxIndex ; i ++ ) {
178180 if ( volumeBuffer [ i ] === undefined ) continue ;
181+ hasData = true ;
179182 const volume = Utils . clamp ( ( volumeBuffer [ i ] - minDB ) / dbRange , 0 , 1 ) ;
180183 if ( volume >= this . silenceThreshold ) {
181184 return false ;
182185 }
183186 }
184- return true ;
187+ return hasData ; // Don't skip silence if we have no audio data yet
185188 }
186189
187190 enableSilenceSkipper ( ) {
@@ -262,7 +265,17 @@ export class PlaybackRateChanger extends EventEmitter {
262265 this . stayOpen = false ;
263266 return true ;
264267 }
265-
268+
269+ reset ( ) {
270+ // Reset silence skipper state when a new video loads
271+ if ( this . silenceSkipperActive ) {
272+ this . disableSilenceSkipper ( ) ;
273+ }
274+ this . silenceSkipperLoopRunning = false ;
275+ this . regularSpeed = 1 ;
276+ this . silenceSkipSpeed = this . maxPlaybackRate ;
277+ }
278+
266279 isOpen ( ) {
267280 return DOMElements . playbackRateMenuContainer . style . display !== 'none' ;
268281 }
You can’t perform that action at this time.
0 commit comments