stormcloud-video-player 0.8.72 → 0.8.74
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/README.md +10 -70
- package/dist/stormcloud-vp.min.js +1 -1
- package/lib/Player.d.cts +1 -0
- package/lib/StormcloudPlayer.cjs +992 -276
- package/lib/StormcloudPlayer.cjs.map +1 -1
- package/lib/StormcloudPlayer.d.cts +1 -0
- package/lib/index.cjs +1005 -281
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -0
- package/lib/index.d.ts +40 -3
- package/lib/index.js +998 -282
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +772 -70
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +7 -9
- package/lib/player/AdConfigManager.cjs +314 -62
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +7 -12
- package/lib/player/AdTimingService.cjs +37 -1
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/AdTimingService.d.cts +8 -1
- package/lib/player/EdgePodRequest.d.cts +1 -0
- package/lib/player/FloorLadder.d.cts +1 -0
- package/lib/player/HlsEngine.d.cts +1 -0
- package/lib/player/OptimizedPodRequest.cjs +719 -0
- package/lib/player/OptimizedPodRequest.cjs.map +1 -0
- package/lib/player/OptimizedPodRequest.d.cts +101 -0
- package/lib/player/PlayerControls.d.cts +1 -0
- package/lib/player/Scte35CueManager.d.cts +1 -0
- package/lib/player/Scte35Parser.d.cts +1 -0
- package/lib/player/StormcloudVideoPlayer.cjs +992 -276
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -0
- package/lib/player/playerTypes.d.cts +1 -0
- package/lib/players/HlsPlayer.cjs +992 -276
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -0
- package/lib/players/index.cjs +992 -276
- package/lib/players/index.cjs.map +1 -1
- package/lib/props.d.cts +1 -0
- package/lib/sdk/hlsAdPlayer.cjs +316 -51
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +3 -1
- package/lib/sdk/pal.cjs +108 -83
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/sdk/pal.d.cts +1 -0
- package/lib/types.d.cts +9 -2
- package/lib/ui/StormcloudVideoPlayer.cjs +997 -281
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -0
- package/lib/utils/ctvVastSignals.cjs +9 -7
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/tracking.cjs +17 -3
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +2 -1
- package/lib/utils/vastEnvironmentSignals.cjs +9 -7
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastMacros.cjs +250 -10
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastMacros.d.cts +13 -4
- package/package.json +5 -3
package/lib/index.d.cts
CHANGED
|
@@ -2,6 +2,7 @@ export { StormcloudVideoPlayerComponent, StormcloudVideoPlayerProps, StormcloudV
|
|
|
2
2
|
export { default as StormcloudPlayer, createStormcloudPlayer } from './StormcloudPlayer.cjs';
|
|
3
3
|
export { StormcloudVideoPlayer } from './player/StormcloudVideoPlayer.cjs';
|
|
4
4
|
export { AdBreak, AdController, AdControllerOptions, AdDetectInfo, AdFloorLadderConfig, AdImpressionInfo, AdLoadedInfo, AdPosition, AdSchedule, ClientInfo, FloorLadderMode, HeartbeatData, ImaController, ImaControllerOptions, LateJoinPolicy, PlayerAnalyticsContext, StormcloudVideoPlayerConfig, TrackingData } from './types.cjs';
|
|
5
|
+
export { AdPodConfig, DEFAULT_REQUEST_SAFETY_MS, GAM_AD_OPPORTUNITY_DURATION_MS, OptimizedPodDiagnostics, PodResponseDiagnostics } from './player/OptimizedPodRequest.cjs';
|
|
5
6
|
export { DEFAULT_FLOOR_LADDER_BOUNDS, DEFAULT_WEB_FLOOR_LADDER_CONFIG, FloorLadderBounds, FloorLadderValidationReport, FloorSelectionContext, FloorSelector, FloorSelectorResult, FloorSource, FloorValidation, OpportunityFloor, fixedFloorSelector, generateFloorLevels, resolveFloorLadderBounds, validateFloorCents, validateFloorLadderConfig } from './player/FloorLadder.cjs';
|
|
6
7
|
export { BaseStormcloudPlayerProps, OnProgressProps } from './props.cjs';
|
|
7
8
|
export { canPlay } from './patterns.cjs';
|
package/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,37 @@ import React, { CSSProperties, lazy as lazy$1 } from 'react';
|
|
|
2
2
|
import * as csstype from 'csstype';
|
|
3
3
|
import Hls from 'hls.js';
|
|
4
4
|
|
|
5
|
+
interface AdPodConfig {
|
|
6
|
+
requestSafetyMs?: number;
|
|
7
|
+
minPodDurationMs?: number;
|
|
8
|
+
maxAdsPerBreak?: number | null;
|
|
9
|
+
maxPodDurationMs?: number;
|
|
10
|
+
}
|
|
11
|
+
declare const DEFAULT_REQUEST_SAFETY_MS = 1500;
|
|
12
|
+
declare const GAM_AD_OPPORTUNITY_DURATION_MS = 30000;
|
|
13
|
+
type PmxdSource = "break_remaining" | "configured_cap" | "tag_cap";
|
|
14
|
+
interface OptimizedPodDiagnostics {
|
|
15
|
+
breakId: number;
|
|
16
|
+
optimizedPod: boolean;
|
|
17
|
+
pmxdSource: PmxdSource | undefined;
|
|
18
|
+
scteBreakDurationMs: number | undefined;
|
|
19
|
+
elapsedBeforeGamRequestMs: number | undefined;
|
|
20
|
+
remainingAtGamDispatchMs: number | undefined;
|
|
21
|
+
safetyReserveMs: number;
|
|
22
|
+
pmndSent: number | undefined;
|
|
23
|
+
pmxdSent: number | undefined;
|
|
24
|
+
pmadSent: number | undefined;
|
|
25
|
+
palNoncePresent: boolean;
|
|
26
|
+
gamRequestDispatchTimestamp: string;
|
|
27
|
+
strippedMacros: string[];
|
|
28
|
+
}
|
|
29
|
+
interface PodResponseDiagnostics {
|
|
30
|
+
vastAdCount: number;
|
|
31
|
+
totalVastCreativeDurationMs: number;
|
|
32
|
+
estimatedUnusedPodMs: number;
|
|
33
|
+
estimatedUnmatchedCount: number;
|
|
34
|
+
}
|
|
35
|
+
|
|
5
36
|
type LateJoinPolicy = "play_remaining" | "skip_to_content";
|
|
6
37
|
interface AdBreak {
|
|
7
38
|
id?: string;
|
|
@@ -41,12 +72,13 @@ interface StormcloudVideoPlayerConfig {
|
|
|
41
72
|
vastTagUrl?: string;
|
|
42
73
|
isVmap?: boolean;
|
|
43
74
|
vmapUrl?: string;
|
|
44
|
-
vastMode?: 'adstorm' | 'default';
|
|
45
75
|
minSegmentsBeforePlay?: number;
|
|
46
76
|
ctvAdRequest?: boolean;
|
|
47
77
|
adTest?: boolean;
|
|
48
78
|
programTitle?: string;
|
|
49
79
|
channelName?: string;
|
|
80
|
+
contentNetwork?: string;
|
|
81
|
+
adPodConfig?: AdPodConfig;
|
|
50
82
|
podMaxAds?: number;
|
|
51
83
|
podMaxDurationMs?: number;
|
|
52
84
|
podExactDuration?: boolean;
|
|
@@ -77,6 +109,7 @@ interface AdFloorLadderConfig {
|
|
|
77
109
|
type AdRequestSource = "gam" | "edge";
|
|
78
110
|
interface AdRequestOptions {
|
|
79
111
|
source?: AdRequestSource;
|
|
112
|
+
finalizeRequestUrl?: (vastTagUrl: string, attempt: number) => string;
|
|
80
113
|
}
|
|
81
114
|
interface AdController {
|
|
82
115
|
initialize: () => void;
|
|
@@ -154,6 +187,9 @@ interface TrackingData extends ClientInfo {
|
|
|
154
187
|
interface PlayerAnalyticsContext {
|
|
155
188
|
inputStreamType?: string;
|
|
156
189
|
debugAdTiming?: boolean;
|
|
190
|
+
contentNetwork?: string;
|
|
191
|
+
contentChannel?: string;
|
|
192
|
+
contentTitle?: string;
|
|
157
193
|
}
|
|
158
194
|
interface HeartbeatData {
|
|
159
195
|
browserId: string;
|
|
@@ -4038,7 +4074,7 @@ declare const IS_SAFARI: boolean;
|
|
|
4038
4074
|
declare const SUPPORTS_HLS: () => boolean;
|
|
4039
4075
|
declare const SUPPORTS_DASH: () => boolean;
|
|
4040
4076
|
|
|
4041
|
-
declare function buildAnalyticsContext(config: Pick<StormcloudVideoPlayerConfig, "debugAdTiming" | "isLiveStream">): PlayerAnalyticsContext;
|
|
4077
|
+
declare function buildAnalyticsContext(config: Pick<StormcloudVideoPlayerConfig, "debugAdTiming" | "isLiveStream" | "contentNetwork" | "channelName" | "programTitle">): PlayerAnalyticsContext;
|
|
4042
4078
|
declare function getClientInfo(): ClientInfo;
|
|
4043
4079
|
declare function getBrowserID(clientInfo: ClientInfo): Promise<string>;
|
|
4044
4080
|
type PlayerMetricFlags = {
|
|
@@ -4128,6 +4164,7 @@ interface PalNonceOptions {
|
|
|
4128
4164
|
interface PalNonceManager {
|
|
4129
4165
|
generateNonce(options?: PalNonceOptions): Promise<string>;
|
|
4130
4166
|
getCurrentNonce(): string;
|
|
4167
|
+
waitForNonce(maxWaitMs: number): Promise<string>;
|
|
4131
4168
|
injectNonce(vastTagUrl: string): string;
|
|
4132
4169
|
sendPlaybackStart(): void;
|
|
4133
4170
|
sendPlaybackEnd(): void;
|
|
@@ -4137,4 +4174,4 @@ interface PalNonceManager {
|
|
|
4137
4174
|
}
|
|
4138
4175
|
declare function createPalNonceManager(): PalNonceManager;
|
|
4139
4176
|
|
|
4140
|
-
export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdFloorLadderConfig, type AdImpressionInfo, type AdLoadedInfo, type AdPosition, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, DEFAULT_FLOOR_LADDER_BOUNDS, DEFAULT_TRACKING_INGEST_CONFIG, DEFAULT_WEB_FLOOR_LADDER_CONFIG, type FloorLadderBounds, type FloorLadderMode, type FloorLadderValidationReport, type FloorSelectionContext, type FloorSelector, type FloorSelectorResult, type FloorSource, type FloorValidation, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type OnProgressProps, type OpportunityFloor, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, type TrackingIngestChannel, type TrackingIngestConfig, applyTrackingIngestConfig, buildAnalyticsContext, canPlay, configureTrackingIngest, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fixedFloorSelector, generateFloorLevels, getBrowserConfigOverrides, getBrowserID, getClientInfo, ingestPlayerTracking, initializePolyfills, isMediaStream, isTrackingIngestEnabled, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, requiresMediaPipelineResetAfterAds, resolveFloorLadderBounds, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, trackingIngestConfig, validateFloorCents, validateFloorLadderConfig };
|
|
4177
|
+
export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdFloorLadderConfig, type AdImpressionInfo, type AdLoadedInfo, type AdPodConfig, type AdPosition, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, DEFAULT_FLOOR_LADDER_BOUNDS, DEFAULT_REQUEST_SAFETY_MS, DEFAULT_TRACKING_INGEST_CONFIG, DEFAULT_WEB_FLOOR_LADDER_CONFIG, type FloorLadderBounds, type FloorLadderMode, type FloorLadderValidationReport, type FloorSelectionContext, type FloorSelector, type FloorSelectorResult, type FloorSource, type FloorValidation, GAM_AD_OPPORTUNITY_DURATION_MS, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type OnProgressProps, type OpportunityFloor, type OptimizedPodDiagnostics, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, type PodResponseDiagnostics, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, type TrackingIngestChannel, type TrackingIngestConfig, applyTrackingIngestConfig, buildAnalyticsContext, canPlay, configureTrackingIngest, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fixedFloorSelector, generateFloorLevels, getBrowserConfigOverrides, getBrowserID, getClientInfo, ingestPlayerTracking, initializePolyfills, isMediaStream, isTrackingIngestEnabled, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, requiresMediaPipelineResetAfterAds, resolveFloorLadderBounds, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, trackingIngestConfig, validateFloorCents, validateFloorLadderConfig };
|