hls.js 1.6.6-0.canary.11355 → 1.6.6-0.canary.11356

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
@@ -1165,7 +1165,7 @@
1165
1165
  // Some browsers don't allow to use bind on console object anyway
1166
1166
  // fallback to default if needed
1167
1167
  try {
1168
- newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.6-0.canary.11355");
1168
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.6-0.canary.11356");
1169
1169
  } catch (e) {
1170
1170
  /* log fn threw an exception. All logger methods are no-ops. */
1171
1171
  return createLogger();
@@ -5770,7 +5770,7 @@
5770
5770
  }
5771
5771
 
5772
5772
  // Block audio append until overlapping video append
5773
- var videoTrack = this.tracks.video;
5773
+ var videoTrack = tracks.video;
5774
5774
  var videoSb = videoTrack == null ? void 0 : videoTrack.buffer;
5775
5775
  if (videoSb && sn !== 'initSegment') {
5776
5776
  var partOrFrag = part || frag;
@@ -5802,16 +5802,14 @@
5802
5802
  var operation = {
5803
5803
  label: "append-" + type,
5804
5804
  execute: function execute() {
5805
+ var _this10$tracks$type;
5805
5806
  chunkStats.executeStart = self.performance.now();
5806
- var track = _this10.tracks[type];
5807
- if (track) {
5808
- var sb = track.buffer;
5809
- if (sb) {
5810
- if (checkTimestampOffset) {
5811
- _this10.updateTimestampOffset(sb, fragStart, 0.1, type, sn, cc);
5812
- } else if (offset !== undefined && isFiniteNumber(offset)) {
5813
- _this10.updateTimestampOffset(sb, offset, 0.000001, type, sn, cc);
5814
- }
5807
+ var sb = (_this10$tracks$type = _this10.tracks[type]) == null ? void 0 : _this10$tracks$type.buffer;
5808
+ if (sb) {
5809
+ if (checkTimestampOffset) {
5810
+ _this10.updateTimestampOffset(sb, fragStart, 0.1, type, sn, cc);
5811
+ } else if (offset !== undefined && isFiniteNumber(offset)) {
5812
+ _this10.updateTimestampOffset(sb, offset, 0.000001, type, sn, cc);
5815
5813
  }
5816
5814
  }
5817
5815
  _this10.appendExecutor(data, type);
@@ -5869,7 +5867,7 @@
5869
5867
  fatal: false
5870
5868
  };
5871
5869
  var mediaError = (_this10$media = _this10.media) == null ? void 0 : _this10$media.error;
5872
- if (error.code === DOMException.QUOTA_EXCEEDED_ERR) {
5870
+ if (error.code === DOMException.QUOTA_EXCEEDED_ERR || error.name == 'QuotaExceededError' || "quota" in error) {
5873
5871
  // QuotaExceededError: http://www.w3.org/TR/html5/infrastructure.html#quotaexceedederror
5874
5872
  // let's stop appending any segments, and report BUFFER_FULL_ERROR error
5875
5873
  event.details = ErrorDetails.BUFFER_FULL_ERROR;
@@ -8795,7 +8793,11 @@
8795
8793
  this.updatePathwayPriority(pathwayPriority);
8796
8794
  errorAction.resolved = this.pathwayId !== errorPathway;
8797
8795
  }
8798
- if (!errorAction.resolved) {
8796
+ if (data.details === ErrorDetails.BUFFER_APPEND_ERROR && !data.fatal) {
8797
+ // Error will become fatal in buffer-controller when reaching `appendErrorMaxRetry`
8798
+ // Stream-controllers are expected to reduce buffer length even if this is not deemed a QuotaExceededError
8799
+ errorAction.resolved = true;
8800
+ } else if (!errorAction.resolved) {
8799
8801
  this.warn("Could not resolve " + data.details + " (\"" + data.error.message + "\") with content-steering for Pathway: " + errorPathway + " levels: " + (levels ? levels.length : levels) + " priorities: " + stringify(pathwayPriority) + " penalized: " + stringify(this.penalizedPathways));
8800
8802
  }
8801
8803
  }
@@ -20522,7 +20524,7 @@
20522
20524
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
20523
20525
  }
20524
20526
 
20525
- var version = "1.6.6-0.canary.11355";
20527
+ var version = "1.6.6-0.canary.11356";
20526
20528
 
20527
20529
  // ensure the worker ends up in the bundle
20528
20530
  // If the worker should not be included this gets aliased to empty.js
@@ -21666,7 +21668,9 @@
21666
21668
  if (data.parent !== 'main') {
21667
21669
  return;
21668
21670
  }
21669
- this.resetLoadingState();
21671
+ if (this.reduceLengthAndFlushBuffer(data)) {
21672
+ this.resetLoadingState();
21673
+ }
21670
21674
  break;
21671
21675
  case ErrorDetails.BUFFER_FULL_ERROR:
21672
21676
  if (data.parent !== 'main') {