hls.js 1.5.17-0.canary.10683 → 1.5.17-0.canary.10686

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.mjs CHANGED
@@ -440,7 +440,7 @@ function enableLogs(debugConfig, context, id) {
440
440
  // Some browsers don't allow to use bind on console object anyway
441
441
  // fallback to default if needed
442
442
  try {
443
- newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.17-0.canary.10683"}`);
443
+ newLogger.log(`Debug logs enabled for "${context}" in hls.js version ${"1.5.17-0.canary.10686"}`);
444
444
  } catch (e) {
445
445
  /* log fn threw an exception. All logger methods are no-ops. */
446
446
  return createLogger();
@@ -10813,7 +10813,7 @@ function changeTypeSupported() {
10813
10813
  return typeof (sourceBuffer == null ? void 0 : (_sourceBuffer$prototy = sourceBuffer.prototype) == null ? void 0 : _sourceBuffer$prototy.changeType) === 'function';
10814
10814
  }
10815
10815
 
10816
- const version = "1.5.17-0.canary.10683";
10816
+ const version = "1.5.17-0.canary.10686";
10817
10817
 
10818
10818
  // ensure the worker ends up in the bundle
10819
10819
  // If the worker should not be included this gets aliased to empty.js
@@ -30273,7 +30273,7 @@ class InterstitialsController extends Logger {
30273
30273
  if (this.hls.config.interstitialAppendInPlace === false) {
30274
30274
  interstitialEvents.forEach(event => event.appendInPlace = false);
30275
30275
  }
30276
- this.log(`Interstitial events (${interstitialEvents.length}): ${interstitialEvents}
30276
+ this.log(`INTERSTITIALS_UPDATED (${interstitialEvents.length}): ${interstitialEvents}
30277
30277
  Schedule: ${scheduleItems.map(seg => segmentToString(seg))}`);
30278
30278
  }
30279
30279
  if (removedIds.length) {
@@ -30980,7 +30980,7 @@ MediaSource ${JSON.stringify(attachMediaSourceData)} from ${logFromSource}`);
30980
30980
  });
30981
30981
  }
30982
30982
  const assetListLength = interstitial.assetList.length;
30983
- if (assetListLength === 0) {
30983
+ if (assetListLength === 0 && !interstitial.assetListResponse) {
30984
30984
  // Waiting at end of primary content segment
30985
30985
  // Expect setSchedulePosition to be called again once ASSET-LIST is loaded
30986
30986
  this.log(`Waiting for ASSET-LIST to complete loading ${interstitial}`);
@@ -30997,19 +30997,20 @@ MediaSource ${JSON.stringify(attachMediaSourceData)} from ${logFromSource}`);
30997
30997
  // Update schedule and asset list position now that it can start
30998
30998
  this.waitingItem = null;
30999
30999
  this.playingItem = scheduledItem;
31000
- // Start Interstitial Playback
31000
+
31001
+ // If asset-list is empty or missing asset index, advance to next item
31001
31002
  const assetItem = interstitial.assetList[assetListIndex];
31002
31003
  if (!assetItem) {
31003
- const error = new Error(`ASSET-LIST index ${assetListIndex} out of bounds [0-${assetListLength - 1}] ${interstitial}`);
31004
- const errorData = {
31005
- fatal: true,
31006
- type: ErrorTypes.OTHER_ERROR,
31007
- details: ErrorDetails.INTERSTITIAL_ASSET_ITEM_ERROR,
31008
- error
31009
- };
31010
- this.handleAssetItemError(errorData, interstitial, index, assetListIndex, error.message);
31004
+ const nextItem = scheduleItems[index + 1];
31005
+ const _media2 = this.media;
31006
+ if (nextItem && _media2 && !this.isInterstitial(nextItem) && _media2.currentTime < nextItem.start) {
31007
+ _media2.currentTime = this.timelinePos = nextItem.start;
31008
+ }
31009
+ this.advanceAfterAssetEnded(interstitial, index, assetListIndex || 0);
31011
31010
  return;
31012
31011
  }
31012
+
31013
+ // Start Interstitial Playback
31013
31014
  if (!player) {
31014
31015
  player = this.getAssetPlayer(assetItem.identifier);
31015
31016
  }