hls.js 1.6.0-beta.2.0.canary.10830 → 1.6.0-beta.2.0.canary.10833

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.2.0.canary.10830");
1032
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2.0.canary.10833");
1033
1033
  } catch (e) {
1034
1034
  /* log fn threw an exception. All logger methods are no-ops. */
1035
1035
  return createLogger();
@@ -18051,12 +18051,20 @@
18051
18051
  this.buffering = true;
18052
18052
  };
18053
18053
  _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {
18054
- // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,
18055
- // of nothing loading/loaded return false
18056
- var hasTimelineOffset = this.config.timelineOffset !== undefined;
18054
+ // Stream is never "ended" when playlist is live or media is detached
18055
+ if (levelDetails.live || !this.media) {
18056
+ return false;
18057
+ }
18058
+ // Stream is not "ended" when nothing is buffered past the start
18059
+ var bufferEnd = bufferInfo.end || 0;
18060
+ var timelineStart = this.config.timelineOffset || 0;
18061
+ if (bufferEnd <= timelineStart) {
18062
+ return false;
18063
+ }
18064
+ // Stream is not "ended" when there is a second buffered range starting before the end of the playlist
18057
18065
  var nextStart = bufferInfo.nextStart;
18058
- var hasSecondBufferedRange = nextStart && (!hasTimelineOffset || nextStart < levelDetails.edge);
18059
- if (levelDetails.live || hasSecondBufferedRange || !bufferInfo.end || !this.media) {
18066
+ var hasSecondBufferedRange = nextStart && nextStart > timelineStart && nextStart < levelDetails.edge;
18067
+ if (hasSecondBufferedRange) {
18060
18068
  return false;
18061
18069
  }
18062
18070
  var partList = levelDetails.partList;
@@ -19794,7 +19802,7 @@
19794
19802
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
19795
19803
  }
19796
19804
 
19797
- var version = "1.6.0-beta.2.0.canary.10830";
19805
+ var version = "1.6.0-beta.2.0.canary.10833";
19798
19806
 
19799
19807
  // ensure the worker ends up in the bundle
19800
19808
  // If the worker should not be included this gets aliased to empty.js