stormcloud-video-player 0.8.75 → 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/Player.d.cts +1 -1
- package/lib/StormcloudPlayer.cjs +163 -78
- package/lib/StormcloudPlayer.cjs.map +1 -1
- package/lib/index.cjs +174 -133
- 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 +168 -131
- 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 +17 -3
- 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 +163 -78
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +3 -9
- package/lib/players/HlsPlayer.cjs +163 -78
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +163 -78
- 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 +167 -139
- 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/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 {
|
|
@@ -1684,21 +1684,19 @@ function fetchConsentSignals() {
|
|
|
1684
1684
|
});
|
|
1685
1685
|
}
|
|
1686
1686
|
// src/player/FloorLadder.ts
|
|
1687
|
-
var
|
|
1687
|
+
var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
|
|
1688
1688
|
enabled: false,
|
|
1689
|
-
targetingKey: "
|
|
1690
|
-
minFloorCents:
|
|
1691
|
-
maxFloorCents:
|
|
1692
|
-
stepCents:
|
|
1693
|
-
selectedFloorCents:
|
|
1694
|
-
fallbackFloorCents:
|
|
1689
|
+
targetingKey: "",
|
|
1690
|
+
minFloorCents: 0,
|
|
1691
|
+
maxFloorCents: 0,
|
|
1692
|
+
stepCents: 0,
|
|
1693
|
+
selectedFloorCents: 0,
|
|
1694
|
+
fallbackFloorCents: 0,
|
|
1695
1695
|
readyFloorCents: [],
|
|
1696
1696
|
mode: "fixed",
|
|
1697
|
-
allowedPositions: [
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
|
|
1701
|
-
configurationVersion: "2026-09-29.1"
|
|
1697
|
+
allowedPositions: [],
|
|
1698
|
+
targetAdUnitPath: "",
|
|
1699
|
+
configurationVersion: ""
|
|
1702
1700
|
});
|
|
1703
1701
|
var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
|
|
1704
1702
|
minCents: 25,
|
|
@@ -1717,15 +1715,6 @@ function generateFloorLevels(minCents, maxCents, stepCents) {
|
|
|
1717
1715
|
}
|
|
1718
1716
|
return levels;
|
|
1719
1717
|
}
|
|
1720
|
-
function resolveFloorLadderBounds() {
|
|
1721
|
-
var overrides = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
1722
|
-
var _overrides_minCents, _overrides_maxCents, _overrides_stepCents;
|
|
1723
|
-
return {
|
|
1724
|
-
minCents: (_overrides_minCents = overrides.minCents) !== null && _overrides_minCents !== void 0 ? _overrides_minCents : DEFAULT_FLOOR_LADDER_BOUNDS.minCents,
|
|
1725
|
-
maxCents: (_overrides_maxCents = overrides.maxCents) !== null && _overrides_maxCents !== void 0 ? _overrides_maxCents : DEFAULT_FLOOR_LADDER_BOUNDS.maxCents,
|
|
1726
|
-
stepCents: (_overrides_stepCents = overrides.stepCents) !== null && _overrides_stepCents !== void 0 ? _overrides_stepCents : DEFAULT_FLOOR_LADDER_BOUNDS.stepCents
|
|
1727
|
-
};
|
|
1728
|
-
}
|
|
1729
1718
|
function validateFloorCents(value, config) {
|
|
1730
1719
|
var bounds = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
1731
1720
|
if (!isInteger(value)) return {
|
|
@@ -1857,7 +1846,6 @@ function resolveOpportunityFloor(config, context) {
|
|
|
1857
1846
|
if (!config.enabled) return skipped("disabled");
|
|
1858
1847
|
var positions = Array.isArray(config.allowedPositions) ? config.allowedPositions : [];
|
|
1859
1848
|
if (positions.indexOf(context.position) === -1) return skipped("position_not_allowed");
|
|
1860
|
-
if (context.isCtv) return skipped("ctv_excluded");
|
|
1861
1849
|
if (!config.targetingKey) return skipped("missing_targeting_key");
|
|
1862
1850
|
if (!config.targetAdUnitPath) return skipped("missing_target_ad_unit");
|
|
1863
1851
|
var result;
|
|
@@ -2011,15 +1999,80 @@ function mergeDefined(target, update) {
|
|
|
2011
1999
|
}
|
|
2012
2000
|
return copyConfig(next);
|
|
2013
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
|
+
}
|
|
2014
2041
|
var FloorLadderController = /*#__PURE__*/ function() {
|
|
2015
|
-
function FloorLadderController(
|
|
2016
|
-
var selector = arguments.length >
|
|
2042
|
+
function FloorLadderController() {
|
|
2043
|
+
var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : fixedFloorSelector;
|
|
2017
2044
|
_class_call_check(this, FloorLadderController);
|
|
2018
|
-
this.
|
|
2019
|
-
this.
|
|
2045
|
+
this.bounds = DEFAULT_FLOOR_LADDER_BOUNDS;
|
|
2046
|
+
this.config = copyConfig(DISABLED_FLOOR_LADDER_CONFIG);
|
|
2020
2047
|
this.selector = selector;
|
|
2021
2048
|
}
|
|
2022
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
|
+
},
|
|
2023
2076
|
{
|
|
2024
2077
|
key: "get",
|
|
2025
2078
|
value: function get() {
|
|
@@ -2032,13 +2085,6 @@ var FloorLadderController = /*#__PURE__*/ function() {
|
|
|
2032
2085
|
return _object_spread({}, this.bounds);
|
|
2033
2086
|
}
|
|
2034
2087
|
},
|
|
2035
|
-
{
|
|
2036
|
-
key: "update",
|
|
2037
|
-
value: function update(update) {
|
|
2038
|
-
this.config = mergeDefined(this.config, update);
|
|
2039
|
-
return validateFloorLadderConfig(this.config, this.bounds);
|
|
2040
|
-
}
|
|
2041
|
-
},
|
|
2042
2088
|
{
|
|
2043
2089
|
key: "validate",
|
|
2044
2090
|
value: function validate() {
|
|
@@ -6271,6 +6317,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
|
|
|
6271
6317
|
}
|
|
6272
6318
|
return "fingerprint:".concat(JSON.stringify(clientInfo));
|
|
6273
6319
|
}
|
|
6320
|
+
function getCachedBrowserId() {
|
|
6321
|
+
return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
|
|
6322
|
+
}
|
|
6274
6323
|
function getBrowserID(clientInfo) {
|
|
6275
6324
|
return _async_to_generator(function() {
|
|
6276
6325
|
return _ts_generator(this, function(_state) {
|
|
@@ -7940,7 +7989,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
7940
7989
|
key: "fetchAdConfiguration",
|
|
7941
7990
|
value: function fetchAdConfiguration() {
|
|
7942
7991
|
return _async_to_generator(function() {
|
|
7943
|
-
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;
|
|
7944
7993
|
return _ts_generator(this, function(_state) {
|
|
7945
7994
|
switch(_state.label){
|
|
7946
7995
|
case 0:
|
|
@@ -8000,7 +8049,21 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8000
8049
|
];
|
|
8001
8050
|
case 4:
|
|
8002
8051
|
data = _state.sent();
|
|
8003
|
-
|
|
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;
|
|
8004
8067
|
if (imaPayload) {
|
|
8005
8068
|
decodedPayload = imaPayload;
|
|
8006
8069
|
try {
|
|
@@ -8018,7 +8081,7 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
8018
8081
|
console.warn("[StormcloudVideoPlayer] No VAST tag URL found in /ads/web response");
|
|
8019
8082
|
}
|
|
8020
8083
|
}
|
|
8021
|
-
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;
|
|
8022
8085
|
if (numberAds != null && numberAds > 0) {
|
|
8023
8086
|
this.apiNumberAds = numberAds;
|
|
8024
8087
|
if (this.debug) {
|
|
@@ -9852,7 +9915,23 @@ function resolveEdgePodBaseUrl(config) {
|
|
|
9852
9915
|
return void 0;
|
|
9853
9916
|
}
|
|
9854
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
|
+
}
|
|
9855
9933
|
function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
9934
|
+
var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
9856
9935
|
var url = new URL(baseUrl);
|
|
9857
9936
|
var maxMs = Math.max(0, Math.floor(remainingMs));
|
|
9858
9937
|
var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
|
|
@@ -9860,6 +9939,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
|
|
|
9860
9939
|
url.searchParams.set("pmad", String(maxAds));
|
|
9861
9940
|
url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
|
|
9862
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);
|
|
9863
9952
|
return url.toString();
|
|
9864
9953
|
}
|
|
9865
9954
|
function classifyEdgeVastResponse(result) {
|
|
@@ -10747,7 +10836,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
10747
10836
|
return void 0;
|
|
10748
10837
|
}
|
|
10749
10838
|
try {
|
|
10750
|
-
|
|
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
|
+
}));
|
|
10751
10845
|
} catch (unused) {
|
|
10752
10846
|
this.markEdgeExhausted("invalid_edge_url");
|
|
10753
10847
|
return void 0;
|
|
@@ -12257,14 +12351,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12257
12351
|
this.config = _object_spread({}, browserOverrides, config);
|
|
12258
12352
|
this.video = config.videoElement;
|
|
12259
12353
|
logBrowserInfo(config.debugAdTiming);
|
|
12260
|
-
|
|
12261
|
-
if (this.config.adFloorMinCents != null) floorBounds.minCents = this.config.adFloorMinCents;
|
|
12262
|
-
if (this.config.adFloorMaxCents != null) floorBounds.maxCents = this.config.adFloorMaxCents;
|
|
12263
|
-
if (this.config.adFloorStepCents != null) floorBounds.stepCents = this.config.adFloorStepCents;
|
|
12264
|
-
this.floorLadder = new FloorLadderController(this.config.adFloorLadder, floorBounds);
|
|
12265
|
-
this.floorLadderEnabled = this.config.adFloorLadderEnabled === true;
|
|
12266
|
-
this.warnOnInvalidFloorLadder(this.floorLadder.validate());
|
|
12267
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12354
|
+
this.floorLadder = new FloorLadderController();
|
|
12268
12355
|
this.adPlayer = this.createAdPlayer(false);
|
|
12269
12356
|
this.palNonce = createPalNonceManager();
|
|
12270
12357
|
this.cueManager = new Scte35CueManager(!!this.config.debugAdTiming, {
|
|
@@ -12371,9 +12458,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12371
12458
|
return _this.edgePodBaseUrl;
|
|
12372
12459
|
},
|
|
12373
12460
|
getFloorSnapshot: function getFloorSnapshot(position) {
|
|
12374
|
-
return _this.
|
|
12375
|
-
position: position
|
|
12376
|
-
isCtv: _this.isCtvEnvironment()
|
|
12461
|
+
return _this.floorLadder.isEnabled() ? _this.floorLadder.snapshotFor({
|
|
12462
|
+
position: position
|
|
12377
12463
|
}) : void 0;
|
|
12378
12464
|
},
|
|
12379
12465
|
onAdClick: function onAdClick() {
|
|
@@ -12410,45 +12496,42 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12410
12496
|
}
|
|
12411
12497
|
},
|
|
12412
12498
|
{
|
|
12413
|
-
key: "
|
|
12414
|
-
value: function
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12418
|
-
|
|
12419
|
-
|
|
12420
|
-
|
|
12421
|
-
key: "setAdFloorLadder",
|
|
12422
|
-
value: function setAdFloorLadder(update) {
|
|
12423
|
-
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);
|
|
12424
12507
|
this.warnOnInvalidFloorLadder(report);
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12432
|
-
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
|
+
}
|
|
12433
12515
|
}
|
|
12434
12516
|
},
|
|
12435
12517
|
{
|
|
12436
12518
|
key: "isAdFloorLadderEnabled",
|
|
12437
12519
|
value: function isAdFloorLadderEnabled() {
|
|
12438
|
-
return this.
|
|
12520
|
+
return this.floorLadder.isEnabled();
|
|
12439
12521
|
}
|
|
12440
12522
|
},
|
|
12441
12523
|
{
|
|
12442
|
-
key: "
|
|
12443
|
-
value: function
|
|
12444
|
-
|
|
12445
|
-
|
|
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)");
|
|
12446
12534
|
}
|
|
12447
|
-
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
12448
|
-
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
12449
|
-
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
12450
|
-
else this.config.edgePodUrl = update.edgePodUrl;
|
|
12451
|
-
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
12452
12535
|
}
|
|
12453
12536
|
},
|
|
12454
12537
|
{
|
|
@@ -12461,7 +12544,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12461
12544
|
key: "warnOnInvalidFloorLadder",
|
|
12462
12545
|
value: function warnOnInvalidFloorLadder(report) {
|
|
12463
12546
|
var config = this.floorLadder.get();
|
|
12464
|
-
if (report.ok || !
|
|
12547
|
+
if (report.ok || !config.enabled) return;
|
|
12465
12548
|
console.warn("[AdBreak][FLOOR] configuration has issues; invalid floors will not be sent", {
|
|
12466
12549
|
errors: report.errors,
|
|
12467
12550
|
configurationVersion: config.configurationVersion,
|
|
@@ -12536,6 +12619,8 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
12536
12619
|
4
|
|
12537
12620
|
];
|
|
12538
12621
|
case 4:
|
|
12622
|
+
this.applyFloorLadderFromApi();
|
|
12623
|
+
this.applyEdgePodFromApi();
|
|
12539
12624
|
palDescriptionUrl = this.config.ctvAdRequest ? this.adConfig.getPalDescriptionUrl() : void 0;
|
|
12540
12625
|
fetchConsentSignals().catch(function() {
|
|
12541
12626
|
return {};
|
|
@@ -13289,15 +13374,12 @@ var CRITICAL_PROPS = [
|
|
|
13289
13374
|
"vmapUrl",
|
|
13290
13375
|
"lowLatencyMode",
|
|
13291
13376
|
"driftToleranceMs",
|
|
13292
|
-
"ctvAdRequest"
|
|
13293
|
-
"adFloorMinCents",
|
|
13294
|
-
"adFloorMaxCents",
|
|
13295
|
-
"adFloorStepCents"
|
|
13377
|
+
"ctvAdRequest"
|
|
13296
13378
|
];
|
|
13297
13379
|
var CONTROLS_HIDE_DELAY = 3e3;
|
|
13298
13380
|
var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
|
|
13299
13381
|
var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
13300
|
-
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, [
|
|
13301
13383
|
"src",
|
|
13302
13384
|
"autoplay",
|
|
13303
13385
|
"muted",
|
|
@@ -13334,19 +13416,10 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13334
13416
|
"minRemainingMsToStartAd",
|
|
13335
13417
|
"minRemainingMsToRequestAd",
|
|
13336
13418
|
"maxNoFillsPerBreak",
|
|
13337
|
-
"maxAdBreakExtensionMs"
|
|
13338
|
-
"adFloorLadderEnabled",
|
|
13339
|
-
"adFloorLadder",
|
|
13340
|
-
"adFloorMinCents",
|
|
13341
|
-
"adFloorMaxCents",
|
|
13342
|
-
"adFloorStepCents",
|
|
13343
|
-
"enableEdgePodRequest",
|
|
13344
|
-
"edgePodUrl"
|
|
13419
|
+
"maxAdBreakExtensionMs"
|
|
13345
13420
|
]);
|
|
13346
|
-
var adFloorLadderKey = JSON.stringify(adFloorLadder !== null && adFloorLadder !== void 0 ? adFloorLadder : null);
|
|
13347
13421
|
var videoRef = (0, import_react.useRef)(null);
|
|
13348
13422
|
var playerRef = (0, import_react.useRef)(null);
|
|
13349
|
-
var appliedFloorLadderKeyRef = (0, import_react.useRef)(null);
|
|
13350
13423
|
var bufferingTimeoutRef = (0, import_react.useRef)(null);
|
|
13351
13424
|
var controlsTimerRef = (0, import_react.useRef)(null);
|
|
13352
13425
|
var wrapperRef = (0, import_react.useRef)(null);
|
|
@@ -13488,10 +13561,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13488
13561
|
isVmap,
|
|
13489
13562
|
vmapUrl,
|
|
13490
13563
|
lowLatencyMode,
|
|
13491
|
-
driftToleranceMs
|
|
13492
|
-
adFloorMinCents,
|
|
13493
|
-
adFloorMaxCents,
|
|
13494
|
-
adFloorStepCents
|
|
13564
|
+
driftToleranceMs
|
|
13495
13565
|
]);
|
|
13496
13566
|
(0, import_react.useEffect)(function() {
|
|
13497
13567
|
if (typeof window === "undefined") return;
|
|
@@ -13542,16 +13612,8 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13542
13612
|
if (minRemainingMsToRequestAd !== void 0) cfg.minRemainingMsToRequestAd = minRemainingMsToRequestAd;
|
|
13543
13613
|
if (maxNoFillsPerBreak !== void 0) cfg.maxNoFillsPerBreak = maxNoFillsPerBreak;
|
|
13544
13614
|
if (maxAdBreakExtensionMs !== void 0) cfg.maxAdBreakExtensionMs = maxAdBreakExtensionMs;
|
|
13545
|
-
if (adFloorLadderEnabled !== void 0) cfg.adFloorLadderEnabled = adFloorLadderEnabled;
|
|
13546
|
-
if (adFloorLadder !== void 0) cfg.adFloorLadder = adFloorLadder;
|
|
13547
|
-
if (adFloorMinCents !== void 0) cfg.adFloorMinCents = adFloorMinCents;
|
|
13548
|
-
if (adFloorMaxCents !== void 0) cfg.adFloorMaxCents = adFloorMaxCents;
|
|
13549
|
-
if (adFloorStepCents !== void 0) cfg.adFloorStepCents = adFloorStepCents;
|
|
13550
|
-
if (enableEdgePodRequest !== void 0) cfg.enableEdgePodRequest = enableEdgePodRequest;
|
|
13551
|
-
if (edgePodUrl !== void 0) cfg.edgePodUrl = edgePodUrl;
|
|
13552
13615
|
var player = new StormcloudVideoPlayer(cfg);
|
|
13553
13616
|
playerRef.current = player;
|
|
13554
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13555
13617
|
player.load().then(function() {
|
|
13556
13618
|
var showNative = player.shouldShowNativeControls();
|
|
13557
13619
|
setShouldShowNativeControls(showNative);
|
|
@@ -13589,33 +13651,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
13589
13651
|
autoplay,
|
|
13590
13652
|
muted
|
|
13591
13653
|
]);
|
|
13592
|
-
(0, import_react.useEffect)(function() {
|
|
13593
|
-
if (!playerRef.current || adFloorLadder === void 0) return;
|
|
13594
|
-
if (appliedFloorLadderKeyRef.current === adFloorLadderKey) return;
|
|
13595
|
-
appliedFloorLadderKeyRef.current = adFloorLadderKey;
|
|
13596
|
-
playerRef.current.setAdFloorLadder(adFloorLadder);
|
|
13597
|
-
}, [
|
|
13598
|
-
adFloorLadderKey
|
|
13599
|
-
]);
|
|
13600
|
-
(0, import_react.useEffect)(function() {
|
|
13601
|
-
if (!playerRef.current) return;
|
|
13602
|
-
var enabled = adFloorLadderEnabled === true;
|
|
13603
|
-
if (playerRef.current.isAdFloorLadderEnabled() === enabled) return;
|
|
13604
|
-
playerRef.current.setAdFloorLadderEnabled(enabled);
|
|
13605
|
-
}, [
|
|
13606
|
-
adFloorLadderEnabled
|
|
13607
|
-
]);
|
|
13608
|
-
(0, import_react.useEffect)(function() {
|
|
13609
|
-
if (!playerRef.current) return;
|
|
13610
|
-
playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
|
|
13611
|
-
enableEdgePodRequest: enableEdgePodRequest
|
|
13612
|
-
} : {}, edgePodUrl !== void 0 ? {
|
|
13613
|
-
edgePodUrl: edgePodUrl
|
|
13614
|
-
} : {}));
|
|
13615
|
-
}, [
|
|
13616
|
-
enableEdgePodRequest,
|
|
13617
|
-
edgePodUrl
|
|
13618
|
-
]);
|
|
13619
13654
|
(0, import_react.useEffect)(function() {
|
|
13620
13655
|
if (!playerRef.current) return;
|
|
13621
13656
|
var checkAdStatus = function checkAdStatus() {
|
|
@@ -14605,7 +14640,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
14605
14640
|
]
|
|
14606
14641
|
});
|
|
14607
14642
|
}, function(prevProps, nextProps) {
|
|
14608
|
-
var _prevProps_adFloorLadder, _nextProps_adFloorLadder;
|
|
14609
14643
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
14610
14644
|
try {
|
|
14611
14645
|
for(var _iterator = CRITICAL_PROPS[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
@@ -14692,12 +14726,6 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
14692
14726
|
}
|
|
14693
14727
|
}
|
|
14694
14728
|
}
|
|
14695
|
-
if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
|
|
14696
|
-
return false;
|
|
14697
|
-
}
|
|
14698
|
-
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)) {
|
|
14699
|
-
return false;
|
|
14700
|
-
}
|
|
14701
14729
|
return true;
|
|
14702
14730
|
});
|
|
14703
14731
|
// Annotate the CommonJS export names for ESM import in node:
|