stormcloud-video-player 0.3.17 → 0.4.1
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 +158 -112
- package/dist/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +4478 -6701
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +20 -102
- package/lib/index.d.ts +20 -102
- package/lib/index.js +3827 -6042
- package/lib/index.js.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +1506 -4885
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +9 -78
- package/lib/players/HlsPlayer.cjs +1506 -4885
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +1508 -4887
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/adstormPlayer.cjs +915 -0
- package/lib/sdk/adstormPlayer.cjs.map +1 -0
- package/lib/sdk/adstormPlayer.d.cts +9 -0
- package/lib/sdk/hlsAdPlayer.cjs +88 -74
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +2 -2
- package/lib/{types-CryTJVCC.d.cts → types-2vzNGNdf.d.cts} +4 -8
- package/lib/ui/StormcloudVideoPlayer.cjs +1508 -4895
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/browserCompat.cjs +1 -52
- package/lib/utils/browserCompat.cjs.map +1 -1
- package/lib/utils/browserCompat.d.cts +1 -6
- package/lib/utils/tracking.d.cts +1 -1
- package/package.json +1 -1
- package/lib/sdk/ima.cjs +0 -1100
- package/lib/sdk/ima.cjs.map +0 -1
- package/lib/sdk/ima.d.cts +0 -12
package/lib/index.d.cts
CHANGED
|
@@ -7,7 +7,6 @@ interface AdBreak {
|
|
|
7
7
|
id?: string;
|
|
8
8
|
startTimeMs: number;
|
|
9
9
|
durationMs?: number;
|
|
10
|
-
vastTagUrl?: string;
|
|
11
10
|
}
|
|
12
11
|
interface AdSchedule {
|
|
13
12
|
breaks: AdBreak[];
|
|
@@ -32,16 +31,11 @@ interface StormcloudVideoPlayerConfig {
|
|
|
32
31
|
onFullscreenToggle?: () => void;
|
|
33
32
|
onControlClick?: () => void;
|
|
34
33
|
licenseKey?: string;
|
|
35
|
-
adPlayerType?: 'ima' | 'hls';
|
|
36
|
-
vastTagUrl?: string;
|
|
37
|
-
vastMode?: 'adstorm' | 'default';
|
|
38
34
|
minSegmentsBeforePlay?: number;
|
|
39
35
|
}
|
|
40
|
-
interface
|
|
36
|
+
interface AdController {
|
|
41
37
|
initialize: () => void;
|
|
42
|
-
requestAds: (
|
|
43
|
-
preloadAds: (vastTagUrl: string) => Promise<void>;
|
|
44
|
-
hasPreloadedAd: (vastTagUrl: string) => boolean;
|
|
38
|
+
requestAds: (duration: string) => Promise<void>;
|
|
45
39
|
play: () => Promise<void>;
|
|
46
40
|
stop: () => Promise<void>;
|
|
47
41
|
destroy: () => void;
|
|
@@ -56,8 +50,9 @@ interface ImaController {
|
|
|
56
50
|
getAdVolume: () => number;
|
|
57
51
|
showPlaceholder: () => void;
|
|
58
52
|
hidePlaceholder: () => void;
|
|
53
|
+
setAllowNativeHls: (allowNativeHls: boolean) => void;
|
|
59
54
|
}
|
|
60
|
-
interface
|
|
55
|
+
interface AdControllerOptions {
|
|
61
56
|
maxRetries?: number;
|
|
62
57
|
backoffBaseMs?: number;
|
|
63
58
|
}
|
|
@@ -106,53 +101,21 @@ declare class StormcloudVideoPlayer {
|
|
|
106
101
|
private readonly video;
|
|
107
102
|
private readonly config;
|
|
108
103
|
private hls?;
|
|
109
|
-
private
|
|
104
|
+
private adPlayer;
|
|
110
105
|
private attached;
|
|
111
106
|
private inAdBreak;
|
|
112
|
-
private currentAdBreakStartWallClockMs;
|
|
113
107
|
private expectedAdBreakDurationMs;
|
|
114
108
|
private adStopTimerId;
|
|
115
|
-
private adStartTimerId;
|
|
116
|
-
private adFailsafeTimerId;
|
|
117
109
|
private ptsDriftEmaMs;
|
|
118
|
-
private adPodQueue;
|
|
119
|
-
private apiVastTagUrl;
|
|
120
|
-
private apiNumberAds;
|
|
121
|
-
private lastHeartbeatTime;
|
|
122
|
-
private heartbeatInterval;
|
|
123
|
-
private currentAdIndex;
|
|
124
|
-
private totalAdsInBreak;
|
|
125
|
-
private showAds;
|
|
126
110
|
private isLiveStream;
|
|
127
111
|
private nativeHlsMode;
|
|
128
112
|
private videoSrcProtection;
|
|
129
113
|
private bufferedSegmentsCount;
|
|
130
114
|
private shouldAutoplayAfterBuffering;
|
|
131
115
|
private hasInitialBufferCompleted;
|
|
132
|
-
private adPodAllUrls;
|
|
133
|
-
private preloadingAdUrls;
|
|
134
|
-
private vastToMediaUrlMap;
|
|
135
|
-
private preloadedMediaUrls;
|
|
136
|
-
private preloadingMediaUrls;
|
|
137
|
-
private adRequestTokenCounter;
|
|
138
|
-
private activeAdRequestToken;
|
|
139
|
-
private adRequestWatchdogId;
|
|
140
|
-
private adRequestWatchdogToken;
|
|
141
|
-
private adFailsafeToken;
|
|
142
|
-
private fetchedAdDurations;
|
|
143
|
-
private targetAdBreakDurationMs;
|
|
144
|
-
private isAdaptiveMode;
|
|
145
|
-
private failedVastUrls;
|
|
146
|
-
private continuousFetchingActive;
|
|
147
|
-
private adRequestQueue;
|
|
148
|
-
private successfulAdRequests;
|
|
149
|
-
private maxPlaceholderDurationMs;
|
|
150
|
-
private placeholderStartTimeMs;
|
|
151
|
-
private isShowingPlaceholder;
|
|
152
116
|
private timeUpdateHandler?;
|
|
153
117
|
private emptiedHandler?;
|
|
154
118
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
155
|
-
private createAdPlayer;
|
|
156
119
|
load(): Promise<void>;
|
|
157
120
|
private attach;
|
|
158
121
|
private shouldUseNativeHls;
|
|
@@ -160,58 +123,19 @@ declare class StormcloudVideoPlayer {
|
|
|
160
123
|
private parseScte35FromId3;
|
|
161
124
|
private decodeId3ValueToText;
|
|
162
125
|
private onScte35Marker;
|
|
126
|
+
private handleAdStart;
|
|
163
127
|
private parseCueOutDuration;
|
|
164
128
|
private parseCueOutCont;
|
|
165
129
|
private parseAttributeList;
|
|
166
130
|
private toNumber;
|
|
167
|
-
private isManifestBasedMarker;
|
|
168
|
-
private parseScte35Binary;
|
|
169
|
-
private initializeTracking;
|
|
170
|
-
private sendHeartbeatIfNeeded;
|
|
171
|
-
private fetchAdConfiguration;
|
|
172
|
-
getCurrentAdIndex(): number;
|
|
173
|
-
getTotalAdsInBreak(): number;
|
|
174
|
-
private generateVastUrlsWithCorrelators;
|
|
175
|
-
isAdPlaying(): boolean;
|
|
176
|
-
isShowingAds(): boolean;
|
|
177
|
-
getStreamType(): "hls" | "other";
|
|
178
|
-
shouldShowNativeControls(): boolean;
|
|
179
|
-
private shouldContinueLiveStreamDuringAds;
|
|
180
|
-
private handleAdStart;
|
|
181
|
-
private startContinuousFetching;
|
|
182
|
-
private continuousFetchLoop;
|
|
183
|
-
private stopContinuousFetching;
|
|
184
|
-
private tryNextAvailableAd;
|
|
185
|
-
private showPlaceholderAndWaitForAds;
|
|
186
|
-
private findCurrentOrNextBreak;
|
|
187
|
-
private onTimeUpdate;
|
|
188
|
-
private handleMidAdJoin;
|
|
189
131
|
private scheduleAdStopCountdown;
|
|
190
132
|
private clearAdStopTimer;
|
|
191
|
-
private ensureAdStoppedByTimer;
|
|
192
|
-
private scheduleAdStartIn;
|
|
193
|
-
private clearAdStartTimer;
|
|
194
133
|
private updatePtsDrift;
|
|
195
|
-
private playSingleAd;
|
|
196
134
|
private handleAdPodComplete;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
private clearAdFailsafeTimer;
|
|
202
|
-
private selectVastTagsForBreak;
|
|
203
|
-
private logAdState;
|
|
204
|
-
private fetchAndParseVastXml;
|
|
205
|
-
private extractMediaUrlsFromVast;
|
|
206
|
-
private fetchVastDuration;
|
|
207
|
-
private calculateAdditionalAdsNeeded;
|
|
208
|
-
private addAdaptiveAdsToQueue;
|
|
209
|
-
private preloadMediaFile;
|
|
210
|
-
private preloadAllAdsInBackground;
|
|
211
|
-
private preloadSingleAd;
|
|
212
|
-
private findNextPreloadedAd;
|
|
213
|
-
private getRemainingAdMs;
|
|
214
|
-
private findBreakForTime;
|
|
135
|
+
isAdPlaying(): boolean;
|
|
136
|
+
isShowingAds(): boolean;
|
|
137
|
+
getStreamType(): "hls" | "other";
|
|
138
|
+
shouldShowNativeControls(): boolean;
|
|
215
139
|
toggleMute(): void;
|
|
216
140
|
toggleFullscreen(): Promise<void>;
|
|
217
141
|
isMuted(): boolean;
|
|
@@ -222,6 +146,8 @@ declare class StormcloudVideoPlayer {
|
|
|
222
146
|
get videoElement(): HTMLVideoElement;
|
|
223
147
|
resize(): void;
|
|
224
148
|
destroy(): void;
|
|
149
|
+
getCurrentAdIndex(): number;
|
|
150
|
+
getTotalAdsInBreak(): number;
|
|
225
151
|
}
|
|
226
152
|
|
|
227
153
|
type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElement"> & React.VideoHTMLAttributes<HTMLVideoElement> & {
|
|
@@ -3849,34 +3775,26 @@ interface BrowserInfo {
|
|
|
3849
3775
|
isSmartTV: boolean;
|
|
3850
3776
|
isLegacyTV: boolean;
|
|
3851
3777
|
platform: string;
|
|
3852
|
-
supportsIMA: boolean;
|
|
3853
3778
|
supportsModernJS: boolean;
|
|
3854
|
-
recommendedAdPlayer: 'ima' | 'hls';
|
|
3855
3779
|
}
|
|
3856
3780
|
declare function detectBrowser(): BrowserInfo;
|
|
3857
|
-
declare function supportsGoogleIMA(): boolean;
|
|
3858
|
-
declare function getRecommendedAdPlayer(): 'ima' | 'hls';
|
|
3859
3781
|
declare function supportsModernJS(): boolean;
|
|
3860
3782
|
declare function logBrowserInfo(debug?: boolean): void;
|
|
3861
3783
|
declare function getBrowserConfigOverrides(): {
|
|
3862
|
-
adPlayerType?: 'ima' | 'hls';
|
|
3863
3784
|
allowNativeHls?: boolean;
|
|
3864
3785
|
};
|
|
3865
3786
|
declare function supportsFeature(feature: string): boolean;
|
|
3866
3787
|
|
|
3867
|
-
declare global {
|
|
3868
|
-
interface Window {
|
|
3869
|
-
google?: any;
|
|
3870
|
-
}
|
|
3871
|
-
}
|
|
3872
|
-
declare function createImaController(video: HTMLVideoElement, options?: {
|
|
3873
|
-
continueLiveStreamDuringAds?: boolean;
|
|
3874
|
-
}): ImaController;
|
|
3875
|
-
|
|
3876
3788
|
declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
|
|
3877
3789
|
continueLiveStreamDuringAds?: boolean;
|
|
3878
3790
|
licenseKey?: string;
|
|
3879
3791
|
mainHlsInstance?: Hls;
|
|
3880
|
-
}):
|
|
3792
|
+
}): AdController;
|
|
3793
|
+
|
|
3794
|
+
interface AdStormPlayerOptions {
|
|
3795
|
+
licenseKey: string;
|
|
3796
|
+
debug?: boolean;
|
|
3797
|
+
}
|
|
3798
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdController;
|
|
3881
3799
|
|
|
3882
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type
|
|
3800
|
+
export { type AdBreak, type AdController, type AdControllerOptions, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createAdStormPlayer, createHlsAdPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };
|
package/lib/index.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ interface AdBreak {
|
|
|
7
7
|
id?: string;
|
|
8
8
|
startTimeMs: number;
|
|
9
9
|
durationMs?: number;
|
|
10
|
-
vastTagUrl?: string;
|
|
11
10
|
}
|
|
12
11
|
interface AdSchedule {
|
|
13
12
|
breaks: AdBreak[];
|
|
@@ -32,16 +31,11 @@ interface StormcloudVideoPlayerConfig {
|
|
|
32
31
|
onFullscreenToggle?: () => void;
|
|
33
32
|
onControlClick?: () => void;
|
|
34
33
|
licenseKey?: string;
|
|
35
|
-
adPlayerType?: 'ima' | 'hls';
|
|
36
|
-
vastTagUrl?: string;
|
|
37
|
-
vastMode?: 'adstorm' | 'default';
|
|
38
34
|
minSegmentsBeforePlay?: number;
|
|
39
35
|
}
|
|
40
|
-
interface
|
|
36
|
+
interface AdController {
|
|
41
37
|
initialize: () => void;
|
|
42
|
-
requestAds: (
|
|
43
|
-
preloadAds: (vastTagUrl: string) => Promise<void>;
|
|
44
|
-
hasPreloadedAd: (vastTagUrl: string) => boolean;
|
|
38
|
+
requestAds: (duration: string) => Promise<void>;
|
|
45
39
|
play: () => Promise<void>;
|
|
46
40
|
stop: () => Promise<void>;
|
|
47
41
|
destroy: () => void;
|
|
@@ -56,8 +50,9 @@ interface ImaController {
|
|
|
56
50
|
getAdVolume: () => number;
|
|
57
51
|
showPlaceholder: () => void;
|
|
58
52
|
hidePlaceholder: () => void;
|
|
53
|
+
setAllowNativeHls: (allowNativeHls: boolean) => void;
|
|
59
54
|
}
|
|
60
|
-
interface
|
|
55
|
+
interface AdControllerOptions {
|
|
61
56
|
maxRetries?: number;
|
|
62
57
|
backoffBaseMs?: number;
|
|
63
58
|
}
|
|
@@ -106,53 +101,21 @@ declare class StormcloudVideoPlayer {
|
|
|
106
101
|
private readonly video;
|
|
107
102
|
private readonly config;
|
|
108
103
|
private hls?;
|
|
109
|
-
private
|
|
104
|
+
private adPlayer;
|
|
110
105
|
private attached;
|
|
111
106
|
private inAdBreak;
|
|
112
|
-
private currentAdBreakStartWallClockMs;
|
|
113
107
|
private expectedAdBreakDurationMs;
|
|
114
108
|
private adStopTimerId;
|
|
115
|
-
private adStartTimerId;
|
|
116
|
-
private adFailsafeTimerId;
|
|
117
109
|
private ptsDriftEmaMs;
|
|
118
|
-
private adPodQueue;
|
|
119
|
-
private apiVastTagUrl;
|
|
120
|
-
private apiNumberAds;
|
|
121
|
-
private lastHeartbeatTime;
|
|
122
|
-
private heartbeatInterval;
|
|
123
|
-
private currentAdIndex;
|
|
124
|
-
private totalAdsInBreak;
|
|
125
|
-
private showAds;
|
|
126
110
|
private isLiveStream;
|
|
127
111
|
private nativeHlsMode;
|
|
128
112
|
private videoSrcProtection;
|
|
129
113
|
private bufferedSegmentsCount;
|
|
130
114
|
private shouldAutoplayAfterBuffering;
|
|
131
115
|
private hasInitialBufferCompleted;
|
|
132
|
-
private adPodAllUrls;
|
|
133
|
-
private preloadingAdUrls;
|
|
134
|
-
private vastToMediaUrlMap;
|
|
135
|
-
private preloadedMediaUrls;
|
|
136
|
-
private preloadingMediaUrls;
|
|
137
|
-
private adRequestTokenCounter;
|
|
138
|
-
private activeAdRequestToken;
|
|
139
|
-
private adRequestWatchdogId;
|
|
140
|
-
private adRequestWatchdogToken;
|
|
141
|
-
private adFailsafeToken;
|
|
142
|
-
private fetchedAdDurations;
|
|
143
|
-
private targetAdBreakDurationMs;
|
|
144
|
-
private isAdaptiveMode;
|
|
145
|
-
private failedVastUrls;
|
|
146
|
-
private continuousFetchingActive;
|
|
147
|
-
private adRequestQueue;
|
|
148
|
-
private successfulAdRequests;
|
|
149
|
-
private maxPlaceholderDurationMs;
|
|
150
|
-
private placeholderStartTimeMs;
|
|
151
|
-
private isShowingPlaceholder;
|
|
152
116
|
private timeUpdateHandler?;
|
|
153
117
|
private emptiedHandler?;
|
|
154
118
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
155
|
-
private createAdPlayer;
|
|
156
119
|
load(): Promise<void>;
|
|
157
120
|
private attach;
|
|
158
121
|
private shouldUseNativeHls;
|
|
@@ -160,58 +123,19 @@ declare class StormcloudVideoPlayer {
|
|
|
160
123
|
private parseScte35FromId3;
|
|
161
124
|
private decodeId3ValueToText;
|
|
162
125
|
private onScte35Marker;
|
|
126
|
+
private handleAdStart;
|
|
163
127
|
private parseCueOutDuration;
|
|
164
128
|
private parseCueOutCont;
|
|
165
129
|
private parseAttributeList;
|
|
166
130
|
private toNumber;
|
|
167
|
-
private isManifestBasedMarker;
|
|
168
|
-
private parseScte35Binary;
|
|
169
|
-
private initializeTracking;
|
|
170
|
-
private sendHeartbeatIfNeeded;
|
|
171
|
-
private fetchAdConfiguration;
|
|
172
|
-
getCurrentAdIndex(): number;
|
|
173
|
-
getTotalAdsInBreak(): number;
|
|
174
|
-
private generateVastUrlsWithCorrelators;
|
|
175
|
-
isAdPlaying(): boolean;
|
|
176
|
-
isShowingAds(): boolean;
|
|
177
|
-
getStreamType(): "hls" | "other";
|
|
178
|
-
shouldShowNativeControls(): boolean;
|
|
179
|
-
private shouldContinueLiveStreamDuringAds;
|
|
180
|
-
private handleAdStart;
|
|
181
|
-
private startContinuousFetching;
|
|
182
|
-
private continuousFetchLoop;
|
|
183
|
-
private stopContinuousFetching;
|
|
184
|
-
private tryNextAvailableAd;
|
|
185
|
-
private showPlaceholderAndWaitForAds;
|
|
186
|
-
private findCurrentOrNextBreak;
|
|
187
|
-
private onTimeUpdate;
|
|
188
|
-
private handleMidAdJoin;
|
|
189
131
|
private scheduleAdStopCountdown;
|
|
190
132
|
private clearAdStopTimer;
|
|
191
|
-
private ensureAdStoppedByTimer;
|
|
192
|
-
private scheduleAdStartIn;
|
|
193
|
-
private clearAdStartTimer;
|
|
194
133
|
private updatePtsDrift;
|
|
195
|
-
private playSingleAd;
|
|
196
134
|
private handleAdPodComplete;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
private clearAdFailsafeTimer;
|
|
202
|
-
private selectVastTagsForBreak;
|
|
203
|
-
private logAdState;
|
|
204
|
-
private fetchAndParseVastXml;
|
|
205
|
-
private extractMediaUrlsFromVast;
|
|
206
|
-
private fetchVastDuration;
|
|
207
|
-
private calculateAdditionalAdsNeeded;
|
|
208
|
-
private addAdaptiveAdsToQueue;
|
|
209
|
-
private preloadMediaFile;
|
|
210
|
-
private preloadAllAdsInBackground;
|
|
211
|
-
private preloadSingleAd;
|
|
212
|
-
private findNextPreloadedAd;
|
|
213
|
-
private getRemainingAdMs;
|
|
214
|
-
private findBreakForTime;
|
|
135
|
+
isAdPlaying(): boolean;
|
|
136
|
+
isShowingAds(): boolean;
|
|
137
|
+
getStreamType(): "hls" | "other";
|
|
138
|
+
shouldShowNativeControls(): boolean;
|
|
215
139
|
toggleMute(): void;
|
|
216
140
|
toggleFullscreen(): Promise<void>;
|
|
217
141
|
isMuted(): boolean;
|
|
@@ -222,6 +146,8 @@ declare class StormcloudVideoPlayer {
|
|
|
222
146
|
get videoElement(): HTMLVideoElement;
|
|
223
147
|
resize(): void;
|
|
224
148
|
destroy(): void;
|
|
149
|
+
getCurrentAdIndex(): number;
|
|
150
|
+
getTotalAdsInBreak(): number;
|
|
225
151
|
}
|
|
226
152
|
|
|
227
153
|
type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElement"> & React.VideoHTMLAttributes<HTMLVideoElement> & {
|
|
@@ -3849,34 +3775,26 @@ interface BrowserInfo {
|
|
|
3849
3775
|
isSmartTV: boolean;
|
|
3850
3776
|
isLegacyTV: boolean;
|
|
3851
3777
|
platform: string;
|
|
3852
|
-
supportsIMA: boolean;
|
|
3853
3778
|
supportsModernJS: boolean;
|
|
3854
|
-
recommendedAdPlayer: 'ima' | 'hls';
|
|
3855
3779
|
}
|
|
3856
3780
|
declare function detectBrowser(): BrowserInfo;
|
|
3857
|
-
declare function supportsGoogleIMA(): boolean;
|
|
3858
|
-
declare function getRecommendedAdPlayer(): 'ima' | 'hls';
|
|
3859
3781
|
declare function supportsModernJS(): boolean;
|
|
3860
3782
|
declare function logBrowserInfo(debug?: boolean): void;
|
|
3861
3783
|
declare function getBrowserConfigOverrides(): {
|
|
3862
|
-
adPlayerType?: 'ima' | 'hls';
|
|
3863
3784
|
allowNativeHls?: boolean;
|
|
3864
3785
|
};
|
|
3865
3786
|
declare function supportsFeature(feature: string): boolean;
|
|
3866
3787
|
|
|
3867
|
-
declare global {
|
|
3868
|
-
interface Window {
|
|
3869
|
-
google?: any;
|
|
3870
|
-
}
|
|
3871
|
-
}
|
|
3872
|
-
declare function createImaController(video: HTMLVideoElement, options?: {
|
|
3873
|
-
continueLiveStreamDuringAds?: boolean;
|
|
3874
|
-
}): ImaController;
|
|
3875
|
-
|
|
3876
3788
|
declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
|
|
3877
3789
|
continueLiveStreamDuringAds?: boolean;
|
|
3878
3790
|
licenseKey?: string;
|
|
3879
3791
|
mainHlsInstance?: Hls;
|
|
3880
|
-
}):
|
|
3792
|
+
}): AdController;
|
|
3793
|
+
|
|
3794
|
+
interface AdStormPlayerOptions {
|
|
3795
|
+
licenseKey: string;
|
|
3796
|
+
debug?: boolean;
|
|
3797
|
+
}
|
|
3798
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdController;
|
|
3881
3799
|
|
|
3882
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type
|
|
3800
|
+
export { type AdBreak, type AdController, type AdControllerOptions, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, type OnProgressProps, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createAdStormPlayer, createHlsAdPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };
|