hls.js 1.6.0-beta.2.0.canary.10828 → 1.6.0-beta.2.0.canary.10831

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
@@ -1058,7 +1058,7 @@
1058
1058
  // Some browsers don't allow to use bind on console object anyway
1059
1059
  // fallback to default if needed
1060
1060
  try {
1061
- newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2.0.canary.10828");
1061
+ newLogger.log("Debug logs enabled for \"" + context + "\" in hls.js version " + "1.6.0-beta.2.0.canary.10831");
1062
1062
  } catch (e) {
1063
1063
  /* log fn threw an exception. All logger methods are no-ops. */
1064
1064
  return createLogger();
@@ -8938,12 +8938,20 @@
8938
8938
  this.buffering = true;
8939
8939
  };
8940
8940
  _proto._streamEnded = function _streamEnded(bufferInfo, levelDetails) {
8941
- // If playlist is live, there is another buffered range after the current range, nothing buffered, media is detached,
8942
- // of nothing loading/loaded return false
8943
- var hasTimelineOffset = this.config.timelineOffset !== undefined;
8941
+ // Stream is never "ended" when playlist is live or media is detached
8942
+ if (levelDetails.live || !this.media) {
8943
+ return false;
8944
+ }
8945
+ // Stream is not "ended" when nothing is buffered past the start
8946
+ var bufferEnd = bufferInfo.end || 0;
8947
+ var timelineStart = this.config.timelineOffset || 0;
8948
+ if (bufferEnd <= timelineStart) {
8949
+ return false;
8950
+ }
8951
+ // Stream is not "ended" when there is a second buffered range starting before the end of the playlist
8944
8952
  var nextStart = bufferInfo.nextStart;
8945
- var hasSecondBufferedRange = nextStart && (!hasTimelineOffset || nextStart < levelDetails.edge);
8946
- if (levelDetails.live || hasSecondBufferedRange || !bufferInfo.end || !this.media) {
8953
+ var hasSecondBufferedRange = nextStart && nextStart > timelineStart && nextStart < levelDetails.edge;
8954
+ if (hasSecondBufferedRange) {
8947
8955
  return false;
8948
8956
  }
8949
8957
  var partList = levelDetails.partList;
@@ -16297,7 +16305,7 @@
16297
16305
  return !remuxResult.audio && !remuxResult.video && !remuxResult.text && !remuxResult.id3 && !remuxResult.initSegment;
16298
16306
  }
16299
16307
 
16300
- var version = "1.6.0-beta.2.0.canary.10828";
16308
+ var version = "1.6.0-beta.2.0.canary.10831";
16301
16309
 
16302
16310
  // ensure the worker ends up in the bundle
16303
16311
  // If the worker should not be included this gets aliased to empty.js