hls.js 1.6.0-beta.1.0.canary.10749 → 1.6.0-beta.1.0.canary.10751

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.d.mts CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
328
328
  protected clearTrackerIfNeeded(frag: Fragment): void;
329
329
  protected checkLiveUpdate(details: LevelDetails): void;
330
330
  protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
331
- protected _loadInitSegment(frag: Fragment, level: Level): void;
331
+ protected _loadInitSegment(fragment: Fragment, level: Level): void;
332
332
  private completeInitSegmentLoad;
333
333
  protected fragContextChanged(frag: Fragment | null): boolean;
334
334
  protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
@@ -1898,6 +1898,7 @@ export declare type HlsConfig = {
1898
1898
  enableSoftwareAES: boolean;
1899
1899
  minAutoBitrate: number;
1900
1900
  ignoreDevicePixelRatio: boolean;
1901
+ maxDevicePixelRatio: number;
1901
1902
  preferManagedMediaSource: boolean;
1902
1903
  timelineOffset?: number;
1903
1904
  loader: {
package/dist/hls.d.ts CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
328
328
  protected clearTrackerIfNeeded(frag: Fragment): void;
329
329
  protected checkLiveUpdate(details: LevelDetails): void;
330
330
  protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
331
- protected _loadInitSegment(frag: Fragment, level: Level): void;
331
+ protected _loadInitSegment(fragment: Fragment, level: Level): void;
332
332
  private completeInitSegmentLoad;
333
333
  protected fragContextChanged(frag: Fragment | null): boolean;
334
334
  protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
@@ -1898,6 +1898,7 @@ export declare type HlsConfig = {
1898
1898
  enableSoftwareAES: boolean;
1899
1899
  minAutoBitrate: number;
1900
1900
  ignoreDevicePixelRatio: boolean;
1901
+ maxDevicePixelRatio: number;
1901
1902
  preferManagedMediaSource: boolean;
1902
1903
  timelineOffset?: number;
1903
1904
  loader: {
package/dist/hls.js CHANGED
@@ -1057,7 +1057,7 @@
1057
1057
  // Some browsers don't allow to use bind on console object anyway
1058
1058
  // fallback to default if needed
1059
1059
  try {
1060
- newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.10749");
1060
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.1.0.canary.10751");
1061
1061
  } catch (e) {
1062
1062
  /* log fn threw an exception. All logger methods are no-ops. */
1063
1063
  return createLogger();
@@ -8977,23 +8977,25 @@
8977
8977
  this.startFragRequested = true;
8978
8978
  this._loadFragForPlayback(frag, level, targetBufferTime);
8979
8979
  };
8980
- _proto._loadFragForPlayback = function _loadFragForPlayback(frag, level, targetBufferTime) {
8980
+ _proto._loadFragForPlayback = function _loadFragForPlayback(fragment, level, targetBufferTime) {
8981
8981
  var _this3 = this;
8982
8982
  var progressCallback = function progressCallback(data) {
8983
+ var frag = data.frag;
8983
8984
  if (_this3.fragContextChanged(frag)) {
8984
- _this3.warn("Fragment " + frag.sn + (data.part ? ' p: ' + data.part.index : '') + " of level " + frag.level + " was dropped during download.");
8985
+ _this3.warn(frag.type + " sn: " + frag.sn + (data.part ? ' part: ' + data.part.index : '') + " of " + _this3.fragInfo(frag, false, data.part) + ") was dropped during download.");
8985
8986
  _this3.fragmentTracker.removeFragment(frag);
8986
8987
  return;
8987
8988
  }
8988
8989
  frag.stats.chunkCount++;
8989
8990
  _this3._handleFragmentLoadProgress(data);
8990
8991
  };
8991
- this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(function (data) {
8992
+ this._doFragLoad(fragment, level, targetBufferTime, progressCallback).then(function (data) {
8992
8993
  if (!data) {
8993
8994
  // if we're here we probably needed to backtrack or are waiting for more parts
8994
8995
  return;
8995
8996
  }
8996
8997
  var state = _this3.state;
8998
+ var frag = data.frag;
8997
8999
  if (_this3.fragContextChanged(frag)) {
8998
9000
  if (state === State.FRAG_LOADING || !_this3.fragCurrent && state === State.PARSING) {
8999
9001
  _this3.fragmentTracker.removeFragment(frag);
@@ -9013,7 +9015,7 @@
9013
9015
  return;
9014
9016
  }
9015
9017
  _this3.warn("Frag error: " + ((reason == null ? void 0 : reason.message) || reason));
9016
- _this3.resetFragmentLoading(frag);
9018
+ _this3.resetFragmentLoading(fragment);
9017
9019
  });
9018
9020
  };
9019
9021
  _proto.clearTrackerIfNeeded = function clearTrackerIfNeeded(frag) {
@@ -9078,16 +9080,18 @@
9078
9080
  };
9079
9081
  this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
9080
9082
  };
9081
- _proto._loadInitSegment = function _loadInitSegment(frag, level) {
9083
+ _proto._loadInitSegment = function _loadInitSegment(fragment, level) {
9082
9084
  var _this4 = this;
9083
- this._doFragLoad(frag, level).then(function (data) {
9084
- if (!data || _this4.fragContextChanged(frag) || !_this4.levels) {
9085
+ this._doFragLoad(fragment, level).then(function (data) {
9086
+ var frag = data == null ? void 0 : data.frag;
9087
+ if (!frag || _this4.fragContextChanged(frag) || !_this4.levels) {
9085
9088
  throw new Error('init load aborted');
9086
9089
  }
9087
9090
  return data;
9088
9091
  }).then(function (data) {
9089
9092
  var hls = _this4.hls;
9090
- var payload = data.payload;
9093
+ var frag = data.frag,
9094
+ payload = data.payload;
9091
9095
  var decryptData = frag.decryptdata;
9092
9096
 
9093
9097
  // check to see if the payload needs to be decrypted
@@ -9124,7 +9128,7 @@
9124
9128
  return;
9125
9129
  }
9126
9130
  _this4.warn(reason);
9127
- _this4.resetFragmentLoading(frag);
9131
+ _this4.resetFragmentLoading(fragment);
9128
9132
  });
9129
9133
  };
9130
9134
  _proto.completeInitSegmentLoad = function completeInitSegmentLoad(data) {
@@ -9147,7 +9151,7 @@
9147
9151
  };
9148
9152
  _proto.fragBufferedComplete = function fragBufferedComplete(frag, part) {
9149
9153
  var media = this.mediaBuffer ? this.mediaBuffer : this.media;
9150
- this.log("Buffered " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + " > buffer:" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + ")");
9154
+ this.log("Buffered " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag, false, part) + " > buffer:" + (media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)') + ")");
9151
9155
  if (frag.sn !== 'initSegment') {
9152
9156
  var _this$levels;
9153
9157
  if (frag.type !== PlaylistLevelType.SUBTITLE) {
@@ -9239,7 +9243,8 @@
9239
9243
  var partIndex = this.getNextPart(partList, frag, targetBufferTime);
9240
9244
  if (partIndex > -1) {
9241
9245
  var part = partList[partIndex];
9242
- this.log("Loading part sn: " + frag.sn + " p: " + part.index + " cc: " + frag.cc + " of playlist [" + details.startSN + "-" + details.endSN + "] parts [0-" + partIndex + "-" + (partList.length - 1) + "] " + this.playlistLabel() + ": " + frag.level + ", target: " + parseFloat(targetBufferTime.toFixed(3)));
9246
+ frag = this.fragCurrent = part.fragment;
9247
+ this.log("Loading " + frag.type + " sn: " + frag.sn + " part: " + part.index + " (" + partIndex + "/" + (partList.length - 1) + ") of " + this.fragInfo(frag, false, part) + ") cc: " + frag.cc + " [" + details.startSN + "-" + details.endSN + "], target: " + parseFloat(targetBufferTime.toFixed(3)));
9243
9248
  this.nextLoadPosition = part.start + part.duration;
9244
9249
  this.state = State.FRAG_LOADING;
9245
9250
  var _result;
@@ -10027,7 +10032,7 @@
10027
10032
  // For this error fallthrough. Marking parsed will allow advancing to next fragment.
10028
10033
  }
10029
10034
  this.state = State.PARSED;
10030
- this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag) + ")");
10035
+ this.log("Parsed " + frag.type + " sn: " + frag.sn + (part ? ' part: ' + part.index : '') + " of " + this.fragInfo(frag, false, part) + ")");
10031
10036
  this.hls.trigger(Events.FRAG_PARSED, {
10032
10037
  frag: frag,
10033
10038
  part: part
@@ -10036,12 +10041,12 @@
10036
10041
  _proto.playlistLabel = function playlistLabel() {
10037
10042
  return this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track';
10038
10043
  };
10039
- _proto.fragInfo = function fragInfo(frag, pts) {
10044
+ _proto.fragInfo = function fragInfo(frag, pts, part) {
10040
10045
  var _ref3, _ref4;
10041
10046
  if (pts === void 0) {
10042
10047
  pts = true;
10043
10048
  }
10044
- return this.playlistLabel() + " " + frag.level + " (frag:[" + ((_ref3 = pts ? frag.startPTS : frag.start) != null ? _ref3 : NaN).toFixed(3) + "-" + ((_ref4 = pts ? frag.endPTS : frag.end) != null ? _ref4 : NaN).toFixed(3) + "]";
10049
+ return this.playlistLabel() + " " + frag.level + " (" + (part ? 'part' : 'frag') + ":[" + ((_ref3 = pts && !part ? frag.startPTS : (part || frag).start) != null ? _ref3 : NaN).toFixed(3) + "-" + ((_ref4 = pts && !part ? frag.endPTS : (part || frag).end) != null ? _ref4 : NaN).toFixed(3) + "]" + (part && frag.type === 'main' ? 'INDEPENDENT=' + (part.independent ? 'YES' : 'NO') : '');
10045
10050
  };
10046
10051
  _proto.resetTransmuxer = function resetTransmuxer() {
10047
10052
  var _this$transmuxer2;
@@ -15848,7 +15853,7 @@
15848
15853
  var _this$currentTransmux = this.currentTransmuxState,
15849
15854
  accurateTimeOffset = _this$currentTransmux.accurateTimeOffset,
15850
15855
  timeOffset = _this$currentTransmux.timeOffset;
15851
- this.logger.log("[transmuxer.ts]: Flushed " + this.id + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? ' p: ' + chunkMeta.part : '') + " of " + (this.id === PlaylistLevelType.MAIN ? 'level' : 'track') + " " + chunkMeta.level);
15856
+ this.logger.log("[transmuxer.ts]: Flushed " + this.id + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? ' part: ' + chunkMeta.part : '') + " of " + (this.id === PlaylistLevelType.MAIN ? 'level' : 'track') + " " + chunkMeta.level);
15852
15857
  var remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);
15853
15858
  transmuxResults.push({
15854
15859
  remuxResult: remuxResult,
@@ -16173,7 +16178,7 @@
16173
16178
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
16174
16179
  }
16175
16180
 
16176
- var version = "1.6.0-beta.1.0.canary.10749";
16181
+ var version = "1.6.0-beta.1.0.canary.10751";
16177
16182
 
16178
16183
  // ensure the worker ends up in the bundle
16179
16184
  // If the worker should not be included this gets aliased to empty.js
@@ -16445,7 +16450,7 @@
16445
16450
  var initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));
16446
16451
  var state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);
16447
16452
  if (!contiguous || discontinuity || initSegmentChange) {
16448
- this.hls.logger.log("[transmuxer-interface, " + frag.type + "]: Starting new transmux session for sn: " + chunkMeta.sn + " p: " + chunkMeta.part + " level: " + chunkMeta.level + " id: " + chunkMeta.id + "\n discontinuity: " + discontinuity + "\n trackSwitch: " + trackSwitch + "\n contiguous: " + contiguous + "\n accurateTimeOffset: " + accurateTimeOffset + "\n timeOffset: " + timeOffset + "\n initSegmentChange: " + initSegmentChange);
16453
+ this.hls.logger.log("[transmuxer-interface]: Starting new transmux session for " + frag.type + " sn: " + chunkMeta.sn + (chunkMeta.part > -1 ? ' part: ' + chunkMeta.part : '') + " " + (this.id === PlaylistLevelType.MAIN ? 'level' : 'track') + ": " + chunkMeta.level + " id: " + chunkMeta.id + "\n discontinuity: " + discontinuity + "\n trackSwitch: " + trackSwitch + "\n contiguous: " + contiguous + "\n accurateTimeOffset: " + accurateTimeOffset + "\n timeOffset: " + timeOffset + "\n initSegmentChange: " + initSegmentChange);
16449
16454
  var config = new TransmuxConfig(audioCodec, videoCodec, initSegmentData, duration, defaultInitPTS);
16450
16455
  this.configureTransmuxer(config);
16451
16456
  }
@@ -19807,7 +19812,7 @@
19807
19812
  /* no-op */
19808
19813
  }
19809
19814
  }
19810
- return pixelRatio;
19815
+ return Math.min(pixelRatio, this.hls.config.maxDevicePixelRatio);
19811
19816
  }
19812
19817
  }]);
19813
19818
  }();
@@ -29980,6 +29985,8 @@
29980
29985
  // used by cap-level-controller
29981
29986
  ignoreDevicePixelRatio: false,
29982
29987
  // used by cap-level-controller
29988
+ maxDevicePixelRatio: Number.POSITIVE_INFINITY,
29989
+ // used by cap-level-controller
29983
29990
  preferManagedMediaSource: true,
29984
29991
  initialLiveManifestSize: 1,
29985
29992
  // used by stream-controller
@@ -32722,12 +32729,13 @@
32722
32729
  }
32723
32730
  return audioCodec;
32724
32731
  };
32725
- _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(frag, level) {
32732
+ _proto._loadBitrateTestFrag = function _loadBitrateTestFrag(fragment, level) {
32726
32733
  var _this2 = this;
32727
- frag.bitrateTest = true;
32728
- this._doFragLoad(frag, level).then(function (data) {
32734
+ fragment.bitrateTest = true;
32735
+ this._doFragLoad(fragment, level).then(function (data) {
32729
32736
  var hls = _this2.hls;
32730
- if (!data || _this2.fragContextChanged(frag)) {
32737
+ var frag = data == null ? void 0 : data.frag;
32738
+ if (!frag || _this2.fragContextChanged(frag)) {
32731
32739
  return;
32732
32740
  }
32733
32741
  level.fragmentError = 0;
package/dist/hls.js.d.ts CHANGED
@@ -328,7 +328,7 @@ export declare class BaseStreamController extends TaskLoop implements NetworkCom
328
328
  protected clearTrackerIfNeeded(frag: Fragment): void;
329
329
  protected checkLiveUpdate(details: LevelDetails): void;
330
330
  protected flushMainBuffer(startOffset: number, endOffset: number, type?: SourceBufferName | null): void;
331
- protected _loadInitSegment(frag: Fragment, level: Level): void;
331
+ protected _loadInitSegment(fragment: Fragment, level: Level): void;
332
332
  private completeInitSegmentLoad;
333
333
  protected fragContextChanged(frag: Fragment | null): boolean;
334
334
  protected fragBufferedComplete(frag: Fragment, part: Part | null): void;
@@ -1898,6 +1898,7 @@ export declare type HlsConfig = {
1898
1898
  enableSoftwareAES: boolean;
1899
1899
  minAutoBitrate: number;
1900
1900
  ignoreDevicePixelRatio: boolean;
1901
+ maxDevicePixelRatio: number;
1901
1902
  preferManagedMediaSource: boolean;
1902
1903
  timelineOffset?: number;
1903
1904
  loader: {