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/props.cjs
CHANGED
|
@@ -124,21 +124,19 @@ var DEVICE_TYPE_HINT_ALIASES = {
|
|
|
124
124
|
};
|
|
125
125
|
var PERSISTENT_ID_COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5;
|
|
126
126
|
// src/player/FloorLadder.ts
|
|
127
|
-
var
|
|
127
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
128
128
|
enabled: false,
|
|
129
|
-
targetingKey: "
|
|
130
|
-
minFloorCents:
|
|
131
|
-
maxFloorCents:
|
|
132
|
-
stepCents:
|
|
133
|
-
selectedFloorCents:
|
|
134
|
-
fallbackFloorCents:
|
|
129
|
+
targetingKey: "",
|
|
130
|
+
minFloorCents: 0,
|
|
131
|
+
maxFloorCents: 0,
|
|
132
|
+
stepCents: 0,
|
|
133
|
+
selectedFloorCents: 0,
|
|
134
|
+
fallbackFloorCents: 0,
|
|
135
135
|
readyFloorCents: [],
|
|
136
136
|
mode: "fixed",
|
|
137
|
-
allowedPositions: [
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
141
|
-
configurationVersion: "2026-09-29.1"
|
|
137
|
+
allowedPositions: [],
|
|
138
|
+
targetAdUnitPath: "",
|
|
139
|
+
configurationVersion: ""
|
|
142
140
|
});
|
|
143
141
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
144
142
|
minCents: 25,
|
package/lib/props.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\project\\stormcloud-vp\\lib\\props.cjs"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","props_exports","defaultProps","module","exports","DEVICE_TYPE_HINT","FEATURE_PHONE","SMARTPHONE","DESKTOP","TABLET","CONNECTED_TV","GAME_CONSOLE","SET_TOP_BOX","DEVICE_TYPE_HINT_ALIASES","featurephone","smartphone","mobile","phone","desktop","pc","tablet","ctv","tv","connectedtv","smarttv","console","gameconsole","stb","settopbox","PERSISTENT_ID_COOKIE_MAX_AGE","
|
|
1
|
+
{"version":3,"sources":["d:\\project\\stormcloud-vp\\lib\\props.cjs"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","props_exports","defaultProps","module","exports","DEVICE_TYPE_HINT","FEATURE_PHONE","SMARTPHONE","DESKTOP","TABLET","CONNECTED_TV","GAME_CONSOLE","SET_TOP_BOX","DEVICE_TYPE_HINT_ALIASES","featurephone","smartphone","mobile","phone","desktop","pc","tablet","ctv","tv","connectedtv","smarttv","console","gameconsole","stb","settopbox","PERSISTENT_ID_COOKIE_MAX_AGE","DISABLED_FLOOR_LADDER_CONFIG","freeze","enabled","targetingKey","minFloorCents","maxFloorCents","stepCents","selectedFloorCents","fallbackFloorCents","readyFloorCents","mode","allowedPositions","targetAdUnitPath","configurationVersion","DEFAULT_FLOOR_LADDER_BOUNDS","minCents","maxCents","import_hls","require","DEFAULT_TRACKING_INGEST_CONFIG","baseUrl","trackingIngestConfig","import_hls2","noop","playing","loop","controls","volume","muted","playbackRate","width","height","style","progressInterval","playsInline","autoplay","preload","poster","className","wrapperClassName","wrapperStyle","allowNativeHls","lowLatencyMode","driftToleranceMs","immediateManifestAds","debugAdTiming","showCustomControls","hideLoadingIndicator","licenseKey","isVmap","vmapUrl","adFailsafeTimeoutMs","minSegmentsBeforePlay","onStart","onPlay","onPause","onBuffer","onBufferEnd","onEnded","onError","onDuration","onSeek","onProgress","onVolumeToggle","onFullscreenToggle","onControlClick"],"mappings":"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","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/props.ts\nvar props_exports = {};\n__export(props_exports, {\n defaultProps: () => defaultProps\n});\nmodule.exports = __toCommonJS(props_exports);\n\n// src/utils/vastEnvironmentSignals.ts\nvar DEVICE_TYPE_HINT = {\n FEATURE_PHONE: 1,\n SMARTPHONE: 2,\n DESKTOP: 3,\n TABLET: 4,\n CONNECTED_TV: 5,\n GAME_CONSOLE: 6,\n SET_TOP_BOX: 7\n};\nvar DEVICE_TYPE_HINT_ALIASES = {\n featurephone: DEVICE_TYPE_HINT.FEATURE_PHONE,\n smartphone: DEVICE_TYPE_HINT.SMARTPHONE,\n mobile: DEVICE_TYPE_HINT.SMARTPHONE,\n phone: DEVICE_TYPE_HINT.SMARTPHONE,\n desktop: DEVICE_TYPE_HINT.DESKTOP,\n pc: DEVICE_TYPE_HINT.DESKTOP,\n tablet: DEVICE_TYPE_HINT.TABLET,\n ctv: DEVICE_TYPE_HINT.CONNECTED_TV,\n tv: DEVICE_TYPE_HINT.CONNECTED_TV,\n connectedtv: DEVICE_TYPE_HINT.CONNECTED_TV,\n smarttv: DEVICE_TYPE_HINT.CONNECTED_TV,\n console: DEVICE_TYPE_HINT.GAME_CONSOLE,\n gameconsole: DEVICE_TYPE_HINT.GAME_CONSOLE,\n stb: DEVICE_TYPE_HINT.SET_TOP_BOX,\n settopbox: DEVICE_TYPE_HINT.SET_TOP_BOX\n};\nvar PERSISTENT_ID_COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5;\n\n// src/player/FloorLadder.ts\nvar DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({\n enabled: false,\n targetingKey: \"\",\n minFloorCents: 0,\n maxFloorCents: 0,\n stepCents: 0,\n selectedFloorCents: 0,\n fallbackFloorCents: 0,\n readyFloorCents: [],\n mode: \"fixed\",\n allowedPositions: [],\n targetAdUnitPath: \"\",\n configurationVersion: \"\"\n});\nvar DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({\n minCents: 25,\n maxCents: 300,\n stepCents: 25\n});\n\n// src/sdk/hlsAdPlayer.ts\nvar import_hls = __toESM(require(\"hls.js\"), 1);\n\n// src/utils/trackingIngest.ts\nvar DEFAULT_TRACKING_INGEST_CONFIG = {\n enabled: true,\n baseUrl: \"https://player-analytics-ingest-api-760490581852.us-central1.run.app/api/adstorm/player-tracking\"\n};\nvar trackingIngestConfig = {\n ...DEFAULT_TRACKING_INGEST_CONFIG\n};\n\n// src/player/HlsEngine.ts\nvar import_hls2 = __toESM(require(\"hls.js\"), 1);\n\n// src/props.ts\nvar noop = () => {\n};\nvar defaultProps = {\n playing: false,\n loop: false,\n controls: true,\n volume: 1,\n muted: false,\n playbackRate: 1,\n width: \"100%\",\n height: \"auto\",\n style: {},\n progressInterval: 1e3,\n playsInline: false,\n autoplay: false,\n preload: \"metadata\",\n poster: \"\",\n className: \"\",\n wrapperClassName: \"\",\n wrapperStyle: {},\n allowNativeHls: false,\n lowLatencyMode: false,\n driftToleranceMs: 1e3,\n immediateManifestAds: true,\n debugAdTiming: false,\n showCustomControls: false,\n hideLoadingIndicator: false,\n licenseKey: \"\",\n isVmap: false,\n vmapUrl: \"\",\n adFailsafeTimeoutMs: 1e4,\n minSegmentsBeforePlay: 2,\n onStart: noop,\n onPlay: noop,\n onPause: noop,\n onBuffer: noop,\n onBufferEnd: noop,\n onEnded: noop,\n onError: noop,\n onDuration: noop,\n onSeek: noop,\n onProgress: noop,\n onVolumeToggle: noop,\n onFullscreenToggle: noop,\n onControlClick: noop\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n defaultProps\n});\n"]}
|
package/lib/types.d.cts
CHANGED
|
@@ -49,13 +49,6 @@ interface StormcloudVideoPlayerConfig {
|
|
|
49
49
|
podMaxAds?: number;
|
|
50
50
|
podMaxDurationMs?: number;
|
|
51
51
|
podExactDuration?: boolean;
|
|
52
|
-
adFloorLadderEnabled?: boolean;
|
|
53
|
-
adFloorLadder?: Partial<AdFloorLadderConfig>;
|
|
54
|
-
adFloorMinCents?: number;
|
|
55
|
-
adFloorMaxCents?: number;
|
|
56
|
-
adFloorStepCents?: number;
|
|
57
|
-
enableEdgePodRequest?: boolean;
|
|
58
|
-
edgePodUrl?: string;
|
|
59
52
|
}
|
|
60
53
|
type AdPosition = "preroll" | "midroll" | "postroll";
|
|
61
54
|
type FloorLadderMode = "fixed";
|
|
@@ -144,6 +137,9 @@ interface StormcloudApiResponse {
|
|
|
144
137
|
};
|
|
145
138
|
};
|
|
146
139
|
};
|
|
140
|
+
floorLadder?: Partial<AdFloorLadderConfig> | null;
|
|
141
|
+
enableEdgePodRequest?: boolean;
|
|
142
|
+
edgePodUrl?: string;
|
|
147
143
|
};
|
|
148
144
|
}
|
|
149
145
|
interface ClientInfo {
|
|
@@ -1346,9 +1346,10 @@ function resolveScvpMacroValues(ctx) {
|
|
|
1346
1346
|
var deviceId = (_ctx_deviceId = ctx.deviceId) === null || _ctx_deviceId === void 0 ? void 0 : _ctx_deviceId.trim();
|
|
1347
1347
|
var deviceIdType = deviceId ? ((_ctx_deviceIdType = ctx.deviceIdType) === null || _ctx_deviceIdType === void 0 ? void 0 : _ctx_deviceIdType.trim()) || inferDeviceIdType() : void 0;
|
|
1348
1348
|
if (deviceId && deviceIdType) {
|
|
1349
|
+
var _toFlag;
|
|
1349
1350
|
set("RDID", deviceId);
|
|
1350
1351
|
set("IDTYPE", deviceIdType);
|
|
1351
|
-
set("IS-LAT", toFlag(ctx.limitAdTracking));
|
|
1352
|
+
set("IS-LAT", (_toFlag = toFlag(ctx.limitAdTracking)) !== null && _toFlag !== void 0 ? _toFlag : "0");
|
|
1352
1353
|
}
|
|
1353
1354
|
set("SID", ctx.sessionId);
|
|
1354
1355
|
set("DTH", ctx.deviceTypeHint);
|
|
@@ -1683,21 +1684,19 @@ function fetchConsentSignals() {
|
|
|
1683
1684
|
});
|
|
1684
1685
|
}
|
|
1685
1686
|
// src/player/FloorLadder.ts
|
|
1686
|
-
var
|
|
1687
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
1687
1688
|
enabled: false,
|
|
1688
|
-
targetingKey: "
|
|
1689
|
-
minFloorCents:
|
|
1690
|
-
maxFloorCents:
|
|
1691
|
-
stepCents:
|
|
1692
|
-
selectedFloorCents:
|
|
1693
|
-
fallbackFloorCents:
|
|
1689
|
+
targetingKey: "",
|
|
1690
|
+
minFloorCents: 0,
|
|
1691
|
+
maxFloorCents: 0,
|
|
1692
|
+
stepCents: 0,
|
|
1693
|
+
selectedFloorCents: 0,
|
|
1694
|
+
fallbackFloorCents: 0,
|
|
1694
1695
|
readyFloorCents: [],
|
|
1695
1696
|
mode: "fixed",
|
|
1696
|
-
allowedPositions: [
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
1700
|
-
configurationVersion: "2026-09-29.1"
|
|
1697
|
+
allowedPositions: [],
|
|
1698
|
+
targetAdUnitPath: "",
|
|
1699
|
+
configurationVersion: ""
|
|
1701
1700
|
});
|
|
1702
1701
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
1703
1702
|
minCents: 25,
|
|
@@ -1716,15 +1715,6 @@ function generateFloorLevels(minCents, maxCents, stepCents) {
|
|
|
1716
1715
|
}
|
|
1717
1716
|
return levels;
|
|
1718
1717
|
}
|
|
1719
|
-
function resolveFloorLadderBounds() {
|
|
1720
|
-
var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1721
|
-
var _overrides_minCents, _overrides_maxCents, _overrides_stepCents;
|
|
1722
|
-
return {
|
|
1723
|
-
minCents: (_overrides_minCents = overrides.minCents) !== null && _overrides_minCents !== void 0 ? _overrides_minCents : DEFAULT_FLOOR_LADDER_BOUNDS.minCents,
|
|
1724
|
-
maxCents: (_overrides_maxCents = overrides.maxCents) !== null && _overrides_maxCents !== void 0 ? _overrides_maxCents : DEFAULT_FLOOR_LADDER_BOUNDS.maxCents,
|
|
1725
|
-
stepCents: (_overrides_stepCents = overrides.stepCents) !== null && _overrides_stepCents !== void 0 ? _overrides_stepCents : DEFAULT_FLOOR_LADDER_BOUNDS.stepCents
|
|
1726
|
-
};
|
|
1727
|
-
}
|
|
1728
1718
|
function validateFloorCents(value, config) {
|
|
1729
1719
|
var bounds = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
1730
1720
|
if (!isInteger(value)) return {
|
|
@@ -1856,7 +1846,6 @@ function resolveOpportunityFloor(config, context) {
|
|
|
1856
1846
|
if (!config.enabled) return skipped("disabled");
|
|
1857
1847
|
var positions = Array.isArray(config.allowedPositions) ? config.allowedPositions : [];
|
|
1858
1848
|
if (positions.indexOf(context.position) === -1) return skipped("position_not_allowed");
|
|
1859
|
-
if (context.isCtv) return skipped("ctv_excluded");
|
|
1860
1849
|
if (!config.targetingKey) return skipped("missing_targeting_key");
|
|
1861
1850
|
if (!config.targetAdUnitPath) return skipped("missing_target_ad_unit");
|
|
1862
1851
|
var result;
|
|
@@ -2010,15 +1999,80 @@ function mergeDefined(target, update) {
|
|
|
2010
1999
|
}
|
|
2011
2000
|
return copyConfig(next);
|
|
2012
2001
|
}
|
|
2002
|
+
var AD_POSITIONS = [
|
|
2003
|
+
"preroll",
|
|
2004
|
+
"midroll",
|
|
2005
|
+
"postroll"
|
|
2006
|
+
];
|
|
2007
|
+
function finiteNumber(value) {
|
|
2008
|
+
return typeof value === "number" && isFinite(value) ? value : void 0;
|
|
2009
|
+
}
|
|
2010
|
+
function parseApiFloorLadder(raw) {
|
|
2011
|
+
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) return void 0;
|
|
2012
|
+
var src = raw;
|
|
2013
|
+
var out = {};
|
|
2014
|
+
if (typeof src.enabled === "boolean") out.enabled = src.enabled;
|
|
2015
|
+
if (typeof src.targetingKey === "string") out.targetingKey = src.targetingKey;
|
|
2016
|
+
if (typeof src.targetAdUnitPath === "string") out.targetAdUnitPath = src.targetAdUnitPath;
|
|
2017
|
+
if (typeof src.configurationVersion === "string") out.configurationVersion = src.configurationVersion;
|
|
2018
|
+
if (typeof src.mode === "string") out.mode = src.mode;
|
|
2019
|
+
var min = finiteNumber(src.minFloorCents);
|
|
2020
|
+
var max = finiteNumber(src.maxFloorCents);
|
|
2021
|
+
var step = finiteNumber(src.stepCents);
|
|
2022
|
+
var selected = finiteNumber(src.selectedFloorCents);
|
|
2023
|
+
var fallback = finiteNumber(src.fallbackFloorCents);
|
|
2024
|
+
if (min !== void 0) out.minFloorCents = min;
|
|
2025
|
+
if (max !== void 0) out.maxFloorCents = max;
|
|
2026
|
+
if (step !== void 0) out.stepCents = step;
|
|
2027
|
+
if (selected !== void 0) out.selectedFloorCents = selected;
|
|
2028
|
+
if (fallback !== void 0) out.fallbackFloorCents = fallback;
|
|
2029
|
+
if (Array.isArray(src.readyFloorCents)) {
|
|
2030
|
+
out.readyFloorCents = src.readyFloorCents.filter(function(cents) {
|
|
2031
|
+
return finiteNumber(cents) !== void 0;
|
|
2032
|
+
});
|
|
2033
|
+
}
|
|
2034
|
+
if (Array.isArray(src.allowedPositions)) {
|
|
2035
|
+
out.allowedPositions = src.allowedPositions.filter(function(position) {
|
|
2036
|
+
return AD_POSITIONS.indexOf(position) !== -1;
|
|
2037
|
+
});
|
|
2038
|
+
}
|
|
2039
|
+
return out;
|
|
2040
|
+
}
|
|
2013
2041
|
var FloorLadderController = /*#__PURE__*/ function() {
|
|
2014
|
-
function FloorLadderController(
|
|
2015
|
-
var selector = arguments.length >
|
|
2042
|
+
function FloorLadderController() {
|
|
2043
|
+
var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fixedFloorSelector;
|
|
2016
2044
|
_class_call_check(this, FloorLadderController);
|
|
2017
|
-
this.
|
|
2018
|
-
this.
|
|
2045
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2046
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2019
2047
|
this.selector = selector;
|
|
2020
2048
|
}
|
|
2021
2049
|
_create_class(FloorLadderController, [
|
|
2050
|
+
{
|
|
2051
|
+
key: "isEnabled",
|
|
2052
|
+
value: function isEnabled() {
|
|
2053
|
+
return this.config.enabled === true;
|
|
2054
|
+
}
|
|
2055
|
+
},
|
|
2056
|
+
{
|
|
2057
|
+
key: "applyApiConfig",
|
|
2058
|
+
value: function applyApiConfig(raw) {
|
|
2059
|
+
var parsed = parseApiFloorLadder(raw);
|
|
2060
|
+
this.config = mergeDefined(copyConfig(DISABLED_FLOOR_LADDER_CONFIG), parsed);
|
|
2061
|
+
this.bounds = Object.freeze({
|
|
2062
|
+
minCents: this.config.minFloorCents,
|
|
2063
|
+
maxCents: this.config.maxFloorCents,
|
|
2064
|
+
stepCents: this.config.stepCents
|
|
2065
|
+
});
|
|
2066
|
+
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2067
|
+
}
|
|
2068
|
+
},
|
|
2069
|
+
{
|
|
2070
|
+
key: "reset",
|
|
2071
|
+
value: function reset() {
|
|
2072
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2073
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2074
|
+
}
|
|
2075
|
+
},
|
|
2022
2076
|
{
|
|
2023
2077
|
key: "get",
|
|
2024
2078
|
value: function get() {
|
|
@@ -2031,13 +2085,6 @@ var FloorLadderController = /*#__PURE__*/ function() {
|
|
|
2031
2085
|
return _object_spread({}, this.bounds);
|
|
2032
2086
|
}
|
|
2033
2087
|
},
|
|
2034
|
-
{
|
|
2035
|
-
key: "update",
|
|
2036
|
-
value: function update(update) {
|
|
2037
|
-
this.config = mergeDefined(this.config, update);
|
|
2038
|
-
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2039
|
-
}
|
|
2040
|
-
},
|
|
2041
2088
|
{
|
|
2042
2089
|
key: "validate",
|
|
2043
2090
|
value: function validate() {
|
|
@@ -6270,6 +6317,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
|
|
|
6270
6317
|
}
|
|
6271
6318
|
return "fingerprint:".concat(JSON.stringify(clientInfo));
|
|
6272
6319
|
}
|
|
6320
|
+
function getCachedBrowserId() {
|
|
6321
|
+
return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
|
|
6322
|
+
}
|
|
6273
6323
|
function getBrowserID(clientInfo) {
|
|
6274
6324
|
return _async_to_generator(function() {
|
|
6275
6325
|
return _ts_generator(this, function(_state) {
|
|
@@ -7939,7 +7989,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7939
7989
|
key: "fetchAdConfiguration",
|
|
7940
7990
|
value: function fetchAdConfiguration() {
|
|
7941
7991
|
return _async_to_generator(function() {
|
|
7942
|
-
var _data_response_ima_publisherdeskima, _data_response_ima,
|
|
7992
|
+
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;
|
|
7943
7993
|
return _ts_generator(this, function(_state) {
|
|
7944
7994
|
switch(_state.label){
|
|
7945
7995
|
case 0:
|
|
@@ -7999,7 +8049,21 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7999
8049
|
];
|
|
8000
8050
|
case 4:
|
|
8001
8051
|
data = _state.sent();
|
|
8002
|
-
|
|
8052
|
+
apiEnableEdge = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : _data_response.enableEdgePodRequest;
|
|
8053
|
+
apiEdgeUrl = (_data_response1 = data.response) === null || _data_response1 === void 0 ? void 0 : _data_response1.edgePodUrl;
|
|
8054
|
+
this.apiEnableEdgePodRequest = typeof apiEnableEdge === "boolean" ? apiEnableEdge : void 0;
|
|
8055
|
+
this.apiEdgePodUrl = typeof apiEdgeUrl === "string" ? apiEdgeUrl : void 0;
|
|
8056
|
+
if (this.debug) {
|
|
8057
|
+
console.log("[StormcloudVideoPlayer] Edge pod settings from API:", {
|
|
8058
|
+
enableEdgePodRequest: this.apiEnableEdgePodRequest,
|
|
8059
|
+
edgePodUrl: this.apiEdgePodUrl
|
|
8060
|
+
});
|
|
8061
|
+
}
|
|
8062
|
+
this.apiFloorLadder = (_data_response2 = data.response) === null || _data_response2 === void 0 ? void 0 : _data_response2.floorLadder;
|
|
8063
|
+
if (this.debug) {
|
|
8064
|
+
console.log(this.apiFloorLadder ? "[StormcloudVideoPlayer] Floor ladder from API:" : "[StormcloudVideoPlayer] No floorLadder block in /ads/web response", this.apiFloorLadder);
|
|
8065
|
+
}
|
|
8066
|
+
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;
|
|
8003
8067
|
if (imaPayload) {
|
|
8004
8068
|
decodedPayload = imaPayload;
|
|
8005
8069
|
try {
|
|
@@ -8017,7 +8081,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8017
8081
|
console.warn("[StormcloudVideoPlayer] No VAST tag URL found in /ads/web response");
|
|
8018
8082
|
}
|
|
8019
8083
|
}
|
|
8020
|
-
numberAds = (
|
|
8084
|
+
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;
|
|
8021
8085
|
if (numberAds != null && numberAds > 0) {
|
|
8022
8086
|
this.apiNumberAds = numberAds;
|
|
8023
8087
|
if (this.debug) {
|
|
@@ -9851,7 +9915,23 @@ function resolveEdgePodBaseUrl(config) {
|
|
|
9851
9915
|
return void 0;
|
|
9852
9916
|
}
|
|
9853
9917
|
}
|
|
9918
|
+
function resolveEdgePodRequestContext(config) {
|
|
9919
|
+
var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
9920
|
+
return {
|
|
9921
|
+
width: extra.width,
|
|
9922
|
+
height: extra.height,
|
|
9923
|
+
playerId: extra.playerId,
|
|
9924
|
+
contentNetwork: config.contentNetwork,
|
|
9925
|
+
contentChannel: config.channelName,
|
|
9926
|
+
contentTitle: config.programTitle
|
|
9927
|
+
};
|
|
9928
|
+
}
|
|
9929
|
+
function setOptionalParam(url, key, value) {
|
|
9930
|
+
var trimmed = value === null || value === void 0 ? void 0 : value.trim();
|
|
9931
|
+
if (trimmed) url.searchParams.set(key, trimmed);
|
|
9932
|
+
}
|
|
9854
9933
|
function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
9934
|
+
var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
9855
9935
|
var url = new URL(baseUrl);
|
|
9856
9936
|
var maxMs = Math.max(0, Math.floor(remainingMs));
|
|
9857
9937
|
var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
|
|
@@ -9859,6 +9939,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
|
9859
9939
|
url.searchParams.set("pmad", String(maxAds));
|
|
9860
9940
|
url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
|
|
9861
9941
|
url.searchParams.set("count", String(maxAds));
|
|
9942
|
+
if (context.width != null && Number.isFinite(context.width) && context.width > 0) {
|
|
9943
|
+
url.searchParams.set("width", String(Math.round(context.width)));
|
|
9944
|
+
}
|
|
9945
|
+
if (context.height != null && Number.isFinite(context.height) && context.height > 0) {
|
|
9946
|
+
url.searchParams.set("height", String(Math.round(context.height)));
|
|
9947
|
+
}
|
|
9948
|
+
setOptionalParam(url, "pid", context.playerId);
|
|
9949
|
+
setOptionalParam(url, "cn", context.contentNetwork);
|
|
9950
|
+
setOptionalParam(url, "cc", context.contentChannel);
|
|
9951
|
+
setOptionalParam(url, "ct", context.contentTitle);
|
|
9862
9952
|
return url.toString();
|
|
9863
9953
|
}
|
|
9864
9954
|
function classifyEdgeVastResponse(result) {
|
|
@@ -10746,7 +10836,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
10746
10836
|
return void 0;
|
|
10747
10837
|
}
|
|
10748
10838
|
try {
|
|
10749
|
-
|
|
10839
|
+
var playerId = getCachedBrowserId();
|
|
10840
|
+
return buildEdgePodUrl(baseUrl, remainingMs, remainingAds, resolveEdgePodRequestContext(this.host.config, {
|
|
10841
|
+
width: this.host.video.offsetWidth || this.host.video.clientWidth,
|
|
10842
|
+
height: this.host.video.offsetHeight || this.host.video.clientHeight,
|
|
10843
|
+
playerId: playerId
|
|
10844
|
+
}));
|
|
10750
10845
|
} catch (unused) {
|
|
10751
10846
|
this.markEdgeExhausted("invalid_edge_url");
|
|
10752
10847
|
return void 0;
|
|
@@ -12256,14 +12351,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12256
12351
|
this.config = _object_spread({}, browserOverrides, config);
|
|
12257
12352
|
this.video = config.videoElement;
|
|
12258
12353
|
logBrowserInfo(config.debugAdTiming);
|
|
12259
|
-
|
|
12260
|
-
if (this.config.adFloorMinCents != null) floorBounds.minCents = this.config.adFloorMinCents;
|
|
12261
|
-
if (this.config.adFloorMaxCents != null) floorBounds.maxCents = this.config.adFloorMaxCents;
|
|
12262
|
-
if (this.config.adFloorStepCents != null) floorBounds.stepCents = this.config.adFloorStepCents;
|
|
12263
|
-
this.floorLadder = new FloorLadderController(this.config.adFloorLadder, floorBounds);
|
|
12264
|
-
this.floorLadderEnabled = this.config.adFloorLadderEnabled === true;
|
|
12265
|
-
this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12266
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12354
|
+
this.floorLadder = new FloorLadderController();
|
|
12267
12355
|
this.adPlayer = this.createAdPlayer(false);
|
|
12268
12356
|
this.palNonce = createPalNonceManager();
|
|
12269
12357
|
this.cueManager = new Scte35CueManager(!!this.config.debugAdTiming, {
|
|
@@ -12370,9 +12458,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12370
12458
|
return _this.edgePodBaseUrl;
|
|
12371
12459
|
},
|
|
12372
12460
|
getFloorSnapshot: function getFloorSnapshot(position) {
|
|
12373
|
-
return _this.
|
|
12374
|
-
position: position
|
|
12375
|
-
isCtv: _this.isCtvEnvironment()
|
|
12461
|
+
return _this.floorLadder.isEnabled() ? _this.floorLadder.snapshotFor({
|
|
12462
|
+
position: position
|
|
12376
12463
|
}) : void 0;
|
|
12377
12464
|
},
|
|
12378
12465
|
onAdClick: function onAdClick() {
|
|
@@ -12409,45 +12496,42 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12409
12496
|
}
|
|
12410
12497
|
},
|
|
12411
12498
|
{
|
|
12412
|
-
key: "
|
|
12413
|
-
value: function
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12418
|
-
|
|
12419
|
-
|
|
12420
|
-
key: "setAdFloorLadder",
|
|
12421
|
-
value: function setAdFloorLadder(update) {
|
|
12422
|
-
var report = this.floorLadder.update(update);
|
|
12499
|
+
key: "applyFloorLadderFromApi",
|
|
12500
|
+
value: function applyFloorLadderFromApi() {
|
|
12501
|
+
var raw = this.adConfig.apiFloorLadder;
|
|
12502
|
+
if (raw == null) {
|
|
12503
|
+
this.floorLadder.reset();
|
|
12504
|
+
return;
|
|
12505
|
+
}
|
|
12506
|
+
var report = this.floorLadder.applyApiConfig(raw);
|
|
12423
12507
|
this.warnOnInvalidFloorLadder(report);
|
|
12424
|
-
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
if (enabled) this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12508
|
+
if (this.debug) {
|
|
12509
|
+
console.log("[AdBreak][FLOOR] configuration applied from API", {
|
|
12510
|
+
config: this.floorLadder.get(),
|
|
12511
|
+
bounds: this.floorLadder.getBounds(),
|
|
12512
|
+
validation: report
|
|
12513
|
+
});
|
|
12514
|
+
}
|
|
12432
12515
|
}
|
|
12433
12516
|
},
|
|
12434
12517
|
{
|
|
12435
12518
|
key: "isAdFloorLadderEnabled",
|
|
12436
12519
|
value: function isAdFloorLadderEnabled() {
|
|
12437
|
-
return this.
|
|
12520
|
+
return this.floorLadder.isEnabled();
|
|
12438
12521
|
}
|
|
12439
12522
|
},
|
|
12440
12523
|
{
|
|
12441
|
-
key: "
|
|
12442
|
-
value: function
|
|
12443
|
-
|
|
12444
|
-
|
|
12524
|
+
key: "applyEdgePodFromApi",
|
|
12525
|
+
value: function applyEdgePodFromApi() {
|
|
12526
|
+
this.edgePodBaseUrl = resolveEdgePodBaseUrl({
|
|
12527
|
+
enableEdgePodRequest: this.adConfig.apiEnableEdgePodRequest,
|
|
12528
|
+
edgePodUrl: this.adConfig.apiEdgePodUrl,
|
|
12529
|
+
licenseKey: this.config.licenseKey
|
|
12530
|
+
});
|
|
12531
|
+
if (this.debug) {
|
|
12532
|
+
var _this_edgePodBaseUrl;
|
|
12533
|
+
console.log("[AdBreak][EDGE] edge pod base URL from API:", (_this_edgePodBaseUrl = this.edgePodBaseUrl) !== null && _this_edgePodBaseUrl !== void 0 ? _this_edgePodBaseUrl : "(disabled; GAM only)");
|
|
12445
12534
|
}
|
|
12446
|
-
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
12447
|
-
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
12448
|
-
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
12449
|
-
else this.config.edgePodUrl = update.edgePodUrl;
|
|
12450
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12451
12535
|
}
|
|
12452
12536
|
},
|
|
12453
12537
|
{
|
|
@@ -12460,7 +12544,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12460
12544
|
key: "warnOnInvalidFloorLadder",
|
|
12461
12545
|
value: function warnOnInvalidFloorLadder(report) {
|
|
12462
12546
|
var config = this.floorLadder.get();
|
|
12463
|
-
if (report.ok || !
|
|
12547
|
+
if (report.ok || !config.enabled) return;
|
|
12464
12548
|
console.warn("[AdBreak][FLOOR] configuration has issues; invalid floors will not be sent", {
|
|
12465
12549
|
errors: report.errors,
|
|
12466
12550
|
configurationVersion: config.configurationVersion,
|
|
@@ -12535,6 +12619,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12535
12619
|
4
|
|
12536
12620
|
];
|
|
12537
12621
|
case 4:
|
|
12622
|
+
this.applyFloorLadderFromApi();
|
|
12623
|
+
this.applyEdgePodFromApi();
|
|
12538
12624
|
palDescriptionUrl = this.config.ctvAdRequest ? this.adConfig.getPalDescriptionUrl() : void 0;
|
|
12539
12625
|
fetchConsentSignals().catch(function() {
|
|
12540
12626
|
return {};
|
|
@@ -13288,15 +13374,12 @@ var CRITICAL_PROPS = [
|
|
|
13288
13374
|
"vmapUrl",
|
|
13289
13375
|
"lowLatencyMode",
|
|
13290
13376
|
"driftToleranceMs",
|
|
13291
|
-
"ctvAdRequest"
|
|
13292
|
-
"adFloorMinCents",
|
|
13293
|
-
"adFloorMaxCents",
|
|
13294
|
-
"adFloorStepCents"
|
|
13377
|
+
"ctvAdRequest"
|
|
13295
13378
|
];
|
|
13296
13379
|
var CONTROLS_HIDE_DELAY = 3e3;
|
|
13297
13380
|
var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
|
|
13298
13381
|
var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
13299
|
-
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,
|
|
13382
|
+
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, [
|
|
13300
13383
|
"src",
|
|
13301
13384
|
"autoplay",
|
|
13302
13385
|
"muted",
|
|
@@ -13333,19 +13416,10 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13333
13416
|
"minRemainingMsToStartAd",
|
|
13334
13417
|
"minRemainingMsToRequestAd",
|
|
13335
13418
|
"maxNoFillsPerBreak",
|
|
13336
|
-
"maxAdBreakExtensionMs"
|
|
13337
|
-
"adFloorLadderEnabled",
|
|
13338
|
-
"adFloorLadder",
|
|
13339
|
-
"adFloorMinCents",
|
|
13340
|
-
"adFloorMaxCents",
|
|
13341
|
-
"adFloorStepCents",
|
|
13342
|
-
"enableEdgePodRequest",
|
|
13343
|
-
"edgePodUrl"
|
|
13419
|
+
"maxAdBreakExtensionMs"
|
|
13344
13420
|
]);
|
|
13345
|
-
var adFloorLadderKey = JSON.stringify(adFloorLadder !== null && adFloorLadder !== void 0 ? adFloorLadder : null);
|
|
13346
13421
|
var videoRef = (0, import_react.useRef)(null);
|
|
13347
13422
|
var playerRef = (0, import_react.useRef)(null);
|
|
13348
|
-
var appliedFloorLadderKeyRef = (0, import_react.useRef)(null);
|
|
13349
13423
|
var bufferingTimeoutRef = (0, import_react.useRef)(null);
|
|
13350
13424
|
var controlsTimerRef = (0, import_react.useRef)(null);
|
|
13351
13425
|
var wrapperRef = (0, import_react.useRef)(null);
|
|
@@ -13487,10 +13561,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13487
13561
|
isVmap,
|
|
13488
13562
|
vmapUrl,
|
|
13489
13563
|
lowLatencyMode,
|
|
13490
|
-
driftToleranceMs
|
|
13491
|
-
adFloorMinCents,
|
|
13492
|
-
adFloorMaxCents,
|
|
13493
|
-
adFloorStepCents
|
|
13564
|
+
driftToleranceMs
|
|
13494
13565
|
]);
|
|
13495
13566
|
(0, import_react.useEffect)(function() {
|
|
13496
13567
|
if (typeof window === "undefined") return;
|
|
@@ -13541,16 +13612,8 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13541
13612
|
if (minRemainingMsToRequestAd !== void 0) cfg.minRemainingMsToRequestAd = minRemainingMsToRequestAd;
|
|
13542
13613
|
if (maxNoFillsPerBreak !== void 0) cfg.maxNoFillsPerBreak = maxNoFillsPerBreak;
|
|
13543
13614
|
if (maxAdBreakExtensionMs !== void 0) cfg.maxAdBreakExtensionMs = maxAdBreakExtensionMs;
|
|
13544
|
-
if (adFloorLadderEnabled !== void 0) cfg.adFloorLadderEnabled = adFloorLadderEnabled;
|
|
13545
|
-
if (adFloorLadder !== void 0) cfg.adFloorLadder = adFloorLadder;
|
|
13546
|
-
if (adFloorMinCents !== void 0) cfg.adFloorMinCents = adFloorMinCents;
|
|
13547
|
-
if (adFloorMaxCents !== void 0) cfg.adFloorMaxCents = adFloorMaxCents;
|
|
13548
|
-
if (adFloorStepCents !== void 0) cfg.adFloorStepCents = adFloorStepCents;
|
|
13549
|
-
if (enableEdgePodRequest !== void 0) cfg.enableEdgePodRequest = enableEdgePodRequest;
|
|
13550
|
-
if (edgePodUrl !== void 0) cfg.edgePodUrl = edgePodUrl;
|
|
13551
13615
|
var player = new StormcloudVideoPlayer(cfg);
|
|
13552
13616
|
playerRef.current = player;
|
|
13553
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13554
13617
|
player.load().then(function() {
|
|
13555
13618
|
var showNative = player.shouldShowNativeControls();
|
|
13556
13619
|
setShouldShowNativeControls(showNative);
|
|
@@ -13588,33 +13651,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13588
13651
|
autoplay,
|
|
13589
13652
|
muted
|
|
13590
13653
|
]);
|
|
13591
|
-
(0, import_react.useEffect)(function() {
|
|
13592
|
-
if (!playerRef.current || adFloorLadder === void 0) return;
|
|
13593
|
-
if (appliedFloorLadderKeyRef.current === adFloorLadderKey) return;
|
|
13594
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13595
|
-
playerRef.current.setAdFloorLadder(adFloorLadder);
|
|
13596
|
-
}, [
|
|
13597
|
-
adFloorLadderKey
|
|
13598
|
-
]);
|
|
13599
|
-
(0, import_react.useEffect)(function() {
|
|
13600
|
-
if (!playerRef.current) return;
|
|
13601
|
-
var enabled = adFloorLadderEnabled === true;
|
|
13602
|
-
if (playerRef.current.isAdFloorLadderEnabled() === enabled) return;
|
|
13603
|
-
playerRef.current.setAdFloorLadderEnabled(enabled);
|
|
13604
|
-
}, [
|
|
13605
|
-
adFloorLadderEnabled
|
|
13606
|
-
]);
|
|
13607
|
-
(0, import_react.useEffect)(function() {
|
|
13608
|
-
if (!playerRef.current) return;
|
|
13609
|
-
playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
|
|
13610
|
-
enableEdgePodRequest: enableEdgePodRequest
|
|
13611
|
-
} : {}, edgePodUrl !== void 0 ? {
|
|
13612
|
-
edgePodUrl: edgePodUrl
|
|
13613
|
-
} : {}));
|
|
13614
|
-
}, [
|
|
13615
|
-
enableEdgePodRequest,
|
|
13616
|
-
edgePodUrl
|
|
13617
|
-
]);
|
|
13618
13654
|
(0, import_react.useEffect)(function() {
|
|
13619
13655
|
if (!playerRef.current) return;
|
|
13620
13656
|
var checkAdStatus = function checkAdStatus() {
|
|
@@ -14604,7 +14640,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
14604
14640
|
]
|
|
14605
14641
|
});
|
|
14606
14642
|
}, function(prevProps, nextProps) {
|
|
14607
|
-
var _prevProps_adFloorLadder, _nextProps_adFloorLadder;
|
|
14608
14643
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14609
14644
|
try {
|
|
14610
14645
|
for(var _iterator = CRITICAL_PROPS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
@@ -14691,12 +14726,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
14691
14726
|
}
|
|
14692
14727
|
}
|
|
14693
14728
|
}
|
|
14694
|
-
if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
|
|
14695
|
-
return false;
|
|
14696
|
-
}
|
|
14697
|
-
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)) {
|
|
14698
|
-
return false;
|
|
14699
|
-
}
|
|
14700
14729
|
return true;
|
|
14701
14730
|
});
|
|
14702
14731
|
// Annotate the CommonJS export names for ESM import in node:
|