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/lib/index.cjs CHANGED
@@ -9434,19 +9434,31 @@ var HlsEngine = /*#__PURE__*/ function() {
9434
9434
  // src/player/EdgePodRequest.ts
9435
9435
  var EDGE_POD_MAX_ADS = 10;
9436
9436
  var EDGE_POD_EXCEEDS_BUDGET = "edge_pod_exceeds_budget";
9437
+ var LICENSE_KEY_PLACEHOLDER = /\{licenseKey\}|%7BlicenseKey%7D/gi;
9437
9438
  function resolveEdgePodBaseUrl(config) {
9438
- var _config_edgePodUrl;
9439
+ var _config_edgePodUrl, _config_licenseKey;
9439
9440
  if (config.enableEdgePodRequest !== true) return void 0;
9440
9441
  var raw = (_config_edgePodUrl = config.edgePodUrl) === null || _config_edgePodUrl === void 0 ? void 0 : _config_edgePodUrl.trim();
9441
9442
  if (!raw) {
9442
9443
  console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but edgePodUrl is missing; using GAM only");
9443
9444
  return void 0;
9444
9445
  }
9446
+ var licenseKey = (_config_licenseKey = config.licenseKey) === null || _config_licenseKey === void 0 ? void 0 : _config_licenseKey.trim();
9447
+ if (!licenseKey) {
9448
+ console.warn("[AdBreak][EDGE] enableEdgePodRequest is true but licenseKey is missing; using GAM only");
9449
+ return void 0;
9450
+ }
9451
+ var encodedKey = encodeURIComponent(licenseKey);
9445
9452
  try {
9446
- var url = new URL(raw);
9453
+ var hasPlaceholder = raw.search(LICENSE_KEY_PLACEHOLDER) !== -1;
9454
+ var url = new URL(hasPlaceholder ? raw.replace(LICENSE_KEY_PLACEHOLDER, encodedKey) : raw);
9447
9455
  if (url.protocol !== "https:" && url.protocol !== "http:") {
9448
9456
  throw new Error("unsupported protocol ".concat(url.protocol));
9449
9457
  }
9458
+ if (!hasPlaceholder) {
9459
+ var path = url.pathname.replace(/\/+$/, "");
9460
+ url.pathname = /\/[^/]+\/pod$/.test(path) ? path.replace(/\/[^/]+\/pod$/, "/".concat(encodedKey, "/pod")) : "".concat(path, "/").concat(encodedKey, "/pod");
9461
+ }
9450
9462
  return url.toString();
9451
9463
  } catch (unused) {
9452
9464
  console.warn("[AdBreak][EDGE] edgePodUrl is not a valid http(s) URL; using GAM only");
@@ -11924,6 +11936,25 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
11924
11936
  return this.floorLadderEnabled;
11925
11937
  }
11926
11938
  },
11939
+ {
11940
+ key: "setEdgePodRequest",
11941
+ value: function setEdgePodRequest(update) {
11942
+ if (update.enableEdgePodRequest === this.config.enableEdgePodRequest && update.edgePodUrl === this.config.edgePodUrl) {
11943
+ return;
11944
+ }
11945
+ if (update.enableEdgePodRequest === void 0) delete this.config.enableEdgePodRequest;
11946
+ else this.config.enableEdgePodRequest = update.enableEdgePodRequest;
11947
+ if (update.edgePodUrl === void 0) delete this.config.edgePodUrl;
11948
+ else this.config.edgePodUrl = update.edgePodUrl;
11949
+ this.edgePodBaseUrl = resolveEdgePodBaseUrl(this.config);
11950
+ }
11951
+ },
11952
+ {
11953
+ key: "getEdgePodUrl",
11954
+ value: function getEdgePodUrl() {
11955
+ return this.edgePodBaseUrl;
11956
+ }
11957
+ },
11927
11958
  {
11928
11959
  key: "warnOnInvalidFloorLadder",
11929
11960
  value: function warnOnInvalidFloorLadder(report) {
@@ -12762,9 +12793,7 @@ var CRITICAL_PROPS = [
12762
12793
  "ctvAdRequest",
12763
12794
  "adFloorMinCents",
12764
12795
  "adFloorMaxCents",
12765
- "adFloorStepCents",
12766
- "enableEdgePodRequest",
12767
- "edgePodUrl"
12796
+ "adFloorStepCents"
12768
12797
  ];
12769
12798
  var CONTROLS_HIDE_DELAY = 3e3;
12770
12799
  var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
@@ -12963,9 +12992,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
12963
12992
  vastMode,
12964
12993
  adFloorMinCents,
12965
12994
  adFloorMaxCents,
12966
- adFloorStepCents,
12967
- enableEdgePodRequest,
12968
- edgePodUrl
12995
+ adFloorStepCents
12969
12996
  ]);
12970
12997
  (0, import_react.useEffect)(function() {
12971
12998
  if (typeof window === "undefined") return;
@@ -13078,6 +13105,17 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
13078
13105
  }, [
13079
13106
  adFloorLadderEnabled
13080
13107
  ]);
13108
+ (0, import_react.useEffect)(function() {
13109
+ if (!playerRef.current) return;
13110
+ playerRef.current.setEdgePodRequest(_object_spread({}, enableEdgePodRequest !== void 0 ? {
13111
+ enableEdgePodRequest: enableEdgePodRequest
13112
+ } : {}, edgePodUrl !== void 0 ? {
13113
+ edgePodUrl: edgePodUrl
13114
+ } : {}));
13115
+ }, [
13116
+ enableEdgePodRequest,
13117
+ edgePodUrl
13118
+ ]);
13081
13119
  (0, import_react.useEffect)(function() {
13082
13120
  if (!playerRef.current) return;
13083
13121
  var checkAdStatus = function checkAdStatus() {
@@ -14154,7 +14192,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
14154
14192
  }
14155
14193
  }
14156
14194
  }
14157
- if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled) {
14195
+ if (prevProps.adFloorLadderEnabled !== nextProps.adFloorLadderEnabled || prevProps.enableEdgePodRequest !== nextProps.enableEdgePodRequest || prevProps.edgePodUrl !== nextProps.edgePodUrl) {
14158
14196
  return false;
14159
14197
  }
14160
14198
  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)) {