stormcloud-video-player 0.8.74 → 0.8.76
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/Player.cjs +10 -12
- package/lib/Player.cjs.map +1 -1
- package/lib/StormcloudPlayer.cjs +165 -79
- package/lib/StormcloudPlayer.cjs.map +1 -1
- package/lib/index.cjs +176 -134
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -1
- package/lib/index.d.ts +5 -19
- package/lib/index.js +170 -132
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +45 -13
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdConfigManager.cjs +19 -4
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +3 -0
- package/lib/player/EdgePodRequest.cjs +31 -1
- package/lib/player/EdgePodRequest.cjs.map +1 -1
- package/lib/player/EdgePodRequest.d.cts +21 -3
- package/lib/player/FloorLadder.cjs +86 -27
- package/lib/player/FloorLadder.cjs.map +1 -1
- package/lib/player/FloorLadder.d.cts +8 -7
- package/lib/player/StormcloudVideoPlayer.cjs +165 -79
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +3 -9
- package/lib/players/HlsPlayer.cjs +165 -79
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +165 -79
- package/lib/players/index.cjs.map +1 -1
- package/lib/props.cjs +10 -12
- package/lib/props.cjs.map +1 -1
- package/lib/types.d.cts +3 -7
- package/lib/ui/StormcloudVideoPlayer.cjs +169 -140
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/utils/tracking.cjs +7 -0
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +2 -1
- package/lib/utils/vastMacros.cjs +2 -1
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.cts
CHANGED
|
@@ -3,7 +3,7 @@ export { default as StormcloudPlayer, createStormcloudPlayer } from './Stormclou
|
|
|
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
5
|
export { AdPodConfig, DEFAULT_REQUEST_SAFETY_MS, GAM_AD_OPPORTUNITY_DURATION_MS, OptimizedPodDiagnostics, PodResponseDiagnostics } from './player/OptimizedPodRequest.cjs';
|
|
6
|
-
export { DEFAULT_FLOOR_LADDER_BOUNDS,
|
|
6
|
+
export { DEFAULT_FLOOR_LADDER_BOUNDS, DISABLED_FLOOR_LADDER_CONFIG, FloorLadderBounds, FloorLadderValidationReport, FloorSelectionContext, FloorSelector, FloorSelectorResult, FloorSource, FloorValidation, OpportunityFloor, fixedFloorSelector, generateFloorLevels, parseApiFloorLadder, resolveFloorLadderBounds, validateFloorCents, validateFloorLadderConfig } from './player/FloorLadder.cjs';
|
|
7
7
|
export { BaseStormcloudPlayerProps, OnProgressProps } from './props.cjs';
|
|
8
8
|
export { canPlay } from './patterns.cjs';
|
|
9
9
|
export { IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, SUPPORTS_DASH, SUPPORTS_HLS, isMediaStream, lazy, merge, omit, parseQuery, randomString, supportsWebKitPresentationMode } from './utils.cjs';
|
package/lib/index.d.ts
CHANGED
|
@@ -82,13 +82,6 @@ interface StormcloudVideoPlayerConfig {
|
|
|
82
82
|
podMaxAds?: number;
|
|
83
83
|
podMaxDurationMs?: number;
|
|
84
84
|
podExactDuration?: boolean;
|
|
85
|
-
adFloorLadderEnabled?: boolean;
|
|
86
|
-
adFloorLadder?: Partial<AdFloorLadderConfig>;
|
|
87
|
-
adFloorMinCents?: number;
|
|
88
|
-
adFloorMaxCents?: number;
|
|
89
|
-
adFloorStepCents?: number;
|
|
90
|
-
enableEdgePodRequest?: boolean;
|
|
91
|
-
edgePodUrl?: string;
|
|
92
85
|
}
|
|
93
86
|
type AdPosition = "preroll" | "midroll" | "postroll";
|
|
94
87
|
type FloorLadderMode = "fixed";
|
|
@@ -224,7 +217,7 @@ interface AdImpressionInfo {
|
|
|
224
217
|
timestamp: string;
|
|
225
218
|
}
|
|
226
219
|
|
|
227
|
-
declare const
|
|
220
|
+
declare const DISABLED_FLOOR_LADDER_CONFIG: Readonly<AdFloorLadderConfig>;
|
|
228
221
|
type FloorValidationReason = "not_integer" | "out_of_range" | "not_step_multiple" | "not_ready";
|
|
229
222
|
type FloorValidation = {
|
|
230
223
|
ok: true;
|
|
@@ -233,7 +226,6 @@ type FloorValidation = {
|
|
|
233
226
|
reason: FloorValidationReason;
|
|
234
227
|
};
|
|
235
228
|
type FloorSource = "selected" | "fallback" | "none";
|
|
236
|
-
/** Levels that have targeting values in GAM; the ladder config can narrow these but never widen them. */
|
|
237
229
|
interface FloorLadderBounds {
|
|
238
230
|
minCents: number;
|
|
239
231
|
maxCents: number;
|
|
@@ -242,7 +234,6 @@ interface FloorLadderBounds {
|
|
|
242
234
|
declare const DEFAULT_FLOOR_LADDER_BOUNDS: Readonly<FloorLadderBounds>;
|
|
243
235
|
interface FloorSelectionContext {
|
|
244
236
|
position: AdPosition;
|
|
245
|
-
isCtv: boolean;
|
|
246
237
|
bounds: Readonly<FloorLadderBounds>;
|
|
247
238
|
}
|
|
248
239
|
interface FloorSelectorResult {
|
|
@@ -275,6 +266,7 @@ declare function resolveFloorLadderBounds(overrides?: Partial<FloorLadderBounds>
|
|
|
275
266
|
declare function validateFloorCents(value: unknown, config: Readonly<AdFloorLadderConfig>, bounds?: Readonly<FloorLadderBounds>): FloorValidation;
|
|
276
267
|
declare function validateFloorLadderConfig(config: Readonly<AdFloorLadderConfig>, bounds?: Readonly<FloorLadderBounds>): FloorLadderValidationReport;
|
|
277
268
|
declare const fixedFloorSelector: FloorSelector;
|
|
269
|
+
declare function parseApiFloorLadder(raw: unknown): Partial<AdFloorLadderConfig> | undefined;
|
|
278
270
|
|
|
279
271
|
declare class StormcloudVideoPlayer {
|
|
280
272
|
private readonly video;
|
|
@@ -293,19 +285,13 @@ declare class StormcloudVideoPlayer {
|
|
|
293
285
|
private readonly hlsEngine;
|
|
294
286
|
private readonly adBreak;
|
|
295
287
|
private readonly floorLadder;
|
|
296
|
-
private floorLadderEnabled;
|
|
297
288
|
private edgePodBaseUrl;
|
|
298
289
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
299
290
|
private get debug();
|
|
300
291
|
private createAdPlayer;
|
|
301
|
-
private
|
|
302
|
-
setAdFloorLadder(update: Partial<AdFloorLadderConfig>): FloorLadderValidationReport;
|
|
303
|
-
setAdFloorLadderEnabled(enabled: boolean): void;
|
|
292
|
+
private applyFloorLadderFromApi;
|
|
304
293
|
isAdFloorLadderEnabled(): boolean;
|
|
305
|
-
|
|
306
|
-
enableEdgePodRequest?: boolean;
|
|
307
|
-
edgePodUrl?: string;
|
|
308
|
-
}): void;
|
|
294
|
+
private applyEdgePodFromApi;
|
|
309
295
|
getEdgePodUrl(): string | undefined;
|
|
310
296
|
private warnOnInvalidFloorLadder;
|
|
311
297
|
getAdFloorLadder(): AdFloorLadderConfig;
|
|
@@ -4174,4 +4160,4 @@ interface PalNonceManager {
|
|
|
4174
4160
|
}
|
|
4175
4161
|
declare function createPalNonceManager(): PalNonceManager;
|
|
4176
4162
|
|
|
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,
|
|
4163
|
+
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, DISABLED_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, parseApiFloorLadder, parseQuery, players, randomString, requiresMediaPipelineResetAfterAds, resolveFloorLadderBounds, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, trackingIngestConfig, validateFloorCents, validateFloorLadderConfig };
|
package/lib/index.js
CHANGED
|
@@ -1326,9 +1326,10 @@ function resolveScvpMacroValues(ctx) {
|
|
|
1326
1326
|
var deviceId = (_ctx_deviceId = ctx.deviceId) === null || _ctx_deviceId === void 0 ? void 0 : _ctx_deviceId.trim();
|
|
1327
1327
|
var deviceIdType = deviceId ? ((_ctx_deviceIdType = ctx.deviceIdType) === null || _ctx_deviceIdType === void 0 ? void 0 : _ctx_deviceIdType.trim()) || inferDeviceIdType() : void 0;
|
|
1328
1328
|
if (deviceId && deviceIdType) {
|
|
1329
|
+
var _toFlag;
|
|
1329
1330
|
set("RDID", deviceId);
|
|
1330
1331
|
set("IDTYPE", deviceIdType);
|
|
1331
|
-
set("IS-LAT", toFlag(ctx.limitAdTracking));
|
|
1332
|
+
set("IS-LAT", (_toFlag = toFlag(ctx.limitAdTracking)) !== null && _toFlag !== void 0 ? _toFlag : "0");
|
|
1332
1333
|
}
|
|
1333
1334
|
set("SID", ctx.sessionId);
|
|
1334
1335
|
set("DTH", ctx.deviceTypeHint);
|
|
@@ -1663,21 +1664,19 @@ function fetchConsentSignals() {
|
|
|
1663
1664
|
});
|
|
1664
1665
|
}
|
|
1665
1666
|
// src/player/FloorLadder.ts
|
|
1666
|
-
var
|
|
1667
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
1667
1668
|
enabled: false,
|
|
1668
|
-
targetingKey: "
|
|
1669
|
-
minFloorCents:
|
|
1670
|
-
maxFloorCents:
|
|
1671
|
-
stepCents:
|
|
1672
|
-
selectedFloorCents:
|
|
1673
|
-
fallbackFloorCents:
|
|
1669
|
+
targetingKey: "",
|
|
1670
|
+
minFloorCents: 0,
|
|
1671
|
+
maxFloorCents: 0,
|
|
1672
|
+
stepCents: 0,
|
|
1673
|
+
selectedFloorCents: 0,
|
|
1674
|
+
fallbackFloorCents: 0,
|
|
1674
1675
|
readyFloorCents: [],
|
|
1675
1676
|
mode: "fixed",
|
|
1676
|
-
allowedPositions: [
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
1680
|
-
configurationVersion: "2026-09-29.1"
|
|
1677
|
+
allowedPositions: [],
|
|
1678
|
+
targetAdUnitPath: "",
|
|
1679
|
+
configurationVersion: ""
|
|
1681
1680
|
});
|
|
1682
1681
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
1683
1682
|
minCents: 25,
|
|
@@ -1836,7 +1835,6 @@ function resolveOpportunityFloor(config, context) {
|
|
|
1836
1835
|
if (!config.enabled) return skipped("disabled");
|
|
1837
1836
|
var positions = Array.isArray(config.allowedPositions) ? config.allowedPositions : [];
|
|
1838
1837
|
if (positions.indexOf(context.position) === -1) return skipped("position_not_allowed");
|
|
1839
|
-
if (context.isCtv) return skipped("ctv_excluded");
|
|
1840
1838
|
if (!config.targetingKey) return skipped("missing_targeting_key");
|
|
1841
1839
|
if (!config.targetAdUnitPath) return skipped("missing_target_ad_unit");
|
|
1842
1840
|
var result;
|
|
@@ -1990,16 +1988,81 @@ function mergeDefined(target, update) {
|
|
|
1990
1988
|
}
|
|
1991
1989
|
return copyConfig(next);
|
|
1992
1990
|
}
|
|
1991
|
+
var AD_POSITIONS = [
|
|
1992
|
+
"preroll",
|
|
1993
|
+
"midroll",
|
|
1994
|
+
"postroll"
|
|
1995
|
+
];
|
|
1996
|
+
function finiteNumber(value) {
|
|
1997
|
+
return typeof value === "number" && isFinite(value) ? value : void 0;
|
|
1998
|
+
}
|
|
1999
|
+
function parseApiFloorLadder(raw) {
|
|
2000
|
+
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) return void 0;
|
|
2001
|
+
var src = raw;
|
|
2002
|
+
var out = {};
|
|
2003
|
+
if (typeof src.enabled === "boolean") out.enabled = src.enabled;
|
|
2004
|
+
if (typeof src.targetingKey === "string") out.targetingKey = src.targetingKey;
|
|
2005
|
+
if (typeof src.targetAdUnitPath === "string") out.targetAdUnitPath = src.targetAdUnitPath;
|
|
2006
|
+
if (typeof src.configurationVersion === "string") out.configurationVersion = src.configurationVersion;
|
|
2007
|
+
if (typeof src.mode === "string") out.mode = src.mode;
|
|
2008
|
+
var min = finiteNumber(src.minFloorCents);
|
|
2009
|
+
var max = finiteNumber(src.maxFloorCents);
|
|
2010
|
+
var step = finiteNumber(src.stepCents);
|
|
2011
|
+
var selected = finiteNumber(src.selectedFloorCents);
|
|
2012
|
+
var fallback = finiteNumber(src.fallbackFloorCents);
|
|
2013
|
+
if (min !== void 0) out.minFloorCents = min;
|
|
2014
|
+
if (max !== void 0) out.maxFloorCents = max;
|
|
2015
|
+
if (step !== void 0) out.stepCents = step;
|
|
2016
|
+
if (selected !== void 0) out.selectedFloorCents = selected;
|
|
2017
|
+
if (fallback !== void 0) out.fallbackFloorCents = fallback;
|
|
2018
|
+
if (Array.isArray(src.readyFloorCents)) {
|
|
2019
|
+
out.readyFloorCents = src.readyFloorCents.filter(function(cents) {
|
|
2020
|
+
return finiteNumber(cents) !== void 0;
|
|
2021
|
+
});
|
|
2022
|
+
}
|
|
2023
|
+
if (Array.isArray(src.allowedPositions)) {
|
|
2024
|
+
out.allowedPositions = src.allowedPositions.filter(function(position) {
|
|
2025
|
+
return AD_POSITIONS.indexOf(position) !== -1;
|
|
2026
|
+
});
|
|
2027
|
+
}
|
|
2028
|
+
return out;
|
|
2029
|
+
}
|
|
1993
2030
|
var FloorLadderController = /*#__PURE__*/ function() {
|
|
1994
2031
|
"use strict";
|
|
1995
|
-
function FloorLadderController(
|
|
1996
|
-
var selector = arguments.length >
|
|
2032
|
+
function FloorLadderController() {
|
|
2033
|
+
var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fixedFloorSelector;
|
|
1997
2034
|
_class_call_check(this, FloorLadderController);
|
|
1998
|
-
this.
|
|
1999
|
-
this.
|
|
2035
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2036
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2000
2037
|
this.selector = selector;
|
|
2001
2038
|
}
|
|
2002
2039
|
_create_class(FloorLadderController, [
|
|
2040
|
+
{
|
|
2041
|
+
key: "isEnabled",
|
|
2042
|
+
value: function isEnabled() {
|
|
2043
|
+
return this.config.enabled === true;
|
|
2044
|
+
}
|
|
2045
|
+
},
|
|
2046
|
+
{
|
|
2047
|
+
key: "applyApiConfig",
|
|
2048
|
+
value: function applyApiConfig(raw) {
|
|
2049
|
+
var parsed = parseApiFloorLadder(raw);
|
|
2050
|
+
this.config = mergeDefined(copyConfig(DISABLED_FLOOR_LADDER_CONFIG), parsed);
|
|
2051
|
+
this.bounds = Object.freeze({
|
|
2052
|
+
minCents: this.config.minFloorCents,
|
|
2053
|
+
maxCents: this.config.maxFloorCents,
|
|
2054
|
+
stepCents: this.config.stepCents
|
|
2055
|
+
});
|
|
2056
|
+
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2057
|
+
}
|
|
2058
|
+
},
|
|
2059
|
+
{
|
|
2060
|
+
key: "reset",
|
|
2061
|
+
value: function reset() {
|
|
2062
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2063
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2064
|
+
}
|
|
2065
|
+
},
|
|
2003
2066
|
{
|
|
2004
2067
|
key: "get",
|
|
2005
2068
|
value: function get() {
|
|
@@ -2012,13 +2075,6 @@ var FloorLadderController = /*#__PURE__*/ function() {
|
|
|
2012
2075
|
return _object_spread({}, this.bounds);
|
|
2013
2076
|
}
|
|
2014
2077
|
},
|
|
2015
|
-
{
|
|
2016
|
-
key: "update",
|
|
2017
|
-
value: function update(update) {
|
|
2018
|
-
this.config = mergeDefined(this.config, update);
|
|
2019
|
-
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2020
|
-
}
|
|
2021
|
-
},
|
|
2022
2078
|
{
|
|
2023
2079
|
key: "validate",
|
|
2024
2080
|
value: function validate() {
|
|
@@ -6280,6 +6336,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
|
|
|
6280
6336
|
}
|
|
6281
6337
|
return "fingerprint:".concat(JSON.stringify(clientInfo));
|
|
6282
6338
|
}
|
|
6339
|
+
function getCachedBrowserId() {
|
|
6340
|
+
return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
|
|
6341
|
+
}
|
|
6283
6342
|
function getBrowserID(clientInfo) {
|
|
6284
6343
|
return _async_to_generator(function() {
|
|
6285
6344
|
return _ts_generator(this, function(_state) {
|
|
@@ -7954,7 +8013,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7954
8013
|
key: "fetchAdConfiguration",
|
|
7955
8014
|
value: function fetchAdConfiguration() {
|
|
7956
8015
|
return _async_to_generator(function() {
|
|
7957
|
-
var _data_response_ima_publisherdeskima, _data_response_ima,
|
|
8016
|
+
var _data_response, _data_response1, _data_response2, _data_response_ima_publisherdeskima, _data_response_ima, _data_response3, _data_response_options_vast_cue_tones, _data_response_options_vast, _data_response_options, _data_response4, apiUrl, headers, response, data, apiEnableEdge, apiEdgeUrl, imaPayload, decodedPayload, numberAds;
|
|
7958
8017
|
return _ts_generator(this, function(_state) {
|
|
7959
8018
|
switch(_state.label){
|
|
7960
8019
|
case 0:
|
|
@@ -8014,7 +8073,21 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8014
8073
|
];
|
|
8015
8074
|
case 4:
|
|
8016
8075
|
data = _state.sent();
|
|
8017
|
-
|
|
8076
|
+
apiEnableEdge = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : _data_response.enableEdgePodRequest;
|
|
8077
|
+
apiEdgeUrl = (_data_response1 = data.response) === null || _data_response1 === void 0 ? void 0 : _data_response1.edgePodUrl;
|
|
8078
|
+
this.apiEnableEdgePodRequest = typeof apiEnableEdge === "boolean" ? apiEnableEdge : void 0;
|
|
8079
|
+
this.apiEdgePodUrl = typeof apiEdgeUrl === "string" ? apiEdgeUrl : void 0;
|
|
8080
|
+
if (this.debug) {
|
|
8081
|
+
console.log("[StormcloudVideoPlayer] Edge pod settings from API:", {
|
|
8082
|
+
enableEdgePodRequest: this.apiEnableEdgePodRequest,
|
|
8083
|
+
edgePodUrl: this.apiEdgePodUrl
|
|
8084
|
+
});
|
|
8085
|
+
}
|
|
8086
|
+
this.apiFloorLadder = (_data_response2 = data.response) === null || _data_response2 === void 0 ? void 0 : _data_response2.floorLadder;
|
|
8087
|
+
if (this.debug) {
|
|
8088
|
+
console.log(this.apiFloorLadder ? "[StormcloudVideoPlayer] Floor ladder from API:" : "[StormcloudVideoPlayer] No floorLadder block in /ads/web response", this.apiFloorLadder);
|
|
8089
|
+
}
|
|
8090
|
+
imaPayload = (_data_response3 = data.response) === null || _data_response3 === void 0 ? void 0 : (_data_response_ima = _data_response3.ima) === null || _data_response_ima === void 0 ? void 0 : (_data_response_ima_publisherdeskima = _data_response_ima["publisherdesk.ima"]) === null || _data_response_ima_publisherdeskima === void 0 ? void 0 : _data_response_ima_publisherdeskima.payload;
|
|
8018
8091
|
if (imaPayload) {
|
|
8019
8092
|
decodedPayload = imaPayload;
|
|
8020
8093
|
try {
|
|
@@ -8032,7 +8105,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8032
8105
|
console.warn("[StormcloudVideoPlayer] No VAST tag URL found in /ads/web response");
|
|
8033
8106
|
}
|
|
8034
8107
|
}
|
|
8035
|
-
numberAds = (
|
|
8108
|
+
numberAds = (_data_response4 = data.response) === null || _data_response4 === void 0 ? void 0 : (_data_response_options = _data_response4.options) === null || _data_response_options === void 0 ? void 0 : (_data_response_options_vast = _data_response_options.vast) === null || _data_response_options_vast === void 0 ? void 0 : (_data_response_options_vast_cue_tones = _data_response_options_vast.cue_tones) === null || _data_response_options_vast_cue_tones === void 0 ? void 0 : _data_response_options_vast_cue_tones.number_ads;
|
|
8036
8109
|
if (numberAds != null && numberAds > 0) {
|
|
8037
8110
|
this.apiNumberAds = numberAds;
|
|
8038
8111
|
if (this.debug) {
|
|
@@ -9869,7 +9942,23 @@ function resolveEdgePodBaseUrl(config) {
|
|
|
9869
9942
|
return void 0;
|
|
9870
9943
|
}
|
|
9871
9944
|
}
|
|
9945
|
+
function resolveEdgePodRequestContext(config) {
|
|
9946
|
+
var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
9947
|
+
return {
|
|
9948
|
+
width: extra.width,
|
|
9949
|
+
height: extra.height,
|
|
9950
|
+
playerId: extra.playerId,
|
|
9951
|
+
contentNetwork: config.contentNetwork,
|
|
9952
|
+
contentChannel: config.channelName,
|
|
9953
|
+
contentTitle: config.programTitle
|
|
9954
|
+
};
|
|
9955
|
+
}
|
|
9956
|
+
function setOptionalParam(url, key, value) {
|
|
9957
|
+
var trimmed = value === null || value === void 0 ? void 0 : value.trim();
|
|
9958
|
+
if (trimmed) url.searchParams.set(key, trimmed);
|
|
9959
|
+
}
|
|
9872
9960
|
function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
9961
|
+
var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
9873
9962
|
var url = new URL(baseUrl);
|
|
9874
9963
|
var maxMs = Math.max(0, Math.floor(remainingMs));
|
|
9875
9964
|
var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
|
|
@@ -9877,6 +9966,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
|
9877
9966
|
url.searchParams.set("pmad", String(maxAds));
|
|
9878
9967
|
url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
|
|
9879
9968
|
url.searchParams.set("count", String(maxAds));
|
|
9969
|
+
if (context.width != null && Number.isFinite(context.width) && context.width > 0) {
|
|
9970
|
+
url.searchParams.set("width", String(Math.round(context.width)));
|
|
9971
|
+
}
|
|
9972
|
+
if (context.height != null && Number.isFinite(context.height) && context.height > 0) {
|
|
9973
|
+
url.searchParams.set("height", String(Math.round(context.height)));
|
|
9974
|
+
}
|
|
9975
|
+
setOptionalParam(url, "pid", context.playerId);
|
|
9976
|
+
setOptionalParam(url, "cn", context.contentNetwork);
|
|
9977
|
+
setOptionalParam(url, "cc", context.contentChannel);
|
|
9978
|
+
setOptionalParam(url, "ct", context.contentTitle);
|
|
9880
9979
|
return url.toString();
|
|
9881
9980
|
}
|
|
9882
9981
|
function classifyEdgeVastResponse(result) {
|
|
@@ -10765,7 +10864,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
10765
10864
|
return void 0;
|
|
10766
10865
|
}
|
|
10767
10866
|
try {
|
|
10768
|
-
|
|
10867
|
+
var playerId = getCachedBrowserId();
|
|
10868
|
+
return buildEdgePodUrl(baseUrl, remainingMs, remainingAds, resolveEdgePodRequestContext(this.host.config, {
|
|
10869
|
+
width: this.host.video.offsetWidth || this.host.video.clientWidth,
|
|
10870
|
+
height: this.host.video.offsetHeight || this.host.video.clientHeight,
|
|
10871
|
+
playerId: playerId
|
|
10872
|
+
}));
|
|
10769
10873
|
} catch (unused) {
|
|
10770
10874
|
this.markEdgeExhausted("invalid_edge_url");
|
|
10771
10875
|
return void 0;
|
|
@@ -12276,14 +12380,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12276
12380
|
this.config = _object_spread({}, browserOverrides, config);
|
|
12277
12381
|
this.video = config.videoElement;
|
|
12278
12382
|
logBrowserInfo(config.debugAdTiming);
|
|
12279
|
-
|
|
12280
|
-
if (this.config.adFloorMinCents != null) floorBounds.minCents = this.config.adFloorMinCents;
|
|
12281
|
-
if (this.config.adFloorMaxCents != null) floorBounds.maxCents = this.config.adFloorMaxCents;
|
|
12282
|
-
if (this.config.adFloorStepCents != null) floorBounds.stepCents = this.config.adFloorStepCents;
|
|
12283
|
-
this.floorLadder = new FloorLadderController(this.config.adFloorLadder, floorBounds);
|
|
12284
|
-
this.floorLadderEnabled = this.config.adFloorLadderEnabled === true;
|
|
12285
|
-
this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12286
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12383
|
+
this.floorLadder = new FloorLadderController();
|
|
12287
12384
|
this.adPlayer = this.createAdPlayer(false);
|
|
12288
12385
|
this.palNonce = createPalNonceManager();
|
|
12289
12386
|
this.cueManager = new Scte35CueManager(!!this.config.debugAdTiming, {
|
|
@@ -12390,9 +12487,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12390
12487
|
return _this.edgePodBaseUrl;
|
|
12391
12488
|
},
|
|
12392
12489
|
getFloorSnapshot: function getFloorSnapshot(position) {
|
|
12393
|
-
return _this.
|
|
12394
|
-
position: position
|
|
12395
|
-
isCtv: _this.isCtvEnvironment()
|
|
12490
|
+
return _this.floorLadder.isEnabled() ? _this.floorLadder.snapshotFor({
|
|
12491
|
+
position: position
|
|
12396
12492
|
}) : void 0;
|
|
12397
12493
|
},
|
|
12398
12494
|
onAdClick: function onAdClick() {
|
|
@@ -12429,45 +12525,42 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12429
12525
|
}
|
|
12430
12526
|
},
|
|
12431
12527
|
{
|
|
12432
|
-
key: "
|
|
12433
|
-
value: function
|
|
12434
|
-
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
|
|
12440
|
-
key: "setAdFloorLadder",
|
|
12441
|
-
value: function setAdFloorLadder(update) {
|
|
12442
|
-
var report = this.floorLadder.update(update);
|
|
12528
|
+
key: "applyFloorLadderFromApi",
|
|
12529
|
+
value: function applyFloorLadderFromApi() {
|
|
12530
|
+
var raw = this.adConfig.apiFloorLadder;
|
|
12531
|
+
if (raw == null) {
|
|
12532
|
+
this.floorLadder.reset();
|
|
12533
|
+
return;
|
|
12534
|
+
}
|
|
12535
|
+
var report = this.floorLadder.applyApiConfig(raw);
|
|
12443
12536
|
this.warnOnInvalidFloorLadder(report);
|
|
12444
|
-
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12451
|
-
if (enabled) this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12537
|
+
if (this.debug) {
|
|
12538
|
+
console.log("[AdBreak][FLOOR] configuration applied from API", {
|
|
12539
|
+
config: this.floorLadder.get(),
|
|
12540
|
+
bounds: this.floorLadder.getBounds(),
|
|
12541
|
+
validation: report
|
|
12542
|
+
});
|
|
12543
|
+
}
|
|
12452
12544
|
}
|
|
12453
12545
|
},
|
|
12454
12546
|
{
|
|
12455
12547
|
key: "isAdFloorLadderEnabled",
|
|
12456
12548
|
value: function isAdFloorLadderEnabled() {
|
|
12457
|
-
return this.
|
|
12549
|
+
return this.floorLadder.isEnabled();
|
|
12458
12550
|
}
|
|
12459
12551
|
},
|
|
12460
12552
|
{
|
|
12461
|
-
key: "
|
|
12462
|
-
value: function
|
|
12463
|
-
|
|
12464
|
-
|
|
12553
|
+
key: "applyEdgePodFromApi",
|
|
12554
|
+
value: function applyEdgePodFromApi() {
|
|
12555
|
+
this.edgePodBaseUrl = resolveEdgePodBaseUrl({
|
|
12556
|
+
enableEdgePodRequest: this.adConfig.apiEnableEdgePodRequest,
|
|
12557
|
+
edgePodUrl: this.adConfig.apiEdgePodUrl,
|
|
12558
|
+
licenseKey: this.config.licenseKey
|
|
12559
|
+
});
|
|
12560
|
+
if (this.debug) {
|
|
12561
|
+
var _this_edgePodBaseUrl;
|
|
12562
|
+
console.log("[AdBreak][EDGE] edge pod base URL from API:", (_this_edgePodBaseUrl = this.edgePodBaseUrl) !== null && _this_edgePodBaseUrl !== void 0 ? _this_edgePodBaseUrl : "(disabled; GAM only)");
|
|
12465
12563
|
}
|
|
12466
|
-
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
12467
|
-
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
12468
|
-
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
12469
|
-
else this.config.edgePodUrl = update.edgePodUrl;
|
|
12470
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12471
12564
|
}
|
|
12472
12565
|
},
|
|
12473
12566
|
{
|
|
@@ -12480,7 +12573,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12480
12573
|
key: "warnOnInvalidFloorLadder",
|
|
12481
12574
|
value: function warnOnInvalidFloorLadder(report) {
|
|
12482
12575
|
var config = this.floorLadder.get();
|
|
12483
|
-
if (report.ok || !
|
|
12576
|
+
if (report.ok || !config.enabled) return;
|
|
12484
12577
|
console.warn("[AdBreak][FLOOR] configuration has issues; invalid floors will not be sent", {
|
|
12485
12578
|
errors: report.errors,
|
|
12486
12579
|
configurationVersion: config.configurationVersion,
|
|
@@ -12555,6 +12648,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12555
12648
|
4
|
|
12556
12649
|
];
|
|
12557
12650
|
case 4:
|
|
12651
|
+
this.applyFloorLadderFromApi();
|
|
12652
|
+
this.applyEdgePodFromApi();
|
|
12558
12653
|
palDescriptionUrl = this.config.ctvAdRequest ? this.adConfig.getPalDescriptionUrl() : void 0;
|
|
12559
12654
|
fetchConsentSignals().catch(function() {
|
|
12560
12655
|
return {};
|
|
@@ -13308,15 +13403,12 @@ var CRITICAL_PROPS = [
|
|
|
13308
13403
|
"vmapUrl",
|
|
13309
13404
|
"lowLatencyMode",
|
|
13310
13405
|
"driftToleranceMs",
|
|
13311
|
-
"ctvAdRequest"
|
|
13312
|
-
"adFloorMinCents",
|
|
13313
|
-
"adFloorMaxCents",
|
|
13314
|
-
"adFloorStepCents"
|
|
13406
|
+
"ctvAdRequest"
|
|
13315
13407
|
];
|
|
13316
13408
|
var CONTROLS_HIDE_DELAY = 3e3;
|
|
13317
13409
|
var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
|
|
13318
13410
|
var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
13319
|
-
var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, isLiveStream = props.isLiveStream, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, vastTagUrl = props.vastTagUrl, isVmap = props.isVmap, vmapUrl = props.vmapUrl, minSegmentsBeforePlay = props.minSegmentsBeforePlay, ctvAdRequest = props.ctvAdRequest, programTitle = props.programTitle, channelName = props.channelName, contentNetwork = props.contentNetwork, minRemainingMsToStartAd = props.minRemainingMsToStartAd, minRemainingMsToRequestAd = props.minRemainingMsToRequestAd, maxNoFillsPerBreak = props.maxNoFillsPerBreak, maxAdBreakExtensionMs = props.maxAdBreakExtensionMs,
|
|
13411
|
+
var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, isLiveStream = props.isLiveStream, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, vastTagUrl = props.vastTagUrl, isVmap = props.isVmap, vmapUrl = props.vmapUrl, minSegmentsBeforePlay = props.minSegmentsBeforePlay, ctvAdRequest = props.ctvAdRequest, programTitle = props.programTitle, channelName = props.channelName, contentNetwork = props.contentNetwork, minRemainingMsToStartAd = props.minRemainingMsToStartAd, minRemainingMsToRequestAd = props.minRemainingMsToRequestAd, maxNoFillsPerBreak = props.maxNoFillsPerBreak, maxAdBreakExtensionMs = props.maxAdBreakExtensionMs, restVideoAttrs = _object_without_properties(props, [
|
|
13320
13412
|
"src",
|
|
13321
13413
|
"autoplay",
|
|
13322
13414
|
"muted",
|
|
@@ -13353,19 +13445,10 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
13353
13445
|
"minRemainingMsToStartAd",
|
|
13354
13446
|
"minRemainingMsToRequestAd",
|
|
13355
13447
|
"maxNoFillsPerBreak",
|
|
13356
|
-
"maxAdBreakExtensionMs"
|
|
13357
|
-
"adFloorLadderEnabled",
|
|
13358
|
-
"adFloorLadder",
|
|
13359
|
-
"adFloorMinCents",
|
|
13360
|
-
"adFloorMaxCents",
|
|
13361
|
-
"adFloorStepCents",
|
|
13362
|
-
"enableEdgePodRequest",
|
|
13363
|
-
"edgePodUrl"
|
|
13448
|
+
"maxAdBreakExtensionMs"
|
|
13364
13449
|
]);
|
|
13365
|
-
var adFloorLadderKey = JSON.stringify(adFloorLadder !== null && adFloorLadder !== void 0 ? adFloorLadder : null);
|
|
13366
13450
|
var videoRef = useRef(null);
|
|
13367
13451
|
var playerRef = useRef(null);
|
|
13368
|
-
var appliedFloorLadderKeyRef = useRef(null);
|
|
13369
13452
|
var bufferingTimeoutRef = useRef(null);
|
|
13370
13453
|
var controlsTimerRef = useRef(null);
|
|
13371
13454
|
var wrapperRef = useRef(null);
|
|
@@ -13507,10 +13590,7 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
13507
13590
|
isVmap,
|
|
13508
13591
|
vmapUrl,
|
|
13509
13592
|
lowLatencyMode,
|
|
13510
|
-
driftToleranceMs
|
|
13511
|
-
adFloorMinCents,
|
|
13512
|
-
adFloorMaxCents,
|
|
13513
|
-
adFloorStepCents
|
|
13593
|
+
driftToleranceMs
|
|
13514
13594
|
]);
|
|
13515
13595
|
useEffect(function() {
|
|
13516
13596
|
if (typeof window === "undefined") return;
|
|
@@ -13561,16 +13641,8 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
13561
13641
|
if (minRemainingMsToRequestAd !== void 0) cfg.minRemainingMsToRequestAd = minRemainingMsToRequestAd;
|
|
13562
13642
|
if (maxNoFillsPerBreak !== void 0) cfg.maxNoFillsPerBreak = maxNoFillsPerBreak;
|
|
13563
13643
|
if (maxAdBreakExtensionMs !== void 0) cfg.maxAdBreakExtensionMs = maxAdBreakExtensionMs;
|
|
13564
|
-
if (adFloorLadderEnabled !== void 0) cfg.adFloorLadderEnabled = adFloorLadderEnabled;
|
|
13565
|
-
if (adFloorLadder !== void 0) cfg.adFloorLadder = adFloorLadder;
|
|
13566
|
-
if (adFloorMinCents !== void 0) cfg.adFloorMinCents = adFloorMinCents;
|
|
13567
|
-
if (adFloorMaxCents !== void 0) cfg.adFloorMaxCents = adFloorMaxCents;
|
|
13568
|
-
if (adFloorStepCents !== void 0) cfg.adFloorStepCents = adFloorStepCents;
|
|
13569
|
-
if (enableEdgePodRequest !== void 0) cfg.enableEdgePodRequest = enableEdgePodRequest;
|
|
13570
|
-
if (edgePodUrl !== void 0) cfg.edgePodUrl = edgePodUrl;
|
|
13571
13644
|
var player = new StormcloudVideoPlayer(cfg);
|
|
13572
13645
|
playerRef.current = player;
|
|
13573
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13574
13646
|
player.load().then(function() {
|
|
13575
13647
|
var showNative = player.shouldShowNativeControls();
|
|
13576
13648
|
setShouldShowNativeControls(showNative);
|
|
@@ -13608,33 +13680,6 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
13608
13680
|
autoplay,
|
|
13609
13681
|
muted
|
|
13610
13682
|
]);
|
|
13611
|
-
useEffect(function() {
|
|
13612
|
-
if (!playerRef.current || adFloorLadder === void 0) return;
|
|
13613
|
-
if (appliedFloorLadderKeyRef.current === adFloorLadderKey) return;
|
|
13614
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13615
|
-
playerRef.current.setAdFloorLadder(adFloorLadder);
|
|
13616
|
-
}, [
|
|
13617
|
-
adFloorLadderKey
|
|
13618
|
-
]);
|
|
13619
|
-
useEffect(function() {
|
|
13620
|
-
if (!playerRef.current) return;
|
|
13621
|
-
var enabled = adFloorLadderEnabled === true;
|
|
13622
|
-
if (playerRef.current.isAdFloorLadderEnabled() === enabled) return;
|
|
13623
|
-
playerRef.current.setAdFloorLadderEnabled(enabled);
|
|
13624
|
-
}, [
|
|
13625
|
-
adFloorLadderEnabled
|
|
13626
|
-
]);
|
|
13627
|
-
useEffect(function() {
|
|
13628
|
-
if (!playerRef.current) return;
|
|
13629
|
-
playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
|
|
13630
|
-
enableEdgePodRequest: enableEdgePodRequest
|
|
13631
|
-
} : {}, edgePodUrl !== void 0 ? {
|
|
13632
|
-
edgePodUrl: edgePodUrl
|
|
13633
|
-
} : {}));
|
|
13634
|
-
}, [
|
|
13635
|
-
enableEdgePodRequest,
|
|
13636
|
-
edgePodUrl
|
|
13637
|
-
]);
|
|
13638
13683
|
useEffect(function() {
|
|
13639
13684
|
if (!playerRef.current) return;
|
|
13640
13685
|
var checkAdStatus = function checkAdStatus() {
|
|
@@ -14624,7 +14669,6 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
14624
14669
|
]
|
|
14625
14670
|
});
|
|
14626
14671
|
}, function(prevProps, nextProps) {
|
|
14627
|
-
var _prevProps_adFloorLadder, _nextProps_adFloorLadder;
|
|
14628
14672
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14629
14673
|
try {
|
|
14630
14674
|
for(var _iterator = CRITICAL_PROPS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
@@ -14711,12 +14755,6 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
14711
14755
|
}
|
|
14712
14756
|
}
|
|
14713
14757
|
}
|
|
14714
|
-
if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
|
|
14715
|
-
return false;
|
|
14716
|
-
}
|
|
14717
|
-
if (JSON.stringify((_prevProps_adFloorLadder = prevProps.adFloorLadder) !== null && _prevProps_adFloorLadder !== void 0 ? _prevProps_adFloorLadder : null) !== JSON.stringify((_nextProps_adFloorLadder = nextProps.adFloorLadder) !== null && _nextProps_adFloorLadder !== void 0 ? _nextProps_adFloorLadder : null)) {
|
|
14718
|
-
return false;
|
|
14719
|
-
}
|
|
14720
14758
|
return true;
|
|
14721
14759
|
});
|
|
14722
14760
|
// src/StormcloudPlayer.tsx
|
|
@@ -15890,5 +15928,5 @@ var createStormcloudPlayer = function createStormcloudPlayer(playerList, fallbac
|
|
|
15890
15928
|
};
|
|
15891
15929
|
var StormcloudPlayer = createStormcloudPlayer(players_default, players_default[players_default.length - 1]);
|
|
15892
15930
|
var StormcloudPlayer_default = StormcloudPlayer;
|
|
15893
|
-
export { DEFAULT_FLOOR_LADDER_BOUNDS, DEFAULT_REQUEST_SAFETY_MS, DEFAULT_TRACKING_INGEST_CONFIG,
|
|
15931
|
+
export { DEFAULT_FLOOR_LADDER_BOUNDS, DEFAULT_REQUEST_SAFETY_MS, DEFAULT_TRACKING_INGEST_CONFIG, DISABLED_FLOOR_LADDER_CONFIG, GAM_AD_OPPORTUNITY_DURATION_MS, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer_default as StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, applyTrackingIngestConfig, buildAnalyticsContext, canPlay, configureTrackingIngest, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fixedFloorSelector, generateFloorLevels, getBrowserConfigOverrides, getBrowserID, getClientInfo, ingestPlayerTracking, initializePolyfills, isMediaStream, isTrackingIngestEnabled, lazy, logBrowserInfo, merge, omit, parseApiFloorLadder, parseQuery, players_default as players, randomString, requiresMediaPipelineResetAfterAds, resolveFloorLadderBounds, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, trackingIngestConfig, validateFloorCents, validateFloorLadderConfig };
|
|
15894
15932
|
//# sourceMappingURL=index.js.map
|