hls.js 1.5.7-0.canary.10042 → 1.5.8-0.canary.10044

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -512,7 +512,7 @@ function enableLogs(debugConfig, context, id) {
512
512
  // Some browsers don't allow to use bind on console object anyway
513
513
  // fallback to default if needed
514
514
  try {
515
- newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.7-0.canary.10042"}`);
515
+ newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.8-0.canary.10044"}`);
516
516
  } catch (e) {
517
517
  /* log fn threw an exception. All logger methods are no-ops. */
518
518
  return createLogger();
@@ -7071,7 +7071,7 @@ class BufferController extends Logger {
7071
7071
  };
7072
7072
  this.hls = hls;
7073
7073
  this.fragmentTracker = fragmentTracker;
7074
- this.appendSource = hls.config.preferManagedMediaSource;
7074
+ this.appendSource = hls.config.preferManagedMediaSource && typeof self !== 'undefined' && self.ManagedMediaSource;
7075
7075
  this._initSourceBuffer();
7076
7076
  this.registerListeners();
7077
7077
  }
@@ -7169,8 +7169,10 @@ class BufferController extends Logger {
7169
7169
  ms.addEventListener('sourceopen', this._onMediaSourceOpen);
7170
7170
  ms.addEventListener('sourceended', this._onMediaSourceEnded);
7171
7171
  ms.addEventListener('sourceclose', this._onMediaSourceClose);
7172
- ms.addEventListener('startstreaming', this._onStartStreaming);
7173
- ms.addEventListener('endstreaming', this._onEndStreaming);
7172
+ if (this.appendSource) {
7173
+ ms.addEventListener('startstreaming', this._onStartStreaming);
7174
+ ms.addEventListener('endstreaming', this._onEndStreaming);
7175
+ }
7174
7176
 
7175
7177
  // cache the locally generated object url
7176
7178
  const objectUrl = this._objectUrl = self.URL.createObjectURL(ms);
@@ -7217,8 +7219,10 @@ class BufferController extends Logger {
7217
7219
  mediaSource.removeEventListener('sourceopen', this._onMediaSourceOpen);
7218
7220
  mediaSource.removeEventListener('sourceended', this._onMediaSourceEnded);
7219
7221
  mediaSource.removeEventListener('sourceclose', this._onMediaSourceClose);
7220
- mediaSource.removeEventListener('startstreaming', this._onStartStreaming);
7221
- mediaSource.removeEventListener('endstreaming', this._onEndStreaming);
7222
+ if (this.appendSource) {
7223
+ mediaSource.removeEventListener('startstreaming', this._onStartStreaming);
7224
+ mediaSource.removeEventListener('endstreaming', this._onEndStreaming);
7225
+ }
7222
7226
 
7223
7227
  // Detach properly the MediaSource from the HTMLMediaElement as
7224
7228
  // suggested in https://github.com/w3c/media-source/issues/53.
@@ -7296,7 +7300,7 @@ class BufferController extends Logger {
7296
7300
  const nextCodec = (_trackCodec = trackCodec) == null ? void 0 : _trackCodec.replace(VIDEO_CODEC_PROFILE_REPLACE, '$1');
7297
7301
  if (trackCodec && currentCodec !== nextCodec) {
7298
7302
  if (trackName.slice(0, 5) === 'audio') {
7299
- trackCodec = getCodecCompatibleName(trackCodec, this.hls.config.preferManagedMediaSource);
7303
+ trackCodec = getCodecCompatibleName(trackCodec, this.appendSource);
7300
7304
  }
7301
7305
  const mimeType = `${container};codecs=${trackCodec}`;
7302
7306
  this.appendChangeType(trackName, mimeType);
@@ -7880,7 +7884,7 @@ class BufferController extends Logger {
7880
7884
  let codec = track.levelCodec || track.codec;
7881
7885
  if (codec) {
7882
7886
  if (trackName.slice(0, 5) === 'audio') {
7883
- codec = getCodecCompatibleName(codec, this.hls.config.preferManagedMediaSource);
7887
+ codec = getCodecCompatibleName(codec, this.appendSource);
7884
7888
  }
7885
7889
  }
7886
7890
  const mimeType = `${track.container};codecs=${codec}`;
@@ -7892,15 +7896,17 @@ class BufferController extends Logger {
7892
7896
  this.addBufferListener(sbName, 'updateend', this._onSBUpdateEnd);
7893
7897
  this.addBufferListener(sbName, 'error', this._onSBUpdateError);
7894
7898
  // ManagedSourceBuffer bufferedchange event
7895
- this.addBufferListener(sbName, 'bufferedchange', (type, event) => {
7896
- // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.
7897
- const removedRanges = event.removedRanges;
7898
- if (removedRanges != null && removedRanges.length) {
7899
- this.hls.trigger(Events.BUFFER_FLUSHED, {
7900
- type: trackName
7901
- });
7902
- }
7903
- });
7899
+ if (this.appendSource) {
7900
+ this.addBufferListener(sbName, 'bufferedchange', (type, event) => {
7901
+ // If media was ejected check for a change. Added ranges are redundant with changes on 'updateend' event.
7902
+ const removedRanges = event.removedRanges;
7903
+ if (removedRanges != null && removedRanges.length) {
7904
+ this.hls.trigger(Events.BUFFER_FLUSHED, {
7905
+ type: trackName
7906
+ });
7907
+ }
7908
+ });
7909
+ }
7904
7910
  this.tracks[trackName] = {
7905
7911
  buffer: sb,
7906
7912
  codec: codec,
@@ -20110,7 +20116,7 @@ class Hls {
20110
20116
  * Get the video-dev/hls.js package version.
20111
20117
  */
20112
20118
  static get version() {
20113
- return "1.5.7-0.canary.10042";
20119
+ return "1.5.8-0.canary.10044";
20114
20120
  }
20115
20121
 
20116
20122
  /**