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.
Files changed (39) hide show
  1. package/dist/stormcloud-vp.min.js +1 -1
  2. package/lib/Player.cjs +10 -12
  3. package/lib/Player.cjs.map +1 -1
  4. package/lib/Player.d.cts +1 -1
  5. package/lib/StormcloudPlayer.cjs +163 -78
  6. package/lib/StormcloudPlayer.cjs.map +1 -1
  7. package/lib/index.cjs +174 -133
  8. package/lib/index.cjs.map +1 -1
  9. package/lib/index.d.cts +1 -1
  10. package/lib/index.d.ts +5 -19
  11. package/lib/index.js +168 -131
  12. package/lib/index.js.map +1 -1
  13. package/lib/player/AdBreakOrchestrator.cjs +45 -13
  14. package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
  15. package/lib/player/AdConfigManager.cjs +17 -3
  16. package/lib/player/AdConfigManager.cjs.map +1 -1
  17. package/lib/player/AdConfigManager.d.cts +3 -0
  18. package/lib/player/EdgePodRequest.cjs +31 -1
  19. package/lib/player/EdgePodRequest.cjs.map +1 -1
  20. package/lib/player/EdgePodRequest.d.cts +21 -3
  21. package/lib/player/FloorLadder.cjs +86 -27
  22. package/lib/player/FloorLadder.cjs.map +1 -1
  23. package/lib/player/FloorLadder.d.cts +8 -7
  24. package/lib/player/StormcloudVideoPlayer.cjs +163 -78
  25. package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
  26. package/lib/player/StormcloudVideoPlayer.d.cts +3 -9
  27. package/lib/players/HlsPlayer.cjs +163 -78
  28. package/lib/players/HlsPlayer.cjs.map +1 -1
  29. package/lib/players/index.cjs +163 -78
  30. package/lib/players/index.cjs.map +1 -1
  31. package/lib/props.cjs +10 -12
  32. package/lib/props.cjs.map +1 -1
  33. package/lib/types.d.cts +3 -7
  34. package/lib/ui/StormcloudVideoPlayer.cjs +167 -139
  35. package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
  36. package/lib/utils/tracking.cjs +7 -0
  37. package/lib/utils/tracking.cjs.map +1 -1
  38. package/lib/utils/tracking.d.cts +2 -1
  39. package/package.json +1 -1
@@ -1033,21 +1033,19 @@ function substituteScvpMacros(baseUrl, values) {
1033
1033
  };
1034
1034
  }
1035
1035
  // src/player/FloorLadder.ts
1036
- var DEFAULT_WEB_FLOOR_LADDER_CONFIG = Object.freeze({
1036
+ var DISABLED_FLOOR_LADDER_CONFIG = Object.freeze({
1037
1037
  enabled: false,
1038
- targetingKey: "airytv_web_floor",
1039
- minFloorCents: 25,
1040
- maxFloorCents: 300,
1041
- stepCents: 25,
1042
- selectedFloorCents: 25,
1043
- fallbackFloorCents: 25,
1038
+ targetingKey: "",
1039
+ minFloorCents: 0,
1040
+ maxFloorCents: 0,
1041
+ stepCents: 0,
1042
+ selectedFloorCents: 0,
1043
+ fallbackFloorCents: 0,
1044
1044
  readyFloorCents: [],
1045
1045
  mode: "fixed",
1046
- allowedPositions: [
1047
- "midroll"
1048
- ],
1049
- targetAdUnitPath: "/21821455290/airytvadx/airytv-web",
1050
- configurationVersion: "2026-09-29.1"
1046
+ allowedPositions: [],
1047
+ targetAdUnitPath: "",
1048
+ configurationVersion: ""
1051
1049
  });
1052
1050
  var DEFAULT_FLOOR_LADDER_BOUNDS = Object.freeze({
1053
1051
  minCents: 25,
@@ -1160,7 +1158,23 @@ function applyFloorToVastUrl(url, floor) {
1160
1158
  // src/player/EdgePodRequest.ts
1161
1159
  var EDGE_POD_MAX_ADS = 10;
1162
1160
  var EDGE_POD_EXCEEDS_BUDGET = "edge_pod_exceeds_budget";
1161
+ function resolveEdgePodRequestContext(config) {
1162
+ var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1163
+ return {
1164
+ width: extra.width,
1165
+ height: extra.height,
1166
+ playerId: extra.playerId,
1167
+ contentNetwork: config.contentNetwork,
1168
+ contentChannel: config.channelName,
1169
+ contentTitle: config.programTitle
1170
+ };
1171
+ }
1172
+ function setOptionalParam(url, key, value) {
1173
+ var trimmed = value === null || value === void 0 ? void 0 : value.trim();
1174
+ if (trimmed) url.searchParams.set(key, trimmed);
1175
+ }
1163
1176
  function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
1177
+ var context = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
1164
1178
  var url = new URL(baseUrl);
1165
1179
  var maxMs = Math.max(0, Math.floor(remainingMs));
1166
1180
  var maxAds = Math.max(1, Math.min(EDGE_POD_MAX_ADS, Math.floor(remainingAdLimit)));
@@ -1168,6 +1182,16 @@ function buildEdgePodUrl(baseUrl, remainingMs, remainingAdLimit) {
1168
1182
  url.searchParams.set("pmad", String(maxAds));
1169
1183
  url.searchParams.set("duration", String(Math.floor(maxMs / 1e3)));
1170
1184
  url.searchParams.set("count", String(maxAds));
1185
+ if (context.width != null && Number.isFinite(context.width) && context.width > 0) {
1186
+ url.searchParams.set("width", String(Math.round(context.width)));
1187
+ }
1188
+ if (context.height != null && Number.isFinite(context.height) && context.height > 0) {
1189
+ url.searchParams.set("height", String(Math.round(context.height)));
1190
+ }
1191
+ setOptionalParam(url, "pid", context.playerId);
1192
+ setOptionalParam(url, "cn", context.contentNetwork);
1193
+ setOptionalParam(url, "cc", context.contentChannel);
1194
+ setOptionalParam(url, "ct", context.contentTitle);
1171
1195
  return url.toString();
1172
1196
  }
1173
1197
  function classifyEdgeVastResponse(result) {
@@ -1516,6 +1540,9 @@ function resolvePlayerIdentitySeed(clientInfo) {
1516
1540
  }
1517
1541
  return "fingerprint:".concat(JSON.stringify(clientInfo));
1518
1542
  }
1543
+ function getCachedBrowserId() {
1544
+ return cachedBrowserId !== null && cachedBrowserId !== void 0 ? cachedBrowserId : void 0;
1545
+ }
1519
1546
  function getBrowserID(clientInfo) {
1520
1547
  return _async_to_generator(function() {
1521
1548
  return _ts_generator(this, function(_state) {
@@ -2787,7 +2814,12 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
2787
2814
  return void 0;
2788
2815
  }
2789
2816
  try {
2790
- return buildEdgePodUrl(baseUrl, remainingMs, remainingAds);
2817
+ var playerId = getCachedBrowserId();
2818
+ return buildEdgePodUrl(baseUrl, remainingMs, remainingAds, resolveEdgePodRequestContext(this.host.config, {
2819
+ width: this.host.video.offsetWidth || this.host.video.clientWidth,
2820
+ height: this.host.video.offsetHeight || this.host.video.clientHeight,
2821
+ playerId: playerId
2822
+ }));
2791
2823
  } catch (unused) {
2792
2824
  this.markEdgeExhausted("invalid_edge_url");
2793
2825
  return void 0;