@@ -97,8 +97,6 @@ export default class BaseStreamController
9797 protected startFragRequested : boolean = false ;
9898 protected decrypter : Decrypter ;
9999 protected initPTS : RationalTimestamp [ ] = [ ] ;
100- protected onvseeking : EventListener | null = null ;
101- protected onvended : EventListener | null = null ;
102100
103101 private readonly logPrefix : string = '' ;
104102 protected log : ( msg : any ) => void ;
@@ -197,10 +195,8 @@ export default class BaseStreamController
197195 data : MediaAttachedData ,
198196 ) {
199197 const media = ( this . media = this . mediaBuffer = data . media ) ;
200- this . onvseeking = this . onMediaSeeking . bind ( this ) as EventListener ;
201- this . onvended = this . onMediaEnded . bind ( this ) as EventListener ;
202- media . addEventListener ( 'seeking' , this . onvseeking ) ;
203- media . addEventListener ( 'ended' , this . onvended ) ;
198+ media . addEventListener ( 'seeking' , this . onMediaSeeking ) ;
199+ media . addEventListener ( 'ended' , this . onMediaEnded ) ;
204200 const config = this . config ;
205201 if ( this . levels && config . autoStartLoad && this . state === State . STOPPED ) {
206202 this . startLoad ( config . startPosition ) ;
@@ -215,10 +211,9 @@ export default class BaseStreamController
215211 }
216212
217213 // remove video listeners
218- if ( media && this . onvseeking && this . onvended ) {
219- media . removeEventListener ( 'seeking' , this . onvseeking ) ;
220- media . removeEventListener ( 'ended' , this . onvended ) ;
221- this . onvseeking = this . onvended = null ;
214+ if ( media ) {
215+ media . removeEventListener ( 'seeking' , this . onMediaSeeking ) ;
216+ media . removeEventListener ( 'ended' , this . onMediaEnded ) ;
222217 }
223218 if ( this . keyLoader ) {
224219 this . keyLoader . detach ( ) ;
@@ -229,7 +224,7 @@ export default class BaseStreamController
229224 this . stopLoad ( ) ;
230225 }
231226
232- protected onMediaSeeking ( ) {
227+ protected onMediaSeeking = ( ) => {
233228 const { config, fragCurrent, media, mediaBuffer, state } = this ;
234229 const currentTime : number = media ? media . currentTime : 0 ;
235230 const bufferInfo = BufferHelper . bufferInfo (
@@ -292,12 +287,12 @@ export default class BaseStreamController
292287
293288 // Async tick to speed up processing
294289 this . tickImmediate ( ) ;
295- }
290+ } ;
296291
297- protected onMediaEnded ( ) {
292+ protected onMediaEnded = ( ) => {
298293 // reset startPosition and lastCurrentTime to restart playback @ stream beginning
299294 this . startPosition = this . lastCurrentTime = 0 ;
300- }
295+ } ;
301296
302297 protected onManifestLoaded (
303298 event : Events . MANIFEST_LOADED ,
@@ -312,7 +307,7 @@ export default class BaseStreamController
312307 this . stopLoad ( ) ;
313308 super . onHandlerDestroying ( ) ;
314309 // @ts -ignore
315- this . hls = null ;
310+ this . hls = this . onMediaSeeking = this . onMediaEnded = null ;
316311 }
317312
318313 protected onHandlerDestroyed ( ) {
0 commit comments