hls.js 1.6.0-beta.1.0.canary.10750 → 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.
@@ -400,7 +400,7 @@ function enableLogs(debugConfig, context, id) {
400
400
  // Some browsers don't allow to use bind on console object anyway
401
401
  // fallback to default if needed
402
402
  try {
403
- newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.6.0-beta.1.0.canary.10750"}`);
403
+ newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.6.0-beta.1.0.canary.10751"}`);
404
404
  } catch (e) {
405
405
  /* log fn threw an exception. All logger methods are no-ops. */
406
406
  return createLogger();
@@ -7710,22 +7710,24 @@ class BaseStreamController extends TaskLoop {
7710
7710
  this.startFragRequested = true;
7711
7711
  this._loadFragForPlayback(frag, level, targetBufferTime);
7712
7712
  }
7713
- _loadFragForPlayback(frag, level, targetBufferTime) {
7713
+ _loadFragForPlayback(fragment, level, targetBufferTime) {
7714
7714
  const progressCallback = data => {
7715
+ const frag = data.frag;
7715
7716
  if (this.fragContextChanged(frag)) {
7716
- this.warn(`Fragment ${frag.sn}${data.part ? ' p: ' + data.part.index : ''} of level ${frag.level} was dropped during download.`);
7717
+ this.warn(`${frag.type} sn: ${frag.sn}${data.part ? ' part: ' + data.part.index : ''} of ${this.fragInfo(frag, false, data.part)}) was dropped during download.`);
7717
7718
  this.fragmentTracker.removeFragment(frag);
7718
7719
  return;
7719
7720
  }
7720
7721
  frag.stats.chunkCount++;
7721
7722
  this._handleFragmentLoadProgress(data);
7722
7723
  };
7723
- this._doFragLoad(frag, level, targetBufferTime, progressCallback).then(data => {
7724
+ this._doFragLoad(fragment, level, targetBufferTime, progressCallback).then(data => {
7724
7725
  if (!data) {
7725
7726
  // if we're here we probably needed to backtrack or are waiting for more parts
7726
7727
  return;
7727
7728
  }
7728
7729
  const state = this.state;
7730
+ const frag = data.frag;
7729
7731
  if (this.fragContextChanged(frag)) {
7730
7732
  if (state === State.FRAG_LOADING || !this.fragCurrent && state === State.PARSING) {
7731
7733
  this.fragmentTracker.removeFragment(frag);
@@ -7745,7 +7747,7 @@ class BaseStreamController extends TaskLoop {
7745
7747
  return;
7746
7748
  }
7747
7749
  this.warn(`Frag error: ${(reason == null ? void 0 : reason.message) || reason}`);
7748
- this.resetFragmentLoading(frag);
7750
+ this.resetFragmentLoading(fragment);
7749
7751
  });
7750
7752
  }
7751
7753
  clearTrackerIfNeeded(frag) {
@@ -7809,9 +7811,10 @@ class BaseStreamController extends TaskLoop {
7809
7811
  };
7810
7812
  this.hls.trigger(Events.BUFFER_FLUSHING, flushScope);
7811
7813
  }
7812
- _loadInitSegment(frag, level) {
7813
- this._doFragLoad(frag, level).then(data => {
7814
- if (!data || this.fragContextChanged(frag) || !this.levels) {
7814
+ _loadInitSegment(fragment, level) {
7815
+ this._doFragLoad(fragment, level).then(data => {
7816
+ const frag = data == null ? void 0 : data.frag;
7817
+ if (!frag || this.fragContextChanged(frag) || !this.levels) {
7815
7818
  throw new Error('init load aborted');
7816
7819
  }
7817
7820
  return data;
@@ -7820,6 +7823,7 @@ class BaseStreamController extends TaskLoop {
7820
7823
  hls
7821
7824
  } = this;
7822
7825
  const {
7826
+ frag,
7823
7827
  payload
7824
7828
  } = data;
7825
7829
  const decryptData = frag.decryptdata;
@@ -7858,7 +7862,7 @@ class BaseStreamController extends TaskLoop {
7858
7862
  return;
7859
7863
  }
7860
7864
  this.warn(reason);
7861
- this.resetFragmentLoading(frag);
7865
+ this.resetFragmentLoading(fragment);
7862
7866
  });
7863
7867
  }
7864
7868
  completeInitSegmentLoad(data) {
@@ -7885,7 +7889,7 @@ class BaseStreamController extends TaskLoop {
7885
7889
  }
7886
7890
  fragBufferedComplete(frag, part) {
7887
7891
  const media = this.mediaBuffer ? this.mediaBuffer : this.media;
7888
- this.log(`Buffered ${frag.type} sn: ${frag.sn}${part ? ' part: ' + part.index : ''} of ${this.fragInfo(frag)} > buffer:${media ? TimeRanges.toString(BufferHelper.getBuffered(media)) : '(detached)'})`);
7892
+ 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)'})`);
7889
7893
  if (frag.sn !== 'initSegment') {
7890
7894
  var _this$levels;
7891
7895
  if (frag.type !== PlaylistLevelType.SUBTITLE) {
@@ -7972,7 +7976,8 @@ class BaseStreamController extends TaskLoop {
7972
7976
  const partIndex = this.getNextPart(partList, frag, targetBufferTime);
7973
7977
  if (partIndex > -1) {
7974
7978
  const part = partList[partIndex];
7975
- 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))}`);
7979
+ frag = this.fragCurrent = part.fragment;
7980
+ 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))}`);
7976
7981
  this.nextLoadPosition = part.start + part.duration;
7977
7982
  this.state = State.FRAG_LOADING;
7978
7983
  let _result;
@@ -8769,7 +8774,7 @@ class BaseStreamController extends TaskLoop {
8769
8774
  // For this error fallthrough. Marking parsed will allow advancing to next fragment.
8770
8775
  }
8771
8776
  this.state = State.PARSED;
8772
- this.log(`Parsed ${frag.type} sn: ${frag.sn}${part ? ' part: ' + part.index : ''} of ${this.fragInfo(frag)})`);
8777
+ this.log(`Parsed ${frag.type} sn: ${frag.sn}${part ? ' part: ' + part.index : ''} of ${this.fragInfo(frag, false, part)})`);
8773
8778
  this.hls.trigger(Events.FRAG_PARSED, {
8774
8779
  frag,
8775
8780
  part
@@ -8778,9 +8783,9 @@ class BaseStreamController extends TaskLoop {
8778
8783
  playlistLabel() {
8779
8784
  return this.playlistType === PlaylistLevelType.MAIN ? 'level' : 'track';
8780
8785
  }
8781
- fragInfo(frag, pts = true) {
8786
+ fragInfo(frag, pts = true, part) {
8782
8787
  var _ref, _ref2;
8783
- return `${this.playlistLabel()} ${frag.level} (frag:[${((_ref = pts ? frag.startPTS : frag.start) != null ? _ref : NaN).toFixed(3)}-${((_ref2 = pts ? frag.endPTS : frag.end) != null ? _ref2 : NaN).toFixed(3)}]`;
8788
+ return `${this.playlistLabel()} ${frag.level} (${part ? 'part' : 'frag'}:[${((_ref = pts && !part ? frag.startPTS : (part || frag).start) != null ? _ref : NaN).toFixed(3)}-${((_ref2 = pts && !part ? frag.endPTS : (part || frag).end) != null ? _ref2 : NaN).toFixed(3)}]${part && frag.type === 'main' ? 'INDEPENDENT=' + (part.independent ? 'YES' : 'NO') : ''}`;
8784
8789
  }
8785
8790
  resetTransmuxer() {
8786
8791
  var _this$transmuxer2;
@@ -16408,7 +16413,7 @@ class Transmuxer {
16408
16413
  accurateTimeOffset,
16409
16414
  timeOffset
16410
16415
  } = this.currentTransmuxState;
16411
- 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}`);
16416
+ 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}`);
16412
16417
  const remuxResult = this.remuxer.remux(audioTrack, videoTrack, id3Track, textTrack, timeOffset, accurateTimeOffset, true, this.id);
16413
16418
  transmuxResults.push({
16414
16419
  remuxResult,
@@ -19038,7 +19043,7 @@ class GapController extends Logger {
19038
19043
  }
19039
19044
  }
19040
19045
 
19041
- const version = "1.6.0-beta.1.0.canary.10750";
19046
+ const version = "1.6.0-beta.1.0.canary.10751";
19042
19047
 
19043
19048
  // ensure the worker ends up in the bundle
19044
19049
  // If the worker should not be included this gets aliased to empty.js
@@ -19314,7 +19319,7 @@ class TransmuxerInterface {
19314
19319
  const initSegmentChange = !(lastFrag && ((_frag$initSegment = frag.initSegment) == null ? void 0 : _frag$initSegment.url) === ((_lastFrag$initSegment = lastFrag.initSegment) == null ? void 0 : _lastFrag$initSegment.url));
19315
19320
  const state = new TransmuxState(discontinuity, contiguous, accurateTimeOffset, trackSwitch, timeOffset, initSegmentChange);
19316
19321
  if (!contiguous || discontinuity || initSegmentChange) {
19317
- 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}
19322
+ 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}
19318
19323
  discontinuity: ${discontinuity}
19319
19324
  trackSwitch: ${trackSwitch}
19320
19325
  contiguous: ${contiguous}
@@ -20322,13 +20327,14 @@ class StreamController extends BaseStreamController {
20322
20327
  }
20323
20328
  return audioCodec;
20324
20329
  }
20325
- _loadBitrateTestFrag(frag, level) {
20326
- frag.bitrateTest = true;
20327
- this._doFragLoad(frag, level).then(data => {
20330
+ _loadBitrateTestFrag(fragment, level) {
20331
+ fragment.bitrateTest = true;
20332
+ this._doFragLoad(fragment, level).then(data => {
20328
20333
  const {
20329
20334
  hls
20330
20335
  } = this;
20331
- if (!data || this.fragContextChanged(frag)) {
20336
+ const frag = data == null ? void 0 : data.frag;
20337
+ if (!frag || this.fragContextChanged(frag)) {
20332
20338
  return;
20333
20339
  }
20334
20340
  level.fragmentError = 0;