hls.js 1.5.14-0.canary.10605 → 1.5.14-0.canary.10607

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.js CHANGED
@@ -523,7 +523,7 @@
523
523
  // Some browsers don't allow to use bind on console object anyway
524
524
  // fallback to default if needed
525
525
  try {
526
- newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.14-0.canary.10605");
526
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.5.14-0.canary.10607");
527
527
  } catch (e) {
528
528
  /* log fn threw an exception. All logger methods are no-ops. */
529
529
  return createLogger();
@@ -6106,13 +6106,27 @@
6106
6106
  }
6107
6107
  }
6108
6108
  }
6109
- function adjustSliding(oldDetails, newDetails) {
6109
+ function adjustSliding(oldDetails, newDetails, matchingStableVariantOrRendition) {
6110
+ if (matchingStableVariantOrRendition === void 0) {
6111
+ matchingStableVariantOrRendition = true;
6112
+ }
6110
6113
  var delta = newDetails.startSN + newDetails.skippedSegments - oldDetails.startSN;
6111
6114
  var oldFragments = oldDetails.fragments;
6112
- if (delta < 0 || delta >= oldFragments.length) {
6115
+ var advancedOrStable = delta >= 0;
6116
+ var sliding = 0;
6117
+ if (advancedOrStable && delta < oldFragments.length) {
6118
+ sliding = oldFragments[delta].start;
6119
+ } else if (advancedOrStable && matchingStableVariantOrRendition) {
6120
+ // align new start with old end (updated playlist start sequence is past end sequence of last update)
6121
+ sliding = oldDetails.edge;
6122
+ } else if (!newDetails.skippedSegments && newDetails.fragments[0].start === 0) {
6123
+ // align new start with old (playlist switch has a sequence with no overlap and should not be used for alignment)
6124
+ sliding = oldDetails.fragments[0].start;
6125
+ } else {
6126
+ // new details already has a sliding offset or has skipped segments
6113
6127
  return;
6114
6128
  }
6115
- addSliding(newDetails, oldFragments[delta].start);
6129
+ addSliding(newDetails, sliding);
6116
6130
  }
6117
6131
  function addSliding(details, start) {
6118
6132
  if (start) {
@@ -9106,7 +9120,7 @@
9106
9120
  // Try to align on sn so that we pick a better start fragment.
9107
9121
  // Do not perform this on playlists with delta updates as this is only to align levels on switch
9108
9122
  // and adjustSliding only adjusts fragments after skippedSegments.
9109
- adjustSliding(switchDetails, details);
9123
+ adjustSliding(switchDetails, details, false);
9110
9124
  }
9111
9125
  }
9112
9126
 
@@ -17327,7 +17341,7 @@
17327
17341
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
17328
17342
  }
17329
17343
 
17330
- var version = "1.5.14-0.canary.10605";
17344
+ var version = "1.5.14-0.canary.10607";
17331
17345
 
17332
17346
  // ensure the worker ends up in the bundle
17333
17347
  // If the worker should not be included this gets aliased to empty.js