@@ -321,7 +321,7 @@ class VideoPlayer extends Utils.mixin(Eventable) {
321321 this . videojs . controlBar . removeChild ( 'chaptersButton' ) ;
322322 }
323323 this . videojs . on ( PLAYER_EVENT . CLD_SOURCE_CHANGED , ( e , { source } ) => {
324- if ( ( ! isEmpty ( source . _chapters ) || source . _chapters === true ) && this . videojs . chapters ) {
324+ if ( ( ! isEmpty ( source ? ._chapters ) || source ? ._chapters === true ) && this . videojs . chapters ) {
325325 isFunction ( this . videojs . chapters )
326326 ? this . videojs . chapters ( source . _chapters )
327327 : this . videojs . chapters . src ( source . _chapters ) ;
@@ -342,11 +342,11 @@ class VideoPlayer extends Utils.mixin(Eventable) {
342342 _initVisualSearch ( ) {
343343 // Listen for source changes to apply visual search based on source config
344344 this . videojs . on ( PLAYER_EVENT . CLD_SOURCE_CHANGED , ( e , { source } ) => {
345- if ( source . _visualSearch && this . videojs . visualSearch ) {
345+ if ( source ? ._visualSearch && this . videojs . visualSearch ) {
346346 isFunction ( this . videojs . visualSearch )
347347 ? this . videojs . visualSearch ( source . _visualSearch )
348348 : this . videojs . visualSearch . createSearchUI ( source . _visualSearch ) ;
349- } else if ( ! source . _visualSearch && this . videojs . visualSearch ?. clearUI ) {
349+ } else if ( ! source ? ._visualSearch && this . videojs . visualSearch ?. clearUI ) {
350350 this . videojs . visualSearch . clearUI ( ) ;
351351 }
352352 } ) ;
@@ -360,7 +360,9 @@ class VideoPlayer extends Utils.mixin(Eventable) {
360360
361361 _initTextTracks ( ) {
362362 this . videojs . on ( PLAYER_EVENT . CLD_SOURCE_CHANGED , ( e , { source } ) => {
363- this . setTextTracks ( source . _textTracks ) ;
363+ if ( source ?. _textTracks ) {
364+ this . setTextTracks ( source . _textTracks ) ;
365+ }
364366 } ) ;
365367 }
366368
@@ -502,7 +504,7 @@ class VideoPlayer extends Utils.mixin(Eventable) {
502504
503505 _onSourceChange ( e , { source, sourceOptions } ) {
504506 this . _sendInternalAnalytics ( { ...( sourceOptions && { sourceOptions } ) } ) ;
505- this . isLiveStream = source . resourceConfig ( ) . type === 'live' ;
507+ this . isLiveStream = source ? .resourceConfig ( ) ? .type === 'live' ;
506508 }
507509
508510 _setExtendedEvents ( ) {
0 commit comments