@@ -198,6 +198,7 @@ export class PlaylistController extends videojs.EventTarget {
198198 this . playlistExclusionDuration = playlistExclusionDuration ;
199199 this . maxPlaylistRetries = maxPlaylistRetries ;
200200 this . enableLowInitialPlaylist = enableLowInitialPlaylist ;
201+ this . usingManagedMediaSource_ = false ;
201202
202203 if ( this . useCueTags_ ) {
203204 this . cueTagsTrack_ = this . tech_ . addTextTrack (
@@ -221,6 +222,7 @@ export class PlaylistController extends videojs.EventTarget {
221222 // Airplay source not yet implemented. Remote playback must be disabled.
222223 this . tech_ . el_ . disableRemotePlayback = true ;
223224 this . mediaSource = new window . ManagedMediaSource ( ) ;
225+ this . usingManagedMediaSource_ = true ;
224226
225227 videojs . log ( 'Using ManagedMediaSource' ) ;
226228 } else if ( window . MediaSource ) {
@@ -1997,7 +1999,7 @@ export class PlaylistController extends videojs.EventTarget {
19971999 }
19982000
19992001 // fmp4 relies on browser support, while ts relies on muxer support
2000- const supportFunction = ( isFmp4 , codec ) => ( isFmp4 ? browserSupportsCodec ( codec ) : muxerSupportsCodec ( codec ) ) ;
2002+ const supportFunction = ( isFmp4 , codec ) => ( isFmp4 ? browserSupportsCodec ( codec , this . usingManagedMediaSource_ ) : muxerSupportsCodec ( codec ) ) ;
20012003 const unsupportedCodecs = { } ;
20022004 let unsupportedAudio ;
20032005
@@ -2139,11 +2141,11 @@ export class PlaylistController extends videojs.EventTarget {
21392141 const codecs = codecsForPlaylist ( this . main , variant ) ;
21402142 const unsupported = [ ] ;
21412143
2142- if ( codecs . audio && ! muxerSupportsCodec ( codecs . audio ) && ! browserSupportsCodec ( codecs . audio ) ) {
2144+ if ( codecs . audio && ! muxerSupportsCodec ( codecs . audio ) && ! browserSupportsCodec ( codecs . audio , this . usingManagedMediaSource_ ) ) {
21432145 unsupported . push ( `audio codec ${ codecs . audio } ` ) ;
21442146 }
21452147
2146- if ( codecs . video && ! muxerSupportsCodec ( codecs . video ) && ! browserSupportsCodec ( codecs . video ) ) {
2148+ if ( codecs . video && ! muxerSupportsCodec ( codecs . video ) && ! browserSupportsCodec ( codecs . video , this . usingManagedMediaSource_ ) ) {
21472149 unsupported . push ( `video codec ${ codecs . video } ` ) ;
21482150 }
21492151
0 commit comments