stormcloud-video-player 0.3.16 → 0.4.0
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 -10
- package/lib/index.cjs +3805 -6041
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +19 -102
- package/lib/index.d.ts +19 -102
- package/lib/index.js +3814 -6042
- package/lib/index.js.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +1497 -4885
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +9 -78
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +1497 -4885
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +1499 -4887
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/adstormPlayer.cjs +908 -0
- package/lib/sdk/adstormPlayer.cjs.map +1 -0
- package/lib/sdk/adstormPlayer.d.cts +9 -0
- package/lib/sdk/hlsAdPlayer.cjs +84 -74
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +2 -2
- package/lib/{types-CryTJVCC.d.cts → types-Ca4ZDaWw.d.cts} +3 -8
- package/lib/ui/StormcloudVideoPlayer.cjs +1499 -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/polyfills.cjs.map +1 -1
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/package.json +5 -1
- package/rollup.config.js +22 -0
- 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;
|
|
@@ -57,7 +51,7 @@ interface ImaController {
|
|
|
57
51
|
showPlaceholder: () => void;
|
|
58
52
|
hidePlaceholder: () => void;
|
|
59
53
|
}
|
|
60
|
-
interface
|
|
54
|
+
interface AdControllerOptions {
|
|
61
55
|
maxRetries?: number;
|
|
62
56
|
backoffBaseMs?: number;
|
|
63
57
|
}
|
|
@@ -106,53 +100,21 @@ declare class StormcloudVideoPlayer {
|
|
|
106
100
|
private readonly video;
|
|
107
101
|
private readonly config;
|
|
108
102
|
private hls?;
|
|
109
|
-
private
|
|
103
|
+
private adPlayer;
|
|
110
104
|
private attached;
|
|
111
105
|
private inAdBreak;
|
|
112
|
-
private currentAdBreakStartWallClockMs;
|
|
113
106
|
private expectedAdBreakDurationMs;
|
|
114
107
|
private adStopTimerId;
|
|
115
|
-
private adStartTimerId;
|
|
116
|
-
private adFailsafeTimerId;
|
|
117
108
|
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
109
|
private isLiveStream;
|
|
127
110
|
private nativeHlsMode;
|
|
128
111
|
private videoSrcProtection;
|
|
129
112
|
private bufferedSegmentsCount;
|
|
130
113
|
private shouldAutoplayAfterBuffering;
|
|
131
114
|
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
115
|
private timeUpdateHandler?;
|
|
153
116
|
private emptiedHandler?;
|
|
154
117
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
155
|
-
private createAdPlayer;
|
|
156
118
|
load(): Promise<void>;
|
|
157
119
|
private attach;
|
|
158
120
|
private shouldUseNativeHls;
|
|
@@ -160,58 +122,19 @@ declare class StormcloudVideoPlayer {
|
|
|
160
122
|
private parseScte35FromId3;
|
|
161
123
|
private decodeId3ValueToText;
|
|
162
124
|
private onScte35Marker;
|
|
125
|
+
private handleAdStart;
|
|
163
126
|
private parseCueOutDuration;
|
|
164
127
|
private parseCueOutCont;
|
|
165
128
|
private parseAttributeList;
|
|
166
129
|
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
130
|
private scheduleAdStopCountdown;
|
|
190
131
|
private clearAdStopTimer;
|
|
191
|
-
private ensureAdStoppedByTimer;
|
|
192
|
-
private scheduleAdStartIn;
|
|
193
|
-
private clearAdStartTimer;
|
|
194
132
|
private updatePtsDrift;
|
|
195
|
-
private playSingleAd;
|
|
196
133
|
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;
|
|
134
|
+
isAdPlaying(): boolean;
|
|
135
|
+
isShowingAds(): boolean;
|
|
136
|
+
getStreamType(): "hls" | "other";
|
|
137
|
+
shouldShowNativeControls(): boolean;
|
|
215
138
|
toggleMute(): void;
|
|
216
139
|
toggleFullscreen(): Promise<void>;
|
|
217
140
|
isMuted(): boolean;
|
|
@@ -222,6 +145,8 @@ declare class StormcloudVideoPlayer {
|
|
|
222
145
|
get videoElement(): HTMLVideoElement;
|
|
223
146
|
resize(): void;
|
|
224
147
|
destroy(): void;
|
|
148
|
+
getCurrentAdIndex(): number;
|
|
149
|
+
getTotalAdsInBreak(): number;
|
|
225
150
|
}
|
|
226
151
|
|
|
227
152
|
type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElement"> & React.VideoHTMLAttributes<HTMLVideoElement> & {
|
|
@@ -3849,34 +3774,26 @@ interface BrowserInfo {
|
|
|
3849
3774
|
isSmartTV: boolean;
|
|
3850
3775
|
isLegacyTV: boolean;
|
|
3851
3776
|
platform: string;
|
|
3852
|
-
supportsIMA: boolean;
|
|
3853
3777
|
supportsModernJS: boolean;
|
|
3854
|
-
recommendedAdPlayer: 'ima' | 'hls';
|
|
3855
3778
|
}
|
|
3856
3779
|
declare function detectBrowser(): BrowserInfo;
|
|
3857
|
-
declare function supportsGoogleIMA(): boolean;
|
|
3858
|
-
declare function getRecommendedAdPlayer(): 'ima' | 'hls';
|
|
3859
3780
|
declare function supportsModernJS(): boolean;
|
|
3860
3781
|
declare function logBrowserInfo(debug?: boolean): void;
|
|
3861
3782
|
declare function getBrowserConfigOverrides(): {
|
|
3862
|
-
adPlayerType?: 'ima' | 'hls';
|
|
3863
3783
|
allowNativeHls?: boolean;
|
|
3864
3784
|
};
|
|
3865
3785
|
declare function supportsFeature(feature: string): boolean;
|
|
3866
3786
|
|
|
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
3787
|
declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
|
|
3877
3788
|
continueLiveStreamDuringAds?: boolean;
|
|
3878
3789
|
licenseKey?: string;
|
|
3879
3790
|
mainHlsInstance?: Hls;
|
|
3880
|
-
}):
|
|
3791
|
+
}): AdController;
|
|
3792
|
+
|
|
3793
|
+
interface AdStormPlayerOptions {
|
|
3794
|
+
licenseKey: string;
|
|
3795
|
+
debug?: boolean;
|
|
3796
|
+
}
|
|
3797
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdController;
|
|
3881
3798
|
|
|
3882
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type
|
|
3799
|
+
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;
|
|
@@ -57,7 +51,7 @@ interface ImaController {
|
|
|
57
51
|
showPlaceholder: () => void;
|
|
58
52
|
hidePlaceholder: () => void;
|
|
59
53
|
}
|
|
60
|
-
interface
|
|
54
|
+
interface AdControllerOptions {
|
|
61
55
|
maxRetries?: number;
|
|
62
56
|
backoffBaseMs?: number;
|
|
63
57
|
}
|
|
@@ -106,53 +100,21 @@ declare class StormcloudVideoPlayer {
|
|
|
106
100
|
private readonly video;
|
|
107
101
|
private readonly config;
|
|
108
102
|
private hls?;
|
|
109
|
-
private
|
|
103
|
+
private adPlayer;
|
|
110
104
|
private attached;
|
|
111
105
|
private inAdBreak;
|
|
112
|
-
private currentAdBreakStartWallClockMs;
|
|
113
106
|
private expectedAdBreakDurationMs;
|
|
114
107
|
private adStopTimerId;
|
|
115
|
-
private adStartTimerId;
|
|
116
|
-
private adFailsafeTimerId;
|
|
117
108
|
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
109
|
private isLiveStream;
|
|
127
110
|
private nativeHlsMode;
|
|
128
111
|
private videoSrcProtection;
|
|
129
112
|
private bufferedSegmentsCount;
|
|
130
113
|
private shouldAutoplayAfterBuffering;
|
|
131
114
|
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
115
|
private timeUpdateHandler?;
|
|
153
116
|
private emptiedHandler?;
|
|
154
117
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
155
|
-
private createAdPlayer;
|
|
156
118
|
load(): Promise<void>;
|
|
157
119
|
private attach;
|
|
158
120
|
private shouldUseNativeHls;
|
|
@@ -160,58 +122,19 @@ declare class StormcloudVideoPlayer {
|
|
|
160
122
|
private parseScte35FromId3;
|
|
161
123
|
private decodeId3ValueToText;
|
|
162
124
|
private onScte35Marker;
|
|
125
|
+
private handleAdStart;
|
|
163
126
|
private parseCueOutDuration;
|
|
164
127
|
private parseCueOutCont;
|
|
165
128
|
private parseAttributeList;
|
|
166
129
|
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
130
|
private scheduleAdStopCountdown;
|
|
190
131
|
private clearAdStopTimer;
|
|
191
|
-
private ensureAdStoppedByTimer;
|
|
192
|
-
private scheduleAdStartIn;
|
|
193
|
-
private clearAdStartTimer;
|
|
194
132
|
private updatePtsDrift;
|
|
195
|
-
private playSingleAd;
|
|
196
133
|
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;
|
|
134
|
+
isAdPlaying(): boolean;
|
|
135
|
+
isShowingAds(): boolean;
|
|
136
|
+
getStreamType(): "hls" | "other";
|
|
137
|
+
shouldShowNativeControls(): boolean;
|
|
215
138
|
toggleMute(): void;
|
|
216
139
|
toggleFullscreen(): Promise<void>;
|
|
217
140
|
isMuted(): boolean;
|
|
@@ -222,6 +145,8 @@ declare class StormcloudVideoPlayer {
|
|
|
222
145
|
get videoElement(): HTMLVideoElement;
|
|
223
146
|
resize(): void;
|
|
224
147
|
destroy(): void;
|
|
148
|
+
getCurrentAdIndex(): number;
|
|
149
|
+
getTotalAdsInBreak(): number;
|
|
225
150
|
}
|
|
226
151
|
|
|
227
152
|
type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElement"> & React.VideoHTMLAttributes<HTMLVideoElement> & {
|
|
@@ -3849,34 +3774,26 @@ interface BrowserInfo {
|
|
|
3849
3774
|
isSmartTV: boolean;
|
|
3850
3775
|
isLegacyTV: boolean;
|
|
3851
3776
|
platform: string;
|
|
3852
|
-
supportsIMA: boolean;
|
|
3853
3777
|
supportsModernJS: boolean;
|
|
3854
|
-
recommendedAdPlayer: 'ima' | 'hls';
|
|
3855
3778
|
}
|
|
3856
3779
|
declare function detectBrowser(): BrowserInfo;
|
|
3857
|
-
declare function supportsGoogleIMA(): boolean;
|
|
3858
|
-
declare function getRecommendedAdPlayer(): 'ima' | 'hls';
|
|
3859
3780
|
declare function supportsModernJS(): boolean;
|
|
3860
3781
|
declare function logBrowserInfo(debug?: boolean): void;
|
|
3861
3782
|
declare function getBrowserConfigOverrides(): {
|
|
3862
|
-
adPlayerType?: 'ima' | 'hls';
|
|
3863
3783
|
allowNativeHls?: boolean;
|
|
3864
3784
|
};
|
|
3865
3785
|
declare function supportsFeature(feature: string): boolean;
|
|
3866
3786
|
|
|
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
3787
|
declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
|
|
3877
3788
|
continueLiveStreamDuringAds?: boolean;
|
|
3878
3789
|
licenseKey?: string;
|
|
3879
3790
|
mainHlsInstance?: Hls;
|
|
3880
|
-
}):
|
|
3791
|
+
}): AdController;
|
|
3792
|
+
|
|
3793
|
+
interface AdStormPlayerOptions {
|
|
3794
|
+
licenseKey: string;
|
|
3795
|
+
debug?: boolean;
|
|
3796
|
+
}
|
|
3797
|
+
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdController;
|
|
3881
3798
|
|
|
3882
|
-
export { type AdBreak, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type
|
|
3799
|
+
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 };
|