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.
@@ -9211,19 +9211,31 @@ var HlsEngine = /*#__PURE__*/ function() {
9211
9211
  // src/player/EdgePodRequest.ts
9212
9212
  var EDGE_POD_MAX_ADS = 10;
9213
9213
  var EDGE_POD_EXCEEDS_BUDGET = "edge_pod_exceeds_budget";
9214
+ var LICENSE_KEY_PLACEHOLDER = /\{licenseKey\}|%7BlicenseKey%7D/gi;
9214
9215
  function resolveEdgePodBaseUrl(config) {
9215
- var _config_edgePodUrl;
9216
+ var _config_edgePodUrl, _config_licenseKey;
9216
9217
  if (config.enableEdgePodRequest !== true) return void 0;
9217
9218
  var raw = (_config_edgePodUrl = config.edgePodUrl) === null || _config_edgePodUrl === void 0 ? void 0 : _config_edgePodUrl.trim();
9218
9219
  if (!raw) {
9219
9220
  console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but edgePodUrl is missing; using GAM only");
9220
9221
  return void 0;
9221
9222
  }
9223
+ var licenseKey = (_config_licenseKey = config.licenseKey) === null || _config_licenseKey === void 0 ? void 0 : _config_licenseKey.trim();
9224
+ if (!licenseKey) {
9225
+ console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but licenseKey is missing; using GAM only");
9226
+ return void 0;
9227
+ }
9228
+ var encodedKey = encodeURIComponent(licenseKey);
9222
9229
  try {
9223
- var url = new URL(raw);
9230
+ var hasPlaceholder = raw.search(LICENSE_KEY_PLACEHOLDER) !== -1;
9231
+ var url = new URL(hasPlaceholder ? raw.replace(LICENSE_KEY_PLACEHOLDER, encodedKey) : raw);
9224
9232
  if (url.protocol !== "https:" && url.protocol !== "http:") {
9225
9233
  throw new Error("unsupported protocol ".concat(url.protocol));
9226
9234
  }
9235
+ if (!hasPlaceholder) {
9236
+ var path = url.pathname.replace(/\/+$/, "");
9237
+ url.pathname = /\/[^/]+\/pod$/.test(path) ? path.replace(/\/[^/]+\/pod$/, "/".concat(encodedKey, "/pod")) : "".concat(path, "/").concat(encodedKey, "/pod");
9238
+ }
9227
9239
  return url.toString();
9228
9240
  } catch (unused) {
9229
9241
  console.warn("[AdBreak][EDGE] edgePodUrl is not a valid http(s) URL; using GAM only");
@@ -11701,6 +11713,25 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
11701
11713
  return this.floorLadderEnabled;
11702
11714
  }
11703
11715
  },
11716
+ {
11717
+ key: "setEdgePodRequest",
11718
+ value: function setEdgePodRequest(update) {
11719
+ if (update.enableEdgePodRequest === this.config.enableEdgePodRequest && update.edgePodUrl === this.config.edgePodUrl) {
11720
+ return;
11721
+ }
11722
+ if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
11723
+ else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
11724
+ if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
11725
+ else this.config.edgePodUrl = update.edgePodUrl;
11726
+ this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
11727
+ }
11728
+ },
11729
+ {
11730
+ key: "getEdgePodUrl",
11731
+ value: function getEdgePodUrl() {
11732
+ return this.edgePodBaseUrl;
11733
+ }
11734
+ },
11704
11735
  {
11705
11736
  key: "warnOnInvalidFloorLadder",
11706
11737
  value: function warnOnInvalidFloorLadder(report) {
@@ -12539,9 +12570,7 @@ var CRITICAL_PROPS = [
12539
12570
  "ctvAdRequest",
12540
12571
  "adFloorMinCents",
12541
12572
  "adFloorMaxCents",
12542
- "adFloorStepCents",
12543
- "enableEdgePodRequest",
12544
- "edgePodUrl"
12573
+ "adFloorStepCents"
12545
12574
  ];
12546
12575
  var CONTROLS_HIDE_DELAY = 3e3;
12547
12576
  var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
@@ -12740,9 +12769,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
12740
12769
  vastMode,
12741
12770
  adFloorMinCents,
12742
12771
  adFloorMaxCents,
12743
- adFloorStepCents,
12744
- enableEdgePodRequest,
12745
- edgePodUrl
12772
+ adFloorStepCents
12746
12773
  ]);
12747
12774
  (0, import_react.useEffect)(function() {
12748
12775
  if (typeof window === "undefined") return;
@@ -12855,6 +12882,17 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
12855
12882
  }, [
12856
12883
  adFloorLadderEnabled
12857
12884
  ]);
12885
+ (0, import_react.useEffect)(function() {
12886
+ if (!playerRef.current) return;
12887
+ playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
12888
+ enableEdgePodRequest: enableEdgePodRequest
12889
+ } : {}, edgePodUrl !== void 0 ? {
12890
+ edgePodUrl: edgePodUrl
12891
+ } : {}));
12892
+ }, [
12893
+ enableEdgePodRequest,
12894
+ edgePodUrl
12895
+ ]);
12858
12896
  (0, import_react.useEffect)(function() {
12859
12897
  if (!playerRef.current) return;
12860
12898
  var checkAdStatus = function checkAdStatus() {
@@ -13931,7 +13969,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
13931
13969
  }
13932
13970
  }
13933
13971
  }
13934
- if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled) {
13972
+ if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
13935
13973
  return false;
13936
13974
  }
13937
13975
  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)) {