stormcloud-video-player 0.8.59 → 0.8.60
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/LICENSE +21 -21
- package/README.md +1369 -1369
- package/dist/stormcloud-vp.min.js +3 -1
- package/lib/Player.cjs +548 -0
- package/lib/Player.cjs.map +1 -0
- package/lib/Player.d.cts +146 -0
- package/lib/{index.js → StormcloudPlayer.cjs} +1108 -1877
- package/lib/StormcloudPlayer.cjs.map +1 -0
- package/lib/{index.d.ts → StormcloudPlayer.d.cts} +7 -400
- package/lib/index.cjs +979 -251
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +18 -4032
- package/lib/patterns.cjs +111 -0
- package/lib/patterns.cjs.map +1 -0
- package/lib/patterns.d.cts +14 -0
- package/lib/player/AdBreakOrchestrator.cjs +48 -14
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +3 -1
- package/lib/player/AdConfigManager.cjs +155 -17
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +1 -1
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/AdTimingService.d.cts +1 -1
- package/lib/player/HlsEngine.cjs.map +1 -1
- package/lib/player/HlsEngine.d.cts +1 -1
- package/lib/player/PlaceholderLayer.cjs.map +1 -1
- package/lib/player/PlayerControls.cjs.map +1 -1
- package/lib/player/PlayerControls.d.cts +1 -1
- package/lib/player/Scte35CueManager.cjs.map +1 -1
- package/lib/player/Scte35CueManager.d.cts +1 -1
- package/lib/player/Scte35Parser.cjs.map +1 -1
- package/lib/player/Scte35Parser.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +979 -251
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/player/playerTypes.cjs.map +1 -1
- package/lib/player/playerTypes.d.cts +1 -1
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +979 -251
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +979 -251
- package/lib/players/index.cjs.map +1 -1
- package/lib/props.cjs +186 -0
- package/lib/props.cjs.map +1 -0
- package/lib/props.d.cts +62 -0
- package/lib/sdk/hlsAdPlayer.cjs +884 -234
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +1 -1
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/types.cjs +49 -0
- package/lib/types.cjs.map +1 -0
- package/lib/{types-52ASml2N.d.cts → types.d.cts} +47 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +979 -251
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/browserCompat.cjs.map +1 -1
- package/lib/utils/ctvVastSignals.cjs +155 -17
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/devUrl.cjs.map +1 -1
- package/lib/utils/polyfills.cjs.map +1 -1
- package/lib/utils/tracking.cjs +42 -14
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/lib/utils/trackingIngest.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.cjs +167 -17
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.d.cts +12 -1
- package/lib/utils/vastMacros.cjs +26 -0
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.cjs +5 -0
- package/lib/utils/vastTrackingMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.d.cts +2 -0
- package/lib/utils.cjs +292 -0
- package/lib/utils.cjs.map +1 -0
- package/lib/utils.d.cts +17 -0
- package/package.json +91 -91
- package/rollup.config.js +90 -90
- package/lib/index.js.map +0 -1
|
@@ -1,284 +1,10 @@
|
|
|
1
|
-
import React, { CSSProperties, lazy as lazy$1 } from 'react';
|
|
2
1
|
import * as csstype from 'csstype';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
durationMs?: number;
|
|
10
|
-
vastTagUrl?: string;
|
|
11
|
-
}
|
|
12
|
-
interface AdSchedule {
|
|
13
|
-
breaks: AdBreak[];
|
|
14
|
-
lateJoinPolicy?: LateJoinPolicy;
|
|
15
|
-
}
|
|
16
|
-
interface StormcloudVideoPlayerConfig {
|
|
17
|
-
videoElement: HTMLVideoElement;
|
|
18
|
-
src: string;
|
|
19
|
-
autoplay?: boolean;
|
|
20
|
-
muted?: boolean;
|
|
21
|
-
allowNativeHls?: boolean;
|
|
22
|
-
lowLatencyMode?: boolean;
|
|
23
|
-
isLiveStream?: boolean;
|
|
24
|
-
pauseContentDuringAds?: boolean;
|
|
25
|
-
driftToleranceMs?: number;
|
|
26
|
-
immediateManifestAds?: boolean;
|
|
27
|
-
debugAdTiming?: boolean;
|
|
28
|
-
adFailsafeTimeoutMs?: number;
|
|
29
|
-
adBreakCheckIntervalMs?: number;
|
|
30
|
-
maxAdBreakExtensionMs?: number;
|
|
31
|
-
minRemainingMsToStartAd?: number;
|
|
32
|
-
showCustomControls?: boolean;
|
|
33
|
-
hideLoadingIndicator?: boolean;
|
|
34
|
-
onVolumeToggle?: () => void;
|
|
35
|
-
onFullscreenToggle?: () => void;
|
|
36
|
-
onControlClick?: () => void;
|
|
37
|
-
licenseKey?: string;
|
|
38
|
-
vastTagUrl?: string;
|
|
39
|
-
isVmap?: boolean;
|
|
40
|
-
vmapUrl?: string;
|
|
41
|
-
vastMode?: 'adstorm' | 'default';
|
|
42
|
-
minSegmentsBeforePlay?: number;
|
|
43
|
-
ctvAdRequest?: boolean;
|
|
44
|
-
adTest?: boolean;
|
|
45
|
-
programTitle?: string;
|
|
46
|
-
podMaxAds?: number;
|
|
47
|
-
podMaxDurationMs?: number;
|
|
48
|
-
podExactDuration?: boolean;
|
|
49
|
-
}
|
|
50
|
-
interface AdController {
|
|
51
|
-
initialize: () => void;
|
|
52
|
-
requestAds: (vastTagUrl: string) => Promise<void>;
|
|
53
|
-
play: () => Promise<void>;
|
|
54
|
-
pause: () => void;
|
|
55
|
-
resume: () => void;
|
|
56
|
-
stop: () => Promise<void>;
|
|
57
|
-
destroy: () => void;
|
|
58
|
-
isAdPlaying: () => boolean;
|
|
59
|
-
resize: (width: number, height: number) => void;
|
|
60
|
-
on: (event: string, listener: (payload?: any) => void) => void;
|
|
61
|
-
off: (event: string, listener: (payload?: any) => void) => void;
|
|
62
|
-
updateOriginalMutedState: (muted: boolean, volume?: number) => void;
|
|
63
|
-
getOriginalMutedState: () => boolean;
|
|
64
|
-
getOriginalVolume: () => number;
|
|
65
|
-
setAdVolume: (volume: number) => void;
|
|
66
|
-
getAdVolume: () => number;
|
|
67
|
-
showPlaceholder: () => void;
|
|
68
|
-
hidePlaceholder: () => void;
|
|
69
|
-
getLoadedAdDuration?: () => number | undefined;
|
|
70
|
-
getLoadedAdId?: () => string | undefined;
|
|
71
|
-
getPodAdCount?: () => number;
|
|
72
|
-
getPodTotalDurationMs?: () => number;
|
|
73
|
-
}
|
|
74
|
-
type ImaController = AdController;
|
|
75
|
-
interface AdControllerOptions {
|
|
76
|
-
maxRetries?: number;
|
|
77
|
-
backoffBaseMs?: number;
|
|
78
|
-
}
|
|
79
|
-
type ImaControllerOptions = AdControllerOptions;
|
|
80
|
-
interface ClientInfo {
|
|
81
|
-
brand: string;
|
|
82
|
-
os: string;
|
|
83
|
-
model: string;
|
|
84
|
-
deviceType: "tv" | "mobile" | "tablet" | "desktop";
|
|
85
|
-
isSmartTV: boolean;
|
|
86
|
-
isAndroid: boolean;
|
|
87
|
-
isWebView: boolean;
|
|
88
|
-
isWebApp: boolean;
|
|
89
|
-
domain: string;
|
|
90
|
-
origin: string;
|
|
91
|
-
path: string;
|
|
92
|
-
userAgent: string;
|
|
93
|
-
vendor: string;
|
|
94
|
-
platform: string;
|
|
95
|
-
screen: {
|
|
96
|
-
width?: number;
|
|
97
|
-
height?: number;
|
|
98
|
-
availWidth?: number;
|
|
99
|
-
availHeight?: number;
|
|
100
|
-
orientation?: string;
|
|
101
|
-
pixelDepth?: number;
|
|
102
|
-
};
|
|
103
|
-
hardwareConcurrency: number;
|
|
104
|
-
deviceMemory: number | null;
|
|
105
|
-
maxTouchPoints: number;
|
|
106
|
-
language: string;
|
|
107
|
-
languages: string;
|
|
108
|
-
cookieEnabled: boolean;
|
|
109
|
-
doNotTrack: string;
|
|
110
|
-
referrer: string;
|
|
111
|
-
visibilityState: string;
|
|
112
|
-
}
|
|
113
|
-
interface TrackingData extends ClientInfo {
|
|
114
|
-
browserId: string;
|
|
115
|
-
}
|
|
116
|
-
interface PlayerAnalyticsContext {
|
|
117
|
-
inputStreamType?: string;
|
|
118
|
-
debugAdTiming?: boolean;
|
|
119
|
-
}
|
|
120
|
-
interface HeartbeatData {
|
|
121
|
-
browserId: string;
|
|
122
|
-
player_id: string;
|
|
123
|
-
device_type: ClientInfo["deviceType"];
|
|
124
|
-
input_stream_type?: string;
|
|
125
|
-
os: string;
|
|
126
|
-
ad_loaded?: boolean;
|
|
127
|
-
ad_detect?: boolean;
|
|
128
|
-
license_key?: string;
|
|
129
|
-
capture_at: string;
|
|
130
|
-
timestamp: string;
|
|
131
|
-
}
|
|
132
|
-
interface AdDetectInfo {
|
|
133
|
-
source: "scte35";
|
|
134
|
-
durationSeconds?: number;
|
|
135
|
-
ptsSeconds?: number;
|
|
136
|
-
detectedAtFragmentSn?: number;
|
|
137
|
-
timestamp: string;
|
|
138
|
-
}
|
|
139
|
-
interface AdLoadedInfo {
|
|
140
|
-
source: "vast" | "hls";
|
|
141
|
-
vastUrl?: string;
|
|
142
|
-
durationSeconds?: number;
|
|
143
|
-
timestamp: string;
|
|
144
|
-
}
|
|
145
|
-
interface AdImpressionInfo {
|
|
146
|
-
source: "vast" | "hls";
|
|
147
|
-
adIndex: number;
|
|
148
|
-
adUrl?: string;
|
|
149
|
-
durationSeconds?: number;
|
|
150
|
-
timestamp: string;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
declare class StormcloudVideoPlayer {
|
|
154
|
-
private readonly video;
|
|
155
|
-
private readonly config;
|
|
156
|
-
private adPlayer;
|
|
157
|
-
private attached;
|
|
158
|
-
private timeUpdateHandler?;
|
|
159
|
-
private endedHandler?;
|
|
160
|
-
private emptiedHandler?;
|
|
161
|
-
private palNonce;
|
|
162
|
-
private palPlaybackStarted;
|
|
163
|
-
private readonly cueManager;
|
|
164
|
-
private readonly adConfig;
|
|
165
|
-
private readonly timing;
|
|
166
|
-
private readonly placeholder;
|
|
167
|
-
private readonly hlsEngine;
|
|
168
|
-
private readonly adBreak;
|
|
169
|
-
constructor(config: StormcloudVideoPlayerConfig);
|
|
170
|
-
private get debug();
|
|
171
|
-
private createAdPlayer;
|
|
172
|
-
private generatePodVastUrl;
|
|
173
|
-
load(): Promise<void>;
|
|
174
|
-
private onManifestParsed;
|
|
175
|
-
private attach;
|
|
176
|
-
private shouldContinueLiveStreamDuringAds;
|
|
177
|
-
private onScte35Marker;
|
|
178
|
-
private startScte35AdBreak;
|
|
179
|
-
private onAdStopTimerFired;
|
|
180
|
-
private startAdPrefetch;
|
|
181
|
-
private onTimeUpdate;
|
|
182
|
-
private onVideoEnded;
|
|
183
|
-
private handleVmapAdBreak;
|
|
184
|
-
getCurrentAdIndex(): number;
|
|
185
|
-
getTotalAdsInBreak(): number;
|
|
186
|
-
getAdRemainingMs(): number;
|
|
187
|
-
isAdPlaying(): boolean;
|
|
188
|
-
isShowingAds(): boolean;
|
|
189
|
-
getStreamType(): "hls" | "other";
|
|
190
|
-
shouldShowNativeControls(): boolean;
|
|
191
|
-
isLive(): boolean;
|
|
192
|
-
isLowLatencyStream(): boolean | undefined;
|
|
193
|
-
get videoElement(): HTMLVideoElement;
|
|
194
|
-
toggleMute(): void;
|
|
195
|
-
toggleFullscreen(): Promise<void>;
|
|
196
|
-
isMuted(): boolean;
|
|
197
|
-
setMuted(muted: boolean): void;
|
|
198
|
-
setVolume(volume: number): void;
|
|
199
|
-
getVolume(): number;
|
|
200
|
-
isFullscreen(): boolean;
|
|
201
|
-
resize(): void;
|
|
202
|
-
destroy(): void;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElement"> & React.VideoHTMLAttributes<HTMLVideoElement> & {
|
|
206
|
-
onReady?: (player: StormcloudVideoPlayer) => void;
|
|
207
|
-
wrapperClassName?: string;
|
|
208
|
-
wrapperStyle?: React.CSSProperties;
|
|
209
|
-
licenseKey?: string;
|
|
210
|
-
};
|
|
211
|
-
declare const StormcloudVideoPlayerComponent: React.FC<StormcloudVideoPlayerProps>;
|
|
212
|
-
|
|
213
|
-
interface OnProgressProps {
|
|
214
|
-
played: number;
|
|
215
|
-
playedSeconds: number;
|
|
216
|
-
loaded: number;
|
|
217
|
-
loadedSeconds: number;
|
|
218
|
-
}
|
|
219
|
-
interface BaseStormcloudPlayerProps {
|
|
220
|
-
src?: string;
|
|
221
|
-
playing?: boolean;
|
|
222
|
-
loop?: boolean;
|
|
223
|
-
controls?: boolean;
|
|
224
|
-
volume?: number;
|
|
225
|
-
muted?: boolean;
|
|
226
|
-
playbackRate?: number;
|
|
227
|
-
width?: string | number;
|
|
228
|
-
height?: string | number;
|
|
229
|
-
style?: CSSProperties;
|
|
230
|
-
progressInterval?: number;
|
|
231
|
-
playsInline?: boolean;
|
|
232
|
-
autoplay?: boolean;
|
|
233
|
-
preload?: string;
|
|
234
|
-
poster?: string;
|
|
235
|
-
className?: string;
|
|
236
|
-
wrapperClassName?: string;
|
|
237
|
-
wrapperStyle?: CSSProperties;
|
|
238
|
-
allowNativeHls?: boolean;
|
|
239
|
-
lowLatencyMode?: boolean;
|
|
240
|
-
isLiveStream?: boolean;
|
|
241
|
-
driftToleranceMs?: number;
|
|
242
|
-
immediateManifestAds?: boolean;
|
|
243
|
-
debugAdTiming?: boolean;
|
|
244
|
-
showCustomControls?: boolean;
|
|
245
|
-
hideLoadingIndicator?: boolean;
|
|
246
|
-
licenseKey?: string;
|
|
247
|
-
isVmap?: boolean;
|
|
248
|
-
vmapUrl?: string;
|
|
249
|
-
adFailsafeTimeoutMs?: number;
|
|
250
|
-
minSegmentsBeforePlay?: number;
|
|
251
|
-
ctvAdRequest?: boolean;
|
|
252
|
-
onReady?: (player: StormcloudVideoPlayer) => void;
|
|
253
|
-
onStart?: () => void;
|
|
254
|
-
onPlay?: () => void;
|
|
255
|
-
onPause?: (e?: any) => void;
|
|
256
|
-
onBuffer?: () => void;
|
|
257
|
-
onBufferEnd?: () => void;
|
|
258
|
-
onEnded?: () => void;
|
|
259
|
-
onError?: (error: any, data?: any, hlsInstance?: any, hlsGlobal?: any) => void;
|
|
260
|
-
onDuration?: (duration: number) => void;
|
|
261
|
-
onSeek?: (seconds: number) => void;
|
|
262
|
-
onProgress?: (state: OnProgressProps) => void;
|
|
263
|
-
onVolumeToggle?: () => void;
|
|
264
|
-
onFullscreenToggle?: () => void;
|
|
265
|
-
onControlClick?: () => void;
|
|
266
|
-
[otherProps: string]: any;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
interface PlayerProps extends BaseStormcloudPlayerProps {
|
|
270
|
-
activePlayer: any;
|
|
271
|
-
onReady: () => void;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
interface PlayerConfig {
|
|
275
|
-
key: string;
|
|
276
|
-
name: string;
|
|
277
|
-
canPlay: (url: string) => boolean;
|
|
278
|
-
canEnablePIP?: (url: string) => boolean;
|
|
279
|
-
lazyPlayer?: any;
|
|
280
|
-
}
|
|
281
|
-
declare const players: PlayerConfig[];
|
|
2
|
+
import { PlayerProps } from './Player.cjs';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { BaseStormcloudPlayerProps } from './props.cjs';
|
|
5
|
+
import { PlayerConfig } from './players/index.cjs';
|
|
6
|
+
import './player/StormcloudVideoPlayer.cjs';
|
|
7
|
+
import './types.cjs';
|
|
282
8
|
|
|
283
9
|
interface StormcloudPlayerProps extends BaseStormcloudPlayerProps {
|
|
284
10
|
fallback?: React.ReactElement;
|
|
@@ -3910,123 +3636,4 @@ declare const StormcloudPlayer: {
|
|
|
3910
3636
|
contextType?: React.Context<any> | undefined;
|
|
3911
3637
|
};
|
|
3912
3638
|
|
|
3913
|
-
|
|
3914
|
-
hls: (url: string) => boolean;
|
|
3915
|
-
dash: (url: string) => boolean;
|
|
3916
|
-
video: (url: string) => boolean;
|
|
3917
|
-
audio: (url: string) => boolean;
|
|
3918
|
-
file: (url: string) => boolean;
|
|
3919
|
-
};
|
|
3920
|
-
|
|
3921
|
-
declare const lazy: typeof lazy$1;
|
|
3922
|
-
declare const omit: <T extends Record<string, any>, K extends keyof T>(object: T, keys: K[]) => Omit<T, K>;
|
|
3923
|
-
declare const isMediaStream: (url: any) => url is MediaStream;
|
|
3924
|
-
declare const supportsWebKitPresentationMode: () => boolean;
|
|
3925
|
-
declare const randomString: () => string;
|
|
3926
|
-
declare const parseQuery: (url: string) => Record<string, string>;
|
|
3927
|
-
declare const merge: <T extends Record<string, any>>(target: T, ...sources: Partial<T>[]) => T;
|
|
3928
|
-
declare const IS_BROWSER: false | Document;
|
|
3929
|
-
declare const IS_GLOBAL: false | Document;
|
|
3930
|
-
declare const IS_IOS: boolean;
|
|
3931
|
-
declare const IS_SAFARI: boolean;
|
|
3932
|
-
declare const SUPPORTS_HLS: () => boolean;
|
|
3933
|
-
declare const SUPPORTS_DASH: () => boolean;
|
|
3934
|
-
|
|
3935
|
-
declare function buildAnalyticsContext(config: Pick<StormcloudVideoPlayerConfig, "debugAdTiming" | "isLiveStream">): PlayerAnalyticsContext;
|
|
3936
|
-
declare function getClientInfo(): ClientInfo;
|
|
3937
|
-
declare function getBrowserID(clientInfo: ClientInfo): Promise<string>;
|
|
3938
|
-
type PlayerMetricFlags = {
|
|
3939
|
-
adLoaded?: boolean;
|
|
3940
|
-
adDetect?: boolean;
|
|
3941
|
-
captureAt?: string;
|
|
3942
|
-
};
|
|
3943
|
-
declare function sendInitialTracking(licenseKey?: string, context?: PlayerAnalyticsContext): Promise<void>;
|
|
3944
|
-
declare function sendAdDetectTracking(licenseKey: string | undefined, adDetectInfo: AdDetectInfo, context?: PlayerAnalyticsContext): Promise<void>;
|
|
3945
|
-
declare function sendAdLoadedTracking(licenseKey: string | undefined, adLoadedInfo: AdLoadedInfo, context?: PlayerAnalyticsContext): Promise<void>;
|
|
3946
|
-
declare function sendAdImpressionTracking(licenseKey: string | undefined, adImpressionInfo: AdImpressionInfo, context?: PlayerAnalyticsContext): Promise<void>;
|
|
3947
|
-
declare function sendHeartbeat(licenseKey?: string, context?: PlayerAnalyticsContext, flags?: PlayerMetricFlags): Promise<void>;
|
|
3948
|
-
|
|
3949
|
-
type TrackingIngestChannel = "metrics" | "impressions" | "heartbeat";
|
|
3950
|
-
type TrackingIngestConfig = {
|
|
3951
|
-
enabled: boolean;
|
|
3952
|
-
baseUrl: string;
|
|
3953
|
-
};
|
|
3954
|
-
declare const DEFAULT_TRACKING_INGEST_CONFIG: TrackingIngestConfig;
|
|
3955
|
-
declare const trackingIngestConfig: TrackingIngestConfig;
|
|
3956
|
-
declare function applyTrackingIngestConfig(overrides: Partial<TrackingIngestConfig>): void;
|
|
3957
|
-
declare function configureTrackingIngest(overrides: Partial<TrackingIngestConfig>): void;
|
|
3958
|
-
declare function isTrackingIngestEnabled(): boolean;
|
|
3959
|
-
declare function ingestPlayerTracking(licenseKey: string, channel: TrackingIngestChannel, body: Record<string, unknown>): Promise<boolean>;
|
|
3960
|
-
|
|
3961
|
-
declare function initializePolyfills(): void;
|
|
3962
|
-
|
|
3963
|
-
interface NavigatorUAData {
|
|
3964
|
-
platform?: string;
|
|
3965
|
-
brands?: Array<{
|
|
3966
|
-
brand: string;
|
|
3967
|
-
version: string;
|
|
3968
|
-
}>;
|
|
3969
|
-
mobile?: boolean;
|
|
3970
|
-
}
|
|
3971
|
-
declare global {
|
|
3972
|
-
interface Navigator {
|
|
3973
|
-
userAgentData?: NavigatorUAData;
|
|
3974
|
-
}
|
|
3975
|
-
}
|
|
3976
|
-
interface BrowserInfo {
|
|
3977
|
-
name: string;
|
|
3978
|
-
version: string;
|
|
3979
|
-
majorVersion: number;
|
|
3980
|
-
isSmartTV: boolean;
|
|
3981
|
-
isLegacyTV: boolean;
|
|
3982
|
-
platform: string;
|
|
3983
|
-
supportsModernJS: boolean;
|
|
3984
|
-
webOSVersion?: number | undefined;
|
|
3985
|
-
tizenVersion?: number | undefined;
|
|
3986
|
-
chromeVersion?: number | undefined;
|
|
3987
|
-
}
|
|
3988
|
-
declare function detectBrowser(): BrowserInfo;
|
|
3989
|
-
declare function requiresMediaPipelineResetAfterAds(): boolean;
|
|
3990
|
-
declare function getBrowserConfigOverrides(): {
|
|
3991
|
-
allowNativeHls?: boolean;
|
|
3992
|
-
pauseContentDuringAds?: boolean;
|
|
3993
|
-
};
|
|
3994
|
-
declare function supportsModernJS(): boolean;
|
|
3995
|
-
declare function logBrowserInfo(debug?: boolean): void;
|
|
3996
|
-
declare function supportsFeature(feature: string): boolean;
|
|
3997
|
-
|
|
3998
|
-
declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
|
|
3999
|
-
continueLiveStreamDuringAds?: boolean;
|
|
4000
|
-
licenseKey?: string;
|
|
4001
|
-
mainHlsInstance?: Hls;
|
|
4002
|
-
}): AdController;
|
|
4003
|
-
|
|
4004
|
-
declare global {
|
|
4005
|
-
interface Window {
|
|
4006
|
-
goog?: any;
|
|
4007
|
-
}
|
|
4008
|
-
}
|
|
4009
|
-
interface PalNonceOptions {
|
|
4010
|
-
videoWidth?: number;
|
|
4011
|
-
videoHeight?: number;
|
|
4012
|
-
descriptionUrl?: string;
|
|
4013
|
-
ppid?: string;
|
|
4014
|
-
sessionId?: string;
|
|
4015
|
-
adWillAutoPlay?: boolean;
|
|
4016
|
-
adWillPlayMuted?: boolean;
|
|
4017
|
-
playerVolume?: number;
|
|
4018
|
-
continuousPlayback?: boolean;
|
|
4019
|
-
}
|
|
4020
|
-
interface PalNonceManager {
|
|
4021
|
-
generateNonce(options?: PalNonceOptions): Promise<string>;
|
|
4022
|
-
getCurrentNonce(): string;
|
|
4023
|
-
injectNonce(vastTagUrl: string): string;
|
|
4024
|
-
sendPlaybackStart(): void;
|
|
4025
|
-
sendPlaybackEnd(): void;
|
|
4026
|
-
sendAdClick(): void;
|
|
4027
|
-
sendAdTouch(event: MouseEvent | TouchEvent): void;
|
|
4028
|
-
reset(): void;
|
|
4029
|
-
}
|
|
4030
|
-
declare function createPalNonceManager(): PalNonceManager;
|
|
4031
|
-
|
|
4032
|
-
export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdImpressionInfo, type AdLoadedInfo, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, DEFAULT_TRACKING_INGEST_CONFIG, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type OnProgressProps, 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, getBrowserConfigOverrides, getBrowserID, getClientInfo, ingestPlayerTracking, initializePolyfills, isMediaStream, isTrackingIngestEnabled, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, requiresMediaPipelineResetAfterAds, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, trackingIngestConfig };
|
|
3639
|
+
export { type StormcloudPlayerProps, createStormcloudPlayer, StormcloudPlayer as default };
|