stormcloud-video-player 0.8.42 → 0.8.43

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.
@@ -2520,13 +2520,13 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
2520
2520
  var _this = this;
2521
2521
  var pollIntervalMs = 1e3;
2522
2522
  var graceMs = 5e3;
2523
- var reloadCooldownMs = 5e3;
2524
- var maxHardReloads = 2;
2525
- var maxMonitorMs = 25e3;
2523
+ var recoveryCooldownMs = 5e3;
2524
+ var maxRecoveries = 2;
2525
+ var maxMonitorMs = 3e4;
2526
2526
  var startTime = Date.now();
2527
2527
  var baseline = resumeBaseline;
2528
- var hardReloads = 0;
2529
- var lastReloadAt = 0;
2528
+ var recoveries = 0;
2529
+ var lastRecoveryAt = 0;
2530
2530
  var poll = function poll1() {
2531
2531
  if (_this.inAdBreak) {
2532
2532
  return;
@@ -2554,19 +2554,27 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
2554
2554
  }
2555
2555
  return;
2556
2556
  }
2557
- var canHardReload = wedged && elapsed >= graceMs && Date.now() - lastReloadAt >= reloadCooldownMs && hardReloads < maxHardReloads;
2558
- if (canHardReload) {
2559
- hardReloads++;
2560
- lastReloadAt = Date.now();
2561
- var liveSyncPos = _this.host.getLiveSyncPosition();
2562
- var reloadPos = liveSyncPos != null && liveSyncPos > currentTime ? liveSyncPos : currentTime;
2563
- if (_this.debug) {
2564
- console.warn("[StormcloudVideoPlayer] Content wedged after ad break (t=".concat(currentTime.toFixed(2), "s, buffered=").concat(bufferedAhead.toFixed(2), "s) forcing HLS reload at ").concat(reloadPos.toFixed(2), "s (hard reload ").concat(hardReloads, "/").concat(maxHardReloads, ")"));
2565
- }
2566
- if (liveSyncPos != null && liveSyncPos > currentTime) {
2567
- video.currentTime = liveSyncPos;
2557
+ var canRecover = wedged && elapsed >= graceMs && Date.now() - lastRecoveryAt >= recoveryCooldownMs && recoveries < maxRecoveries;
2558
+ if (canRecover) {
2559
+ recoveries++;
2560
+ lastRecoveryAt = Date.now();
2561
+ var isFinalAttempt = recoveries >= maxRecoveries;
2562
+ if (!isFinalAttempt) {
2563
+ var liveSyncPos = _this.host.getLiveSyncPosition();
2564
+ var reloadPos = liveSyncPos != null && liveSyncPos > currentTime ? liveSyncPos : currentTime;
2565
+ if (_this.debug) {
2566
+ console.warn("[StormcloudVideoPlayer] Content wedged after ad break (t=".concat(currentTime.toFixed(2), "s, buffered=").concat(bufferedAhead.toFixed(2), "s) — restarting HLS load at ").concat(reloadPos.toFixed(2), "s (recovery ").concat(recoveries, "/").concat(maxRecoveries, ")"));
2567
+ }
2568
+ if (liveSyncPos != null && liveSyncPos > currentTime) {
2569
+ video.currentTime = liveSyncPos;
2570
+ }
2571
+ _this.host.restartHlsLoad(reloadPos);
2572
+ } else {
2573
+ if (_this.debug) {
2574
+ console.warn("[StormcloudVideoPlayer] Content still wedged after ad break (t=".concat(currentTime.toFixed(2), "s, buffered=").concat(bufferedAhead.toFixed(2), "s) — hard-reloading live stream (recovery ").concat(recoveries, "/").concat(maxRecoveries, ")"));
2575
+ }
2576
+ _this.host.reloadLiveStream();
2568
2577
  }
2569
- _this.host.restartHlsLoad(reloadPos);
2570
2578
  baseline = video.currentTime;
2571
2579
  if (video.paused) {
2572
2580
  var _video_play1;