stormcloud-video-player 0.8.70 → 0.8.71
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/StormcloudPlayer.cjs +33 -2
- package/lib/StormcloudPlayer.cjs.map +1 -1
- package/lib/index.cjs +47 -9
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +6 -1
- package/lib/index.js +47 -9
- package/lib/index.js.map +1 -1
- package/lib/player/EdgePodRequest.cjs +14 -2
- package/lib/player/EdgePodRequest.cjs.map +1 -1
- package/lib/player/EdgePodRequest.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +33 -2
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +6 -1
- package/lib/players/HlsPlayer.cjs +33 -2
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +33 -2
- package/lib/players/index.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +47 -9
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -258,7 +258,7 @@ declare class StormcloudVideoPlayer {
|
|
|
258
258
|
private readonly adBreak;
|
|
259
259
|
private readonly floorLadder;
|
|
260
260
|
private floorLadderEnabled;
|
|
261
|
-
private
|
|
261
|
+
private edgePodBaseUrl;
|
|
262
262
|
constructor(config: StormcloudVideoPlayerConfig);
|
|
263
263
|
private get debug();
|
|
264
264
|
private createAdPlayer;
|
|
@@ -266,6 +266,11 @@ declare class StormcloudVideoPlayer {
|
|
|
266
266
|
setAdFloorLadder(update: Partial<AdFloorLadderConfig>): FloorLadderValidationReport;
|
|
267
267
|
setAdFloorLadderEnabled(enabled: boolean): void;
|
|
268
268
|
isAdFloorLadderEnabled(): boolean;
|
|
269
|
+
setEdgePodRequest(update: {
|
|
270
|
+
enableEdgePodRequest?: boolean;
|
|
271
|
+
edgePodUrl?: string;
|
|
272
|
+
}): void;
|
|
273
|
+
getEdgePodUrl(): string | undefined;
|
|
269
274
|
private warnOnInvalidFloorLadder;
|
|
270
275
|
getAdFloorLadder(): AdFloorLadderConfig;
|
|
271
276
|
getAdFloorBounds(): FloorLadderBounds;
|
package/lib/index.js
CHANGED
|
@@ -9229,19 +9229,31 @@ var HlsEngine = /*#__PURE__*/ function() {
|
|
|
9229
9229
|
// src/player/EdgePodRequest.ts
|
|
9230
9230
|
var EDGE_POD_MAX_ADS = 10;
|
|
9231
9231
|
var EDGE_POD_EXCEEDS_BUDGET = "edge_pod_exceeds_budget";
|
|
9232
|
+
var LICENSE_KEY_PLACEHOLDER = /\{licenseKey\}|%7BlicenseKey%7D/gi;
|
|
9232
9233
|
function resolveEdgePodBaseUrl(config) {
|
|
9233
|
-
var _config_edgePodUrl;
|
|
9234
|
+
var _config_edgePodUrl, _config_licenseKey;
|
|
9234
9235
|
if (config.enableEdgePodRequest !== true) return void 0;
|
|
9235
9236
|
var raw = (_config_edgePodUrl = config.edgePodUrl) === null || _config_edgePodUrl === void 0 ? void 0 : _config_edgePodUrl.trim();
|
|
9236
9237
|
if (!raw) {
|
|
9237
9238
|
console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but edgePodUrl is missing; using GAM only");
|
|
9238
9239
|
return void 0;
|
|
9239
9240
|
}
|
|
9241
|
+
var licenseKey = (_config_licenseKey = config.licenseKey) === null || _config_licenseKey === void 0 ? void 0 : _config_licenseKey.trim();
|
|
9242
|
+
if (!licenseKey) {
|
|
9243
|
+
console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but licenseKey is missing; using GAM only");
|
|
9244
|
+
return void 0;
|
|
9245
|
+
}
|
|
9246
|
+
var encodedKey = encodeURIComponent(licenseKey);
|
|
9240
9247
|
try {
|
|
9241
|
-
var
|
|
9248
|
+
var hasPlaceholder = raw.search(LICENSE_KEY_PLACEHOLDER) !== -1;
|
|
9249
|
+
var url = new URL(hasPlaceholder ? raw.replace(LICENSE_KEY_PLACEHOLDER, encodedKey) : raw);
|
|
9242
9250
|
if (url.protocol !== "https:" && url.protocol !== "http:") {
|
|
9243
9251
|
throw new Error("unsupported protocol ".concat(url.protocol));
|
|
9244
9252
|
}
|
|
9253
|
+
if (!hasPlaceholder) {
|
|
9254
|
+
var path = url.pathname.replace(/\/+$/, "");
|
|
9255
|
+
url.pathname = /\/[^/]+\/pod$/.test(path) ? path.replace(/\/[^/]+\/pod$/, "/".concat(encodedKey, "/pod")) : "".concat(path, "/").concat(encodedKey, "/pod");
|
|
9256
|
+
}
|
|
9245
9257
|
return url.toString();
|
|
9246
9258
|
} catch (unused) {
|
|
9247
9259
|
console.warn("[AdBreak][EDGE] edgePodUrl is not a valid http(s) URL; using GAM only");
|
|
@@ -11721,6 +11733,25 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
11721
11733
|
return this.floorLadderEnabled;
|
|
11722
11734
|
}
|
|
11723
11735
|
},
|
|
11736
|
+
{
|
|
11737
|
+
key: "setEdgePodRequest",
|
|
11738
|
+
value: function setEdgePodRequest(update) {
|
|
11739
|
+
if (update.enableEdgePodRequest === this.config.enableEdgePodRequest && update.edgePodUrl === this.config.edgePodUrl) {
|
|
11740
|
+
return;
|
|
11741
|
+
}
|
|
11742
|
+
if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
|
|
11743
|
+
else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
|
|
11744
|
+
if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
|
|
11745
|
+
else this.config.edgePodUrl = update.edgePodUrl;
|
|
11746
|
+
this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
|
|
11747
|
+
}
|
|
11748
|
+
},
|
|
11749
|
+
{
|
|
11750
|
+
key: "getEdgePodUrl",
|
|
11751
|
+
value: function getEdgePodUrl() {
|
|
11752
|
+
return this.edgePodBaseUrl;
|
|
11753
|
+
}
|
|
11754
|
+
},
|
|
11724
11755
|
{
|
|
11725
11756
|
key: "warnOnInvalidFloorLadder",
|
|
11726
11757
|
value: function warnOnInvalidFloorLadder(report) {
|
|
@@ -12559,9 +12590,7 @@ var CRITICAL_PROPS = [
|
|
|
12559
12590
|
"ctvAdRequest",
|
|
12560
12591
|
"adFloorMinCents",
|
|
12561
12592
|
"adFloorMaxCents",
|
|
12562
|
-
"adFloorStepCents"
|
|
12563
|
-
"enableEdgePodRequest",
|
|
12564
|
-
"edgePodUrl"
|
|
12593
|
+
"adFloorStepCents"
|
|
12565
12594
|
];
|
|
12566
12595
|
var CONTROLS_HIDE_DELAY = 3e3;
|
|
12567
12596
|
var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
|
|
@@ -12760,9 +12789,7 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
12760
12789
|
vastMode,
|
|
12761
12790
|
adFloorMinCents,
|
|
12762
12791
|
adFloorMaxCents,
|
|
12763
|
-
adFloorStepCents
|
|
12764
|
-
enableEdgePodRequest,
|
|
12765
|
-
edgePodUrl
|
|
12792
|
+
adFloorStepCents
|
|
12766
12793
|
]);
|
|
12767
12794
|
useEffect(function() {
|
|
12768
12795
|
if (typeof window === "undefined") return;
|
|
@@ -12875,6 +12902,17 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
12875
12902
|
}, [
|
|
12876
12903
|
adFloorLadderEnabled
|
|
12877
12904
|
]);
|
|
12905
|
+
useEffect(function() {
|
|
12906
|
+
if (!playerRef.current) return;
|
|
12907
|
+
playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
|
|
12908
|
+
enableEdgePodRequest: enableEdgePodRequest
|
|
12909
|
+
} : {}, edgePodUrl !== void 0 ? {
|
|
12910
|
+
edgePodUrl: edgePodUrl
|
|
12911
|
+
} : {}));
|
|
12912
|
+
}, [
|
|
12913
|
+
enableEdgePodRequest,
|
|
12914
|
+
edgePodUrl
|
|
12915
|
+
]);
|
|
12878
12916
|
useEffect(function() {
|
|
12879
12917
|
if (!playerRef.current) return;
|
|
12880
12918
|
var checkAdStatus = function checkAdStatus() {
|
|
@@ -13951,7 +13989,7 @@ var StormcloudVideoPlayerComponent = React.memo(function(props) {
|
|
|
13951
13989
|
}
|
|
13952
13990
|
}
|
|
13953
13991
|
}
|
|
13954
|
-
if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled) {
|
|
13992
|
+
if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
|
|
13955
13993
|
return false;
|
|
13956
13994
|
}
|
|
13957
13995
|
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)) {
|