hls.js 1.6.0-beta.1.0.canary.10826 → 1.6.0-beta.2

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.
package/dist/hls.light.js CHANGED
@@ -1029,7 +1029,7 @@
1029
1029
  // Some browsers don't allow to use bind on console object anyway
1030
1030
  // fallback to default if needed
1031
1031
  try {
1032
- newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.10826");
1032
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2");
1033
1033
  } catch (e) {
1034
1034
  /* log fn threw an exception. All logger methods are no-ops. */
1035
1035
  return createLogger();
@@ -4003,12 +4003,8 @@
4003
4003
  var trackNames = transferredTracks ? Object.keys(transferredTracks) : null;
4004
4004
  var trackCount = trackNames ? trackNames.length : 0;
4005
4005
  var mediaSourceOpenCallback = function mediaSourceOpenCallback() {
4006
- if (_this6.media) {
4007
- var _this6$mediaSource;
4008
- var readyState = (_this6$mediaSource = _this6.mediaSource) == null ? void 0 : _this6$mediaSource.readyState;
4009
- if (readyState === 'open' || readyState === 'ended') {
4010
- _this6._onMediaSourceOpen();
4011
- }
4006
+ if (_this6.media && _this6.mediaSourceOpenOrEnded) {
4007
+ _this6._onMediaSourceOpen();
4012
4008
  }
4013
4009
  };
4014
4010
  if (transferredTracks && trackNames && trackCount) {
@@ -4092,18 +4088,23 @@
4092
4088
  });
4093
4089
  this.resetQueue();
4094
4090
  } else {
4095
- if (mediaSource.readyState === 'open') {
4091
+ if (this.mediaSourceOpenOrEnded) {
4092
+ var open = mediaSource.readyState === 'open';
4096
4093
  try {
4097
4094
  var sourceBuffers = mediaSource.sourceBuffers;
4098
4095
  for (var i = sourceBuffers.length; i--;) {
4099
- sourceBuffers[i].abort();
4096
+ if (open) {
4097
+ sourceBuffers[i].abort();
4098
+ }
4100
4099
  mediaSource.removeSourceBuffer(sourceBuffers[i]);
4101
4100
  }
4102
- // endOfStream could trigger exception if any sourcebuffer is in updating state
4103
- // we don't really care about checking sourcebuffer state here,
4104
- // as we are anyway detaching the MediaSource
4105
- // let's just avoid this exception to propagate
4106
- mediaSource.endOfStream();
4101
+ if (open) {
4102
+ // endOfStream could trigger exception if any sourcebuffer is in updating state
4103
+ // we don't really care about checking sourcebuffer state here,
4104
+ // as we are anyway detaching the MediaSource
4105
+ // let's just avoid this exception to propagate
4106
+ mediaSource.endOfStream();
4107
+ }
4107
4108
  } catch (err) {
4108
4109
  this.warn("onMediaDetaching: " + err.message + " while calling endOfStream");
4109
4110
  }
@@ -4255,7 +4256,7 @@
4255
4256
  if (this.sourceBufferCount) {
4256
4257
  return;
4257
4258
  }
4258
- if (this.mediaSource !== null && this.mediaSource.readyState === 'open') {
4259
+ if (this.mediaSourceOpenOrEnded) {
4259
4260
  this.checkPendingTracks();
4260
4261
  }
4261
4262
  };
@@ -4445,7 +4446,7 @@
4445
4446
  });
4446
4447
  },
4447
4448
  onError: function onError(error) {
4448
- var _this12$mediaSource, _this12$media;
4449
+ var _this12$media;
4449
4450
  // in case any error occured while appending, put back segment in segments table
4450
4451
  var event = {
4451
4452
  type: ErrorTypes.MEDIA_ERROR,
@@ -4463,7 +4464,7 @@
4463
4464
  // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror
4464
4465
  // let's stop appending any segments, and report BUFFER_FULL_ERROR error
4465
4466
  event.details = ErrorDetails.BUFFER_FULL_ERROR;
4466
- } else if (error.code === DOMException.INVALID_STATE_ERR && ((_this12$mediaSource = _this12.mediaSource) == null ? void 0 : _this12$mediaSource.readyState) === 'open' && !((_this12$media = _this12.media) != null && _this12$media.error)) {
4467
+ } else if (error.code === DOMException.INVALID_STATE_ERR && _this12.mediaSourceOpenOrEnded && !((_this12$media = _this12.media) != null && _this12$media.error)) {
4467
4468
  // Allow retry for "Failed to execute 'appendBuffer' on 'SourceBuffer': This SourceBuffer is still processing" errors
4468
4469
  event.errorAction = createDoNothingErrorAction(true);
4469
4470
  } else if (error.name === TRACK_REMOVED_ERROR_NAME) {
@@ -5151,6 +5152,13 @@
5151
5152
  track.listeners.length = 0;
5152
5153
  };
5153
5154
  return _createClass(BufferController, [{
5155
+ key: "mediaSourceOpenOrEnded",
5156
+ get: function get() {
5157
+ var _this$mediaSource4;
5158
+ var readyState = (_this$mediaSource4 = this.mediaSource) == null ? void 0 : _this$mediaSource4.readyState;
5159
+ return readyState === 'open' || readyState === 'ended';
5160
+ }
5161
+ }, {
5154
5162
  key: "sourceBufferTracks",
5155
5163
  get: function get() {
5156
5164
  var _this25 = this;
@@ -19786,7 +19794,7 @@
19786
19794
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
19787
19795
  }
19788
19796
 
19789
- var version = "1.6.0-beta.1.0.canary.10826";
19797
+ var version = "1.6.0-beta.2";
19790
19798
 
19791
19799
  // ensure the worker ends up in the bundle
19792
19800
  // If the worker should not be included this gets aliased to empty.js