@@ -198,6 +198,7 @@ export class PlaylistController extends videojs.EventTarget {
198
198
this . playlistExclusionDuration = playlistExclusionDuration ;
199
199
this . maxPlaylistRetries = maxPlaylistRetries ;
200
200
this . enableLowInitialPlaylist = enableLowInitialPlaylist ;
201
+ this . usingManagedMediaSource_ = false ;
201
202
202
203
if ( this . useCueTags_ ) {
203
204
this . cueTagsTrack_ = this . tech_ . addTextTrack (
@@ -221,6 +222,7 @@ export class PlaylistController extends videojs.EventTarget {
221
222
// Airplay source not yet implemented. Remote playback must be disabled.
222
223
this . tech_ . el_ . disableRemotePlayback = true ;
223
224
this . mediaSource = new window . ManagedMediaSource ( ) ;
225
+ this . usingManagedMediaSource_ = true ;
224
226
225
227
videojs . log ( 'Using ManagedMediaSource' ) ;
226
228
} else if ( window . MediaSource ) {
@@ -1997,7 +1999,7 @@ export class PlaylistController extends videojs.EventTarget {
1997
1999
}
1998
2000
1999
2001
// 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 ) ) ;
2001
2003
const unsupportedCodecs = { } ;
2002
2004
let unsupportedAudio ;
2003
2005
@@ -2139,11 +2141,11 @@ export class PlaylistController extends videojs.EventTarget {
2139
2141
const codecs = codecsForPlaylist ( this . main , variant ) ;
2140
2142
const unsupported = [ ] ;
2141
2143
2142
- if ( codecs . audio && ! muxerSupportsCodec ( codecs . audio ) && ! browserSupportsCodec ( codecs . audio ) ) {
2144
+ if ( codecs . audio && ! muxerSupportsCodec ( codecs . audio ) && ! browserSupportsCodec ( codecs . audio , this . usingManagedMediaSource_ ) ) {
2143
2145
unsupported . push ( `audio codec ${ codecs . audio } ` ) ;
2144
2146
}
2145
2147
2146
- if ( codecs . video && ! muxerSupportsCodec ( codecs . video ) && ! browserSupportsCodec ( codecs . video ) ) {
2148
+ if ( codecs . video && ! muxerSupportsCodec ( codecs . video ) && ! browserSupportsCodec ( codecs . video , this . usingManagedMediaSource_ ) ) {
2147
2149
unsupported . push ( `video codec ${ codecs . video } ` ) ;
2148
2150
}
2149
2151
0 commit comments