stormcloud-video-player 0.8.9 → 0.8.11

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/lib/index.d.cts CHANGED
@@ -27,6 +27,7 @@ interface StormcloudVideoPlayerConfig {
27
27
  adFailsafeTimeoutMs?: number;
28
28
  adBreakCheckIntervalMs?: number;
29
29
  maxAdBreakExtensionMs?: number;
30
+ minRemainingMsToStartAd?: number;
30
31
  showCustomControls?: boolean;
31
32
  hideLoadingIndicator?: boolean;
32
33
  onVolumeToggle?: () => void;
@@ -62,6 +63,8 @@ interface AdController {
62
63
  getAdVolume: () => number;
63
64
  showPlaceholder: () => void;
64
65
  hidePlaceholder: () => void;
66
+ getLoadedAdDuration?: () => number | undefined;
67
+ getLoadedAdId?: () => string | undefined;
65
68
  }
66
69
  type ImaController = AdController;
67
70
  interface AdControllerOptions {
@@ -202,6 +205,7 @@ declare class StormcloudVideoPlayer {
202
205
  private readonly maxConsecutiveFailures;
203
206
  private lastAdRequestTime;
204
207
  private readonly minAdRequestIntervalMs;
208
+ private readonly defaultMinRemainingMsToStartAd;
205
209
  private readonly backoffBaseMs;
206
210
  private readonly maxBackoffMs;
207
211
  private placeholderContainer;
@@ -218,6 +222,7 @@ declare class StormcloudVideoPlayer {
218
222
  private preloadPoolLoopRunning;
219
223
  private adDetectSentForCurrentBreak;
220
224
  private adBreakEpoch;
225
+ private adBreakPlayedDurationMs;
221
226
  private palNonce;
222
227
  private palPlaybackStarted;
223
228
  private readonly streamCorrelator;
@@ -336,7 +341,18 @@ declare class StormcloudVideoPlayer {
336
341
  private clearAdFailsafeTimer;
337
342
  private selectVastTagsForBreak;
338
343
  private logAdState;
344
+ private getWallClockRemainingAdMs;
345
+ private getDurationBudgetRemainingMs;
346
+ private getLoadedAdDurationMs;
347
+ private adFitsRemainingBudget;
348
+ private logAdDurationDecision;
349
+ private recordPlayedAdDuration;
350
+ private ensureLoadedAdFitsBudget;
351
+ private rejectLoadedAdForDuration;
352
+ private markAdStarted;
339
353
  private getRemainingAdMs;
354
+ private getMinRemainingMsToStartAd;
355
+ private hasTimeToStartAnotherAd;
340
356
  private findBreakForTime;
341
357
  toggleMute(): void;
342
358
  toggleFullscreen(): Promise<void>;
package/lib/index.d.ts CHANGED
@@ -27,6 +27,7 @@ interface StormcloudVideoPlayerConfig {
27
27
  adFailsafeTimeoutMs?: number;
28
28
  adBreakCheckIntervalMs?: number;
29
29
  maxAdBreakExtensionMs?: number;
30
+ minRemainingMsToStartAd?: number;
30
31
  showCustomControls?: boolean;
31
32
  hideLoadingIndicator?: boolean;
32
33
  onVolumeToggle?: () => void;
@@ -62,6 +63,8 @@ interface AdController {
62
63
  getAdVolume: () => number;
63
64
  showPlaceholder: () => void;
64
65
  hidePlaceholder: () => void;
66
+ getLoadedAdDuration?: () => number | undefined;
67
+ getLoadedAdId?: () => string | undefined;
65
68
  }
66
69
  type ImaController = AdController;
67
70
  interface AdControllerOptions {
@@ -202,6 +205,7 @@ declare class StormcloudVideoPlayer {
202
205
  private readonly maxConsecutiveFailures;
203
206
  private lastAdRequestTime;
204
207
  private readonly minAdRequestIntervalMs;
208
+ private readonly defaultMinRemainingMsToStartAd;
205
209
  private readonly backoffBaseMs;
206
210
  private readonly maxBackoffMs;
207
211
  private placeholderContainer;
@@ -218,6 +222,7 @@ declare class StormcloudVideoPlayer {
218
222
  private preloadPoolLoopRunning;
219
223
  private adDetectSentForCurrentBreak;
220
224
  private adBreakEpoch;
225
+ private adBreakPlayedDurationMs;
221
226
  private palNonce;
222
227
  private palPlaybackStarted;
223
228
  private readonly streamCorrelator;
@@ -336,7 +341,18 @@ declare class StormcloudVideoPlayer {
336
341
  private clearAdFailsafeTimer;
337
342
  private selectVastTagsForBreak;
338
343
  private logAdState;
344
+ private getWallClockRemainingAdMs;
345
+ private getDurationBudgetRemainingMs;
346
+ private getLoadedAdDurationMs;
347
+ private adFitsRemainingBudget;
348
+ private logAdDurationDecision;
349
+ private recordPlayedAdDuration;
350
+ private ensureLoadedAdFitsBudget;
351
+ private rejectLoadedAdForDuration;
352
+ private markAdStarted;
339
353
  private getRemainingAdMs;
354
+ private getMinRemainingMsToStartAd;
355
+ private hasTimeToStartAnotherAd;
340
356
  private findBreakForTime;
341
357
  toggleMute(): void;
342
358
  toggleFullscreen(): Promise<void>;