stormcloud-video-player 0.7.3 → 0.7.5
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/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +1320 -1203
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +60 -49
- package/lib/index.d.ts +60 -49
- package/lib/index.js +1318 -1197
- package/lib/index.js.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +1070 -1189
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +24 -2
- package/lib/players/HlsPlayer.cjs +1071 -1190
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +1071 -1190
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/adstormPlayer.cjs +1573 -0
- package/lib/sdk/adstormPlayer.cjs.map +1 -0
- package/lib/sdk/adstormPlayer.d.cts +22 -0
- package/lib/{types-BYwfSJb5.d.cts → types-BII_CKbE.d.cts} +27 -27
- package/lib/types-ClqQZM3U.d.cts +105 -0
- package/lib/ui/StormcloudVideoPlayer.cjs +1322 -1201
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/package.json +1 -1
- package/lib/sdk/vastAdLayer.cjs +0 -1595
- package/lib/sdk/vastAdLayer.cjs.map +0 -1
- package/lib/sdk/vastAdLayer.d.cts +0 -42
- package/lib/sdk/vastManager.cjs +0 -627
- package/lib/sdk/vastManager.cjs.map +0 -1
- package/lib/sdk/vastManager.d.cts +0 -8
package/lib/index.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { CSSProperties, lazy as lazy$1 } from 'react';
|
|
2
2
|
import * as csstype from 'csstype';
|
|
3
|
-
import Hls from 'hls.js';
|
|
4
3
|
|
|
5
4
|
type LateJoinPolicy = "play_remaining" | "skip_to_content";
|
|
6
5
|
interface AdBreak {
|
|
@@ -37,6 +36,32 @@ interface StormcloudVideoPlayerConfig {
|
|
|
37
36
|
adTransitionGapMs?: number;
|
|
38
37
|
singlePipelineMode?: boolean;
|
|
39
38
|
}
|
|
39
|
+
interface Scte35Marker {
|
|
40
|
+
type: "start" | "end" | "progress";
|
|
41
|
+
ptsSeconds?: number;
|
|
42
|
+
durationSeconds?: number;
|
|
43
|
+
raw?: unknown;
|
|
44
|
+
}
|
|
45
|
+
interface AdController {
|
|
46
|
+
initialize: () => void;
|
|
47
|
+
requestAds: () => Promise<void>;
|
|
48
|
+
play: () => Promise<void>;
|
|
49
|
+
pause: () => void;
|
|
50
|
+
resume: () => void;
|
|
51
|
+
stop: () => Promise<void>;
|
|
52
|
+
destroy: () => void;
|
|
53
|
+
isAdPlaying: () => boolean;
|
|
54
|
+
resize: (width: number, height: number) => void;
|
|
55
|
+
on: (event: string, listener: (payload?: any) => void) => void;
|
|
56
|
+
off: (event: string, listener: (payload?: any) => void) => void;
|
|
57
|
+
updateOriginalMutedState: (muted: boolean, volume?: number) => void;
|
|
58
|
+
getOriginalMutedState: () => boolean;
|
|
59
|
+
getOriginalVolume: () => number;
|
|
60
|
+
setAdVolume: (volume: number) => void;
|
|
61
|
+
getAdVolume: () => number;
|
|
62
|
+
showPlaceholder: () => void;
|
|
63
|
+
hidePlaceholder: () => void;
|
|
64
|
+
}
|
|
40
65
|
interface ClientInfo {
|
|
41
66
|
brand: string;
|
|
42
67
|
os: string;
|
|
@@ -91,24 +116,12 @@ interface VastBidResponse {
|
|
|
91
116
|
adomain?: string[];
|
|
92
117
|
durationSec?: number;
|
|
93
118
|
}
|
|
94
|
-
interface AdBreakContext {
|
|
95
|
-
breakDurationSec?: number;
|
|
96
|
-
remainingBreakSec?: number;
|
|
97
|
-
adIndex?: number;
|
|
98
|
-
}
|
|
99
|
-
interface VastManager {
|
|
100
|
-
initialize: () => Promise<void>;
|
|
101
|
-
requestBids: (context?: AdBreakContext) => Promise<VastBidResponse[]>;
|
|
102
|
-
requestBidsUntilResponse: (context?: AdBreakContext) => Promise<VastBidResponse[]>;
|
|
103
|
-
destroy: () => void;
|
|
104
|
-
readonly isInitialized: boolean;
|
|
105
|
-
}
|
|
106
119
|
|
|
120
|
+
type DebugLogLevel = "info" | "warn" | "error";
|
|
107
121
|
declare class StormcloudVideoPlayer {
|
|
108
122
|
private readonly video;
|
|
109
123
|
private readonly config;
|
|
110
124
|
private hls?;
|
|
111
|
-
private vastManager;
|
|
112
125
|
private adLayer;
|
|
113
126
|
private pendingNextAdBids;
|
|
114
127
|
private continuousFetchLoopPromise;
|
|
@@ -155,9 +168,14 @@ declare class StormcloudVideoPlayer {
|
|
|
155
168
|
private readonly maxBackoffMs;
|
|
156
169
|
private readonly adTransitionGapMs;
|
|
157
170
|
private readonly MIN_AD_REMAINING_MS;
|
|
171
|
+
private readonly adRequestTimeoutMs;
|
|
172
|
+
private readonly adRequestMaxRetries;
|
|
173
|
+
private readonly adRequestRetryBackoffMs;
|
|
158
174
|
private preloadedTokens;
|
|
159
175
|
private fillerVideo;
|
|
160
176
|
private fillerBreakTimerId;
|
|
177
|
+
private debugLogEntries;
|
|
178
|
+
private scteMarkerHistory;
|
|
161
179
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
162
180
|
private adRequest;
|
|
163
181
|
load(): Promise<void>;
|
|
@@ -184,6 +202,7 @@ declare class StormcloudVideoPlayer {
|
|
|
184
202
|
private sendHeartbeatIfNeeded;
|
|
185
203
|
getCurrentAdIndex(): number;
|
|
186
204
|
getTotalAdsInBreak(): number;
|
|
205
|
+
getRemainingAdSeconds(): number;
|
|
187
206
|
isAdPlaying(): boolean;
|
|
188
207
|
isShowingAds(): boolean;
|
|
189
208
|
private syncMainContentAudioWhenVisible;
|
|
@@ -216,6 +235,22 @@ declare class StormcloudVideoPlayer {
|
|
|
216
235
|
private clearAdFailsafeTimer;
|
|
217
236
|
private logAdState;
|
|
218
237
|
private getRemainingAdMs;
|
|
238
|
+
private pushScteMarker;
|
|
239
|
+
private pushDebugLog;
|
|
240
|
+
getRecentScteMarkers(): ReadonlyArray<{
|
|
241
|
+
timestampMs: number;
|
|
242
|
+
type: Scte35Marker["type"];
|
|
243
|
+
ptsSeconds?: number;
|
|
244
|
+
durationSeconds?: number;
|
|
245
|
+
raw?: unknown;
|
|
246
|
+
}>;
|
|
247
|
+
getDebugLogs(): ReadonlyArray<{
|
|
248
|
+
timestampMs: number;
|
|
249
|
+
level: DebugLogLevel;
|
|
250
|
+
category: string;
|
|
251
|
+
message: string;
|
|
252
|
+
details?: Record<string, unknown>;
|
|
253
|
+
}>;
|
|
219
254
|
toggleMute(): void;
|
|
220
255
|
toggleFullscreen(): Promise<void>;
|
|
221
256
|
isMuted(): boolean;
|
|
@@ -4063,47 +4098,23 @@ declare function getBrowserConfigOverrides(): {
|
|
|
4063
4098
|
};
|
|
4064
4099
|
declare function supportsFeature(feature: string): boolean;
|
|
4065
4100
|
|
|
4066
|
-
interface
|
|
4067
|
-
|
|
4068
|
-
}
|
|
4069
|
-
declare function createVastManager(options?: VastManagerOptions): VastManager;
|
|
4070
|
-
|
|
4071
|
-
interface VastAdLayerOptions {
|
|
4072
|
-
continueLiveStreamDuringAds?: boolean;
|
|
4073
|
-
mainHlsInstance?: Hls;
|
|
4074
|
-
smartTVMode?: boolean;
|
|
4075
|
-
singleElementMode?: boolean;
|
|
4076
|
-
forceMP4Ads?: boolean;
|
|
4101
|
+
interface AdStormPlayerOptions {
|
|
4102
|
+
licenseKey: string;
|
|
4077
4103
|
debug?: boolean;
|
|
4078
4104
|
}
|
|
4079
|
-
interface
|
|
4105
|
+
interface AdStormLayerOptionsUpdate {
|
|
4080
4106
|
continueLiveStreamDuringAds?: boolean;
|
|
4081
|
-
mainHlsInstance?:
|
|
4107
|
+
mainHlsInstance?: unknown;
|
|
4082
4108
|
}
|
|
4083
|
-
interface
|
|
4084
|
-
|
|
4085
|
-
updateOptions: (opts:
|
|
4086
|
-
playAd: (
|
|
4087
|
-
preloadAd: (
|
|
4109
|
+
interface AdStormAdLayer extends AdController {
|
|
4110
|
+
requestAds: (duration?: string) => Promise<void>;
|
|
4111
|
+
updateOptions: (opts: AdStormLayerOptionsUpdate) => void;
|
|
4112
|
+
playAd: (requestContext?: unknown) => Promise<void>;
|
|
4113
|
+
preloadAd: (arg1: unknown, arg2?: unknown) => Promise<void>;
|
|
4088
4114
|
playPreloaded: (token: string) => Promise<void>;
|
|
4089
4115
|
hasPreloaded: (token: string) => boolean;
|
|
4090
4116
|
cancelPreload: (token: string) => void;
|
|
4091
|
-
pause: () => void;
|
|
4092
|
-
resume: () => void;
|
|
4093
|
-
stop: () => Promise<void>;
|
|
4094
|
-
destroy: () => void;
|
|
4095
|
-
isAdPlaying: () => boolean;
|
|
4096
|
-
resize: (width: number, height: number) => void;
|
|
4097
|
-
on: (event: string, listener: (payload?: any) => void) => void;
|
|
4098
|
-
off: (event: string, listener: (payload?: any) => void) => void;
|
|
4099
|
-
updateOriginalMutedState: (muted: boolean, volume?: number) => void;
|
|
4100
|
-
getOriginalMutedState: () => boolean;
|
|
4101
|
-
getOriginalVolume: () => number;
|
|
4102
|
-
setAdVolume: (volume: number) => void;
|
|
4103
|
-
getAdVolume: () => number;
|
|
4104
|
-
showPlaceholder: () => void;
|
|
4105
|
-
hidePlaceholder: () => void;
|
|
4106
4117
|
}
|
|
4107
|
-
declare function
|
|
4118
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
|
|
4108
4119
|
|
|
4109
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type
|
|
4120
|
+
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { CSSProperties, lazy as lazy$1 } from 'react';
|
|
2
2
|
import * as csstype from 'csstype';
|
|
3
|
-
import Hls from 'hls.js';
|
|
4
3
|
|
|
5
4
|
type LateJoinPolicy = "play_remaining" | "skip_to_content";
|
|
6
5
|
interface AdBreak {
|
|
@@ -37,6 +36,32 @@ interface StormcloudVideoPlayerConfig {
|
|
|
37
36
|
adTransitionGapMs?: number;
|
|
38
37
|
singlePipelineMode?: boolean;
|
|
39
38
|
}
|
|
39
|
+
interface Scte35Marker {
|
|
40
|
+
type: "start" | "end" | "progress";
|
|
41
|
+
ptsSeconds?: number;
|
|
42
|
+
durationSeconds?: number;
|
|
43
|
+
raw?: unknown;
|
|
44
|
+
}
|
|
45
|
+
interface AdController {
|
|
46
|
+
initialize: () => void;
|
|
47
|
+
requestAds: () => Promise<void>;
|
|
48
|
+
play: () => Promise<void>;
|
|
49
|
+
pause: () => void;
|
|
50
|
+
resume: () => void;
|
|
51
|
+
stop: () => Promise<void>;
|
|
52
|
+
destroy: () => void;
|
|
53
|
+
isAdPlaying: () => boolean;
|
|
54
|
+
resize: (width: number, height: number) => void;
|
|
55
|
+
on: (event: string, listener: (payload?: any) => void) => void;
|
|
56
|
+
off: (event: string, listener: (payload?: any) => void) => void;
|
|
57
|
+
updateOriginalMutedState: (muted: boolean, volume?: number) => void;
|
|
58
|
+
getOriginalMutedState: () => boolean;
|
|
59
|
+
getOriginalVolume: () => number;
|
|
60
|
+
setAdVolume: (volume: number) => void;
|
|
61
|
+
getAdVolume: () => number;
|
|
62
|
+
showPlaceholder: () => void;
|
|
63
|
+
hidePlaceholder: () => void;
|
|
64
|
+
}
|
|
40
65
|
interface ClientInfo {
|
|
41
66
|
brand: string;
|
|
42
67
|
os: string;
|
|
@@ -91,24 +116,12 @@ interface VastBidResponse {
|
|
|
91
116
|
adomain?: string[];
|
|
92
117
|
durationSec?: number;
|
|
93
118
|
}
|
|
94
|
-
interface AdBreakContext {
|
|
95
|
-
breakDurationSec?: number;
|
|
96
|
-
remainingBreakSec?: number;
|
|
97
|
-
adIndex?: number;
|
|
98
|
-
}
|
|
99
|
-
interface VastManager {
|
|
100
|
-
initialize: () => Promise<void>;
|
|
101
|
-
requestBids: (context?: AdBreakContext) => Promise<VastBidResponse[]>;
|
|
102
|
-
requestBidsUntilResponse: (context?: AdBreakContext) => Promise<VastBidResponse[]>;
|
|
103
|
-
destroy: () => void;
|
|
104
|
-
readonly isInitialized: boolean;
|
|
105
|
-
}
|
|
106
119
|
|
|
120
|
+
type DebugLogLevel = "info" | "warn" | "error";
|
|
107
121
|
declare class StormcloudVideoPlayer {
|
|
108
122
|
private readonly video;
|
|
109
123
|
private readonly config;
|
|
110
124
|
private hls?;
|
|
111
|
-
private vastManager;
|
|
112
125
|
private adLayer;
|
|
113
126
|
private pendingNextAdBids;
|
|
114
127
|
private continuousFetchLoopPromise;
|
|
@@ -155,9 +168,14 @@ declare class StormcloudVideoPlayer {
|
|
|
155
168
|
private readonly maxBackoffMs;
|
|
156
169
|
private readonly adTransitionGapMs;
|
|
157
170
|
private readonly MIN_AD_REMAINING_MS;
|
|
171
|
+
private readonly adRequestTimeoutMs;
|
|
172
|
+
private readonly adRequestMaxRetries;
|
|
173
|
+
private readonly adRequestRetryBackoffMs;
|
|
158
174
|
private preloadedTokens;
|
|
159
175
|
private fillerVideo;
|
|
160
176
|
private fillerBreakTimerId;
|
|
177
|
+
private debugLogEntries;
|
|
178
|
+
private scteMarkerHistory;
|
|
161
179
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
162
180
|
private adRequest;
|
|
163
181
|
load(): Promise<void>;
|
|
@@ -184,6 +202,7 @@ declare class StormcloudVideoPlayer {
|
|
|
184
202
|
private sendHeartbeatIfNeeded;
|
|
185
203
|
getCurrentAdIndex(): number;
|
|
186
204
|
getTotalAdsInBreak(): number;
|
|
205
|
+
getRemainingAdSeconds(): number;
|
|
187
206
|
isAdPlaying(): boolean;
|
|
188
207
|
isShowingAds(): boolean;
|
|
189
208
|
private syncMainContentAudioWhenVisible;
|
|
@@ -216,6 +235,22 @@ declare class StormcloudVideoPlayer {
|
|
|
216
235
|
private clearAdFailsafeTimer;
|
|
217
236
|
private logAdState;
|
|
218
237
|
private getRemainingAdMs;
|
|
238
|
+
private pushScteMarker;
|
|
239
|
+
private pushDebugLog;
|
|
240
|
+
getRecentScteMarkers(): ReadonlyArray<{
|
|
241
|
+
timestampMs: number;
|
|
242
|
+
type: Scte35Marker["type"];
|
|
243
|
+
ptsSeconds?: number;
|
|
244
|
+
durationSeconds?: number;
|
|
245
|
+
raw?: unknown;
|
|
246
|
+
}>;
|
|
247
|
+
getDebugLogs(): ReadonlyArray<{
|
|
248
|
+
timestampMs: number;
|
|
249
|
+
level: DebugLogLevel;
|
|
250
|
+
category: string;
|
|
251
|
+
message: string;
|
|
252
|
+
details?: Record<string, unknown>;
|
|
253
|
+
}>;
|
|
219
254
|
toggleMute(): void;
|
|
220
255
|
toggleFullscreen(): Promise<void>;
|
|
221
256
|
isMuted(): boolean;
|
|
@@ -4063,47 +4098,23 @@ declare function getBrowserConfigOverrides(): {
|
|
|
4063
4098
|
};
|
|
4064
4099
|
declare function supportsFeature(feature: string): boolean;
|
|
4065
4100
|
|
|
4066
|
-
interface
|
|
4067
|
-
|
|
4068
|
-
}
|
|
4069
|
-
declare function createVastManager(options?: VastManagerOptions): VastManager;
|
|
4070
|
-
|
|
4071
|
-
interface VastAdLayerOptions {
|
|
4072
|
-
continueLiveStreamDuringAds?: boolean;
|
|
4073
|
-
mainHlsInstance?: Hls;
|
|
4074
|
-
smartTVMode?: boolean;
|
|
4075
|
-
singleElementMode?: boolean;
|
|
4076
|
-
forceMP4Ads?: boolean;
|
|
4101
|
+
interface AdStormPlayerOptions {
|
|
4102
|
+
licenseKey: string;
|
|
4077
4103
|
debug?: boolean;
|
|
4078
4104
|
}
|
|
4079
|
-
interface
|
|
4105
|
+
interface AdStormLayerOptionsUpdate {
|
|
4080
4106
|
continueLiveStreamDuringAds?: boolean;
|
|
4081
|
-
mainHlsInstance?:
|
|
4107
|
+
mainHlsInstance?: unknown;
|
|
4082
4108
|
}
|
|
4083
|
-
interface
|
|
4084
|
-
|
|
4085
|
-
updateOptions: (opts:
|
|
4086
|
-
playAd: (
|
|
4087
|
-
preloadAd: (
|
|
4109
|
+
interface AdStormAdLayer extends AdController {
|
|
4110
|
+
requestAds: (duration?: string) => Promise<void>;
|
|
4111
|
+
updateOptions: (opts: AdStormLayerOptionsUpdate) => void;
|
|
4112
|
+
playAd: (requestContext?: unknown) => Promise<void>;
|
|
4113
|
+
preloadAd: (arg1: unknown, arg2?: unknown) => Promise<void>;
|
|
4088
4114
|
playPreloaded: (token: string) => Promise<void>;
|
|
4089
4115
|
hasPreloaded: (token: string) => boolean;
|
|
4090
4116
|
cancelPreload: (token: string) => void;
|
|
4091
|
-
pause: () => void;
|
|
4092
|
-
resume: () => void;
|
|
4093
|
-
stop: () => Promise<void>;
|
|
4094
|
-
destroy: () => void;
|
|
4095
|
-
isAdPlaying: () => boolean;
|
|
4096
|
-
resize: (width: number, height: number) => void;
|
|
4097
|
-
on: (event: string, listener: (payload?: any) => void) => void;
|
|
4098
|
-
off: (event: string, listener: (payload?: any) => void) => void;
|
|
4099
|
-
updateOriginalMutedState: (muted: boolean, volume?: number) => void;
|
|
4100
|
-
getOriginalMutedState: () => boolean;
|
|
4101
|
-
getOriginalVolume: () => number;
|
|
4102
|
-
setAdVolume: (volume: number) => void;
|
|
4103
|
-
getAdVolume: () => number;
|
|
4104
|
-
showPlaceholder: () => void;
|
|
4105
|
-
hidePlaceholder: () => void;
|
|
4106
4117
|
}
|
|
4107
|
-
declare function
|
|
4118
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
|
|
4108
4119
|
|
|
4109
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type
|
|
4120
|
+
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
|