stormcloud-video-player 0.7.43 → 0.7.45

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.
@@ -211,33 +211,18 @@ __export(overlays_exports, {
211
211
  OVERLAY_API_BASE: function OVERLAY_API_BASE1() {
212
212
  return OVERLAY_API_BASE;
213
213
  },
214
- SWIRL_HD_AUTHORING_HEIGHT: function SWIRL_HD_AUTHORING_HEIGHT1() {
215
- return SWIRL_HD_AUTHORING_HEIGHT;
216
- },
217
- SWIRL_HD_AUTHORING_WIDTH: function SWIRL_HD_AUTHORING_WIDTH1() {
218
- return SWIRL_HD_AUTHORING_WIDTH;
219
- },
220
214
  fetchProjectOverlays: function fetchProjectOverlays1() {
221
215
  return fetchProjectOverlays;
222
216
  },
223
- inferSwirlOverlayCoordinateSpace: function inferSwirlOverlayCoordinateSpace1() {
224
- return inferSwirlOverlayCoordinateSpace;
225
- },
226
217
  isOverlayActive: function isOverlayActive1() {
227
218
  return isOverlayActive;
228
219
  },
229
220
  normalizeSwirlOverlay: function normalizeSwirlOverlay1() {
230
221
  return normalizeSwirlOverlay;
231
222
  },
232
- overlayAuthoringDimensions: function overlayAuthoringDimensions1() {
233
- return overlayAuthoringDimensions;
234
- },
235
223
  resolveImageUrl: function resolveImageUrl1() {
236
224
  return resolveImageUrl;
237
225
  },
238
- swirlProjectHasNabDemoMixedWithOther: function swirlProjectHasNabDemoMixedWithOther1() {
239
- return swirlProjectHasNabDemoMixedWithOther;
240
- },
241
226
  timeStringToSeconds: function timeStringToSeconds1() {
242
227
  return timeStringToSeconds;
243
228
  }
@@ -278,114 +263,6 @@ function isOverlayActive(overlay, currentTime) {
278
263
  if (durationSec <= 0) return false;
279
264
  return currentTime >= startSec && currentTime < startSec + durationSec;
280
265
  }
281
- var SWIRL_HD_AUTHORING_WIDTH = 1920;
282
- var SWIRL_HD_AUTHORING_HEIGHT = 1080;
283
- var NAB_DEMO_NAME_PREFIX = "NAB Demo \u2014 ";
284
- function overlayAuthoringDimensions(overlay, decodeWidth, decodeHeight) {
285
- if (overlay.name.startsWith(NAB_DEMO_NAME_PREFIX)) {
286
- return {
287
- width: SWIRL_HD_AUTHORING_WIDTH,
288
- height: SWIRL_HD_AUTHORING_HEIGHT
289
- };
290
- }
291
- if (!decodeWidth || !decodeHeight) {
292
- return {
293
- width: decodeWidth || SWIRL_HD_AUTHORING_WIDTH,
294
- height: decodeHeight || SWIRL_HD_AUTHORING_HEIGHT
295
- };
296
- }
297
- return {
298
- width: decodeWidth,
299
- height: decodeHeight
300
- };
301
- }
302
- function overlayExtents(overlays) {
303
- var maxR = 0;
304
- var maxB = 0;
305
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
306
- try {
307
- for(var _iterator = overlays[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
308
- var o = _step.value;
309
- if (!o.visible) continue;
310
- maxR = Math.max(maxR, o.x + o.width);
311
- maxB = Math.max(maxB, o.y + o.height);
312
- }
313
- } catch (err) {
314
- _didIteratorError = true;
315
- _iteratorError = err;
316
- } finally{
317
- try {
318
- if (!_iteratorNormalCompletion && _iterator.return != null) {
319
- _iterator.return();
320
- }
321
- } finally{
322
- if (_didIteratorError) {
323
- throw _iteratorError;
324
- }
325
- }
326
- }
327
- return {
328
- maxR: maxR,
329
- maxB: maxB
330
- };
331
- }
332
- function swirlProjectHasNabDemoMixedWithOther(overlays) {
333
- var hasNab = false;
334
- var hasOther = false;
335
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
336
- try {
337
- for(var _iterator = overlays[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
338
- var o = _step.value;
339
- if (!o.visible) continue;
340
- if (o.name.startsWith(NAB_DEMO_NAME_PREFIX)) hasNab = true;
341
- else hasOther = true;
342
- }
343
- } catch (err) {
344
- _didIteratorError = true;
345
- _iteratorError = err;
346
- } finally{
347
- try {
348
- if (!_iteratorNormalCompletion && _iterator.return != null) {
349
- _iterator.return();
350
- }
351
- } finally{
352
- if (_didIteratorError) {
353
- throw _iteratorError;
354
- }
355
- }
356
- }
357
- return hasNab && hasOther;
358
- }
359
- function inferSwirlOverlayCoordinateSpace(overlays, videoWidth, videoHeight) {
360
- if (!videoWidth || !videoHeight) {
361
- return {
362
- width: videoWidth || SWIRL_HD_AUTHORING_WIDTH,
363
- height: videoHeight || SWIRL_HD_AUTHORING_HEIGHT
364
- };
365
- }
366
- if (!overlays.length) {
367
- return {
368
- width: videoWidth,
369
- height: videoHeight
370
- };
371
- }
372
- var _overlayExtents = overlayExtents(overlays), maxR = _overlayExtents.maxR, maxB = _overlayExtents.maxB;
373
- var EPS = 1;
374
- var exceedsDecode = maxR > videoWidth + EPS || maxB > videoHeight + EPS;
375
- var fitsHdCanvas = maxR <= SWIRL_HD_AUTHORING_WIDTH + EPS && maxB <= SWIRL_HD_AUTHORING_HEIGHT + EPS;
376
- var mixed = swirlProjectHasNabDemoMixedWithOther(overlays);
377
- var decodeLargerThanHd = videoWidth > SWIRL_HD_AUTHORING_WIDTH + EPS || videoHeight > SWIRL_HD_AUTHORING_HEIGHT + EPS;
378
- if (fitsHdCanvas && (decodeLargerThanHd || exceedsDecode && !mixed)) {
379
- return {
380
- width: SWIRL_HD_AUTHORING_WIDTH,
381
- height: SWIRL_HD_AUTHORING_HEIGHT
382
- };
383
- }
384
- return {
385
- width: videoWidth,
386
- height: videoHeight
387
- };
388
- }
389
266
  function normalizeScrollerConfig(raw) {
390
267
  if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object") return void 0;
391
268
  var r = raw;
@@ -468,15 +345,10 @@ function resolveImageUrl(imageUrl) {
468
345
  // Annotate the CommonJS export names for ESM import in node:
469
346
  0 && (module.exports = {
470
347
  OVERLAY_API_BASE: OVERLAY_API_BASE,
471
- SWIRL_HD_AUTHORING_HEIGHT: SWIRL_HD_AUTHORING_HEIGHT,
472
- SWIRL_HD_AUTHORING_WIDTH: SWIRL_HD_AUTHORING_WIDTH,
473
348
  fetchProjectOverlays: fetchProjectOverlays,
474
- inferSwirlOverlayCoordinateSpace: inferSwirlOverlayCoordinateSpace,
475
349
  isOverlayActive: isOverlayActive,
476
350
  normalizeSwirlOverlay: normalizeSwirlOverlay,
477
- overlayAuthoringDimensions: overlayAuthoringDimensions,
478
351
  resolveImageUrl: resolveImageUrl,
479
- swirlProjectHasNabDemoMixedWithOther: swirlProjectHasNabDemoMixedWithOther,
480
352
  timeStringToSeconds: timeStringToSeconds
481
353
  });
482
354
  //# sourceMappingURL=overlays.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/utils/overlays.cjs"],"names":["__hasOwnProp","__defProp","Object","defineProperty","__getOwnPropNames","getOwnPropertyNames","prototype","hasOwnProperty","__export","target","all","name","get","__copyProps","to","from","except","desc","key","call","enumerable","__getOwnPropDesc"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAIIA;;;;;;;;;;;;;;wCAHAC,SAAYC,OAAOC,aAAc,OAAdA,EAAc,OAAA,MAAA,EAAA,KAAA,OAAA,SAAA,UAAA;oBAErC,EAAIC,oBAAoBF,OAAOG,mBAAmB;oBAC9CL;;wBAAeE,KAAOI,IAAAA,IAAAA,CAAS,CAACC,cAAc;;;oBAA9CP,OAAAA,IAAeE;oBACnB,EAAIM,EAAAA,CAAAA,MAAAA,EAAW,KAAA,CAAA,OAAA,KAACC,QAAQC;;;;sBACtB,IAAK;;wBAAA,GAAIC,EAAAA,GAAAA,GAAQD,IACfT,MAA0BW,IAAhBH,QAAQE,MAAM;mCAAOD,GAAG,CAACC,KAAK,aAAA;;;;;QAAmB;;AAC/D,SAAA,gBAAA,QAAA;QAAA,aAAA,iEAAA;IACA,EAAIE,EAAAA,CAAAA,UAAAA,CAAc,MAAA,eAACC,IAAIC,MAAMC,QAAQC;MACnC,EAAA,EAAIF,OAAAA,CAAQ,CAAA,OAAOA,CAAAA,CAAAA,cAAAA,SAAAA,UAAAA,CAAAA,CAAP,SAAOA,GAAAA,EAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;gBAC7D,kCAAA,2BAAA;;;oBAAA,IAAIG,MAAJ;oBACH,EAAA,EAAI,CAAClB,CAAAA,IAAAA,QAAamB,IAAI,CAACL,IAAII,QAAQA,QAAQF,QACzCf,UAAUa,IAAII,KAAK;sBAAO,WAALN,KAAK,CAAA,EAALA,OAAK,KAALA;4CAAWG,IAAI,CAACG,IAAI;;wBAAEE,YAAY,CAAEH,CAAAA,OAAOI,iBAAiBN,MAAMG,IAAG,KAAMD,KAAKG,UAAU;kBAAC;;YAFpH,QAAK,YAAWhB,kBAAkBW,0BAA7B,SAAA,6BAAA,QAAA,yBAAA;;YAAA,CAAA,OAAA,GAAA;gCAAA;;;6CAAA,6BAAA;wDAAA;;;kDAAA;6CAAA","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/utils/overlays.ts\nvar overlays_exports = {};\n__export(overlays_exports, {\n OVERLAY_API_BASE: () => OVERLAY_API_BASE,\n SWIRL_HD_AUTHORING_HEIGHT: () => SWIRL_HD_AUTHORING_HEIGHT,\n SWIRL_HD_AUTHORING_WIDTH: () => SWIRL_HD_AUTHORING_WIDTH,\n fetchProjectOverlays: () => fetchProjectOverlays,\n inferSwirlOverlayCoordinateSpace: () => inferSwirlOverlayCoordinateSpace,\n isOverlayActive: () => isOverlayActive,\n normalizeSwirlOverlay: () => normalizeSwirlOverlay,\n overlayAuthoringDimensions: () => overlayAuthoringDimensions,\n resolveImageUrl: () => resolveImageUrl,\n swirlProjectHasNabDemoMixedWithOther: () => swirlProjectHasNabDemoMixedWithOther,\n timeStringToSeconds: () => timeStringToSeconds\n});\nmodule.exports = __toCommonJS(overlays_exports);\nvar OVERLAY_API_BASE = \"https://adstorm.co/api-adstorm-dev\";\nfunction timeStringToSeconds(timeStr) {\n if (!timeStr) return 0;\n const parts = timeStr.split(\":\");\n if (parts.length >= 3) {\n const hours = parseInt(parts[0] ?? \"0\", 10) || 0;\n const minutes = parseInt(parts[1] ?? \"0\", 10) || 0;\n const secStr = parts[2] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return hours * 3600 + minutes * 60 + seconds + ms / 1e3;\n }\n if (parts.length === 2) {\n const minutes = parseInt(parts[0] ?? \"0\", 10) || 0;\n const secStr = parts[1] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return minutes * 60 + seconds + ms / 1e3;\n }\n const num = parseFloat(timeStr);\n return isFinite(num) ? Math.max(0, num) : 0;\n}\nfunction isOverlayActive(overlay, currentTime) {\n if (!overlay.visible) return false;\n const startSec = timeStringToSeconds(overlay.start_time);\n const durationSec = timeStringToSeconds(overlay.duration);\n if (durationSec <= 0) return false;\n return currentTime >= startSec && currentTime < startSec + durationSec;\n}\nvar SWIRL_HD_AUTHORING_WIDTH = 1920;\nvar SWIRL_HD_AUTHORING_HEIGHT = 1080;\nvar NAB_DEMO_NAME_PREFIX = \"NAB Demo \\u2014 \";\nfunction overlayAuthoringDimensions(overlay, decodeWidth, decodeHeight) {\n if (overlay.name.startsWith(NAB_DEMO_NAME_PREFIX)) {\n return {\n width: SWIRL_HD_AUTHORING_WIDTH,\n height: SWIRL_HD_AUTHORING_HEIGHT\n };\n }\n if (!decodeWidth || !decodeHeight) {\n return {\n width: decodeWidth || SWIRL_HD_AUTHORING_WIDTH,\n height: decodeHeight || SWIRL_HD_AUTHORING_HEIGHT\n };\n }\n return { width: decodeWidth, height: decodeHeight };\n}\nfunction overlayExtents(overlays) {\n let maxR = 0;\n let maxB = 0;\n for (const o of overlays) {\n if (!o.visible) continue;\n maxR = Math.max(maxR, o.x + o.width);\n maxB = Math.max(maxB, o.y + o.height);\n }\n return { maxR, maxB };\n}\nfunction swirlProjectHasNabDemoMixedWithOther(overlays) {\n let hasNab = false;\n let hasOther = false;\n for (const o of overlays) {\n if (!o.visible) continue;\n if (o.name.startsWith(NAB_DEMO_NAME_PREFIX)) hasNab = true;\n else hasOther = true;\n }\n return hasNab && hasOther;\n}\nfunction inferSwirlOverlayCoordinateSpace(overlays, videoWidth, videoHeight) {\n if (!videoWidth || !videoHeight) {\n return {\n width: videoWidth || SWIRL_HD_AUTHORING_WIDTH,\n height: videoHeight || SWIRL_HD_AUTHORING_HEIGHT\n };\n }\n if (!overlays.length) {\n return { width: videoWidth, height: videoHeight };\n }\n const { maxR, maxB } = overlayExtents(overlays);\n const EPS = 1;\n const exceedsDecode = maxR > videoWidth + EPS || maxB > videoHeight + EPS;\n const fitsHdCanvas = maxR <= SWIRL_HD_AUTHORING_WIDTH + EPS && maxB <= SWIRL_HD_AUTHORING_HEIGHT + EPS;\n const mixed = swirlProjectHasNabDemoMixedWithOther(overlays);\n const decodeLargerThanHd = videoWidth > SWIRL_HD_AUTHORING_WIDTH + EPS || videoHeight > SWIRL_HD_AUTHORING_HEIGHT + EPS;\n if (fitsHdCanvas && (decodeLargerThanHd || exceedsDecode && !mixed)) {\n return {\n width: SWIRL_HD_AUTHORING_WIDTH,\n height: SWIRL_HD_AUTHORING_HEIGHT\n };\n }\n return { width: videoWidth, height: videoHeight };\n}\nfunction normalizeScrollerConfig(raw) {\n if (!raw || typeof raw !== \"object\") return void 0;\n const r = raw;\n const merged = { ...raw };\n if (merged.use_custom_text === void 0 && typeof r.useCustomText === \"boolean\") {\n merged.use_custom_text = r.useCustomText;\n }\n if ((merged.custom_text === void 0 || merged.custom_text === \"\") && typeof r.customText === \"string\") {\n merged.custom_text = r.customText;\n }\n if (!merged.rss_url && typeof r.rssUrl === \"string\") {\n merged.rss_url = r.rssUrl;\n }\n return merged;\n}\nfunction normalizeSwirlOverlay(raw) {\n const o = { ...raw };\n if (o.type === \"scroller\") {\n const sc = raw.scroller_config ?? raw.scrollerConfig;\n const normalized = normalizeScrollerConfig(sc);\n if (normalized) o.scroller_config = normalized;\n }\n return o;\n}\nasync function fetchProjectOverlays(projectId, apiBaseUrl = OVERLAY_API_BASE) {\n const base = apiBaseUrl.replace(/\\/$/, \"\");\n const response = await fetch(\n `${base}/adstorm/swirl/projects/${projectId}/overlays`\n );\n if (!response.ok) {\n throw new Error(\n `Failed to fetch overlays: ${response.status} ${response.statusText}`\n );\n }\n const data = await response.json();\n if (!Array.isArray(data)) return [];\n return data.map(\n (row) => normalizeSwirlOverlay(row)\n );\n}\nfunction resolveImageUrl(imageUrl, apiBaseUrl = OVERLAY_API_BASE) {\n if (!imageUrl) return \"\";\n if (imageUrl.startsWith(\"http://\") || imageUrl.startsWith(\"https://\")) {\n return imageUrl;\n }\n if (imageUrl.startsWith(\"/\")) {\n try {\n const url = new URL(apiBaseUrl);\n return `${url.origin}${imageUrl}`;\n } catch {\n return imageUrl;\n }\n }\n return `${apiBaseUrl}/${imageUrl}`;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n OVERLAY_API_BASE,\n SWIRL_HD_AUTHORING_HEIGHT,\n SWIRL_HD_AUTHORING_WIDTH,\n fetchProjectOverlays,\n inferSwirlOverlayCoordinateSpace,\n isOverlayActive,\n normalizeSwirlOverlay,\n overlayAuthoringDimensions,\n resolveImageUrl,\n swirlProjectHasNabDemoMixedWithOther,\n timeStringToSeconds\n});\n"]}
1
+ {"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/utils/overlays.cjs"],"names":[],"mappings":"AAAA","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/utils/overlays.ts\nvar overlays_exports = {};\n__export(overlays_exports, {\n OVERLAY_API_BASE: () => OVERLAY_API_BASE,\n fetchProjectOverlays: () => fetchProjectOverlays,\n isOverlayActive: () => isOverlayActive,\n normalizeSwirlOverlay: () => normalizeSwirlOverlay,\n resolveImageUrl: () => resolveImageUrl,\n timeStringToSeconds: () => timeStringToSeconds\n});\nmodule.exports = __toCommonJS(overlays_exports);\nvar OVERLAY_API_BASE = \"https://adstorm.co/api-adstorm-dev\";\nfunction timeStringToSeconds(timeStr) {\n if (!timeStr) return 0;\n const parts = timeStr.split(\":\");\n if (parts.length >= 3) {\n const hours = parseInt(parts[0] ?? \"0\", 10) || 0;\n const minutes = parseInt(parts[1] ?? \"0\", 10) || 0;\n const secStr = parts[2] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return hours * 3600 + minutes * 60 + seconds + ms / 1e3;\n }\n if (parts.length === 2) {\n const minutes = parseInt(parts[0] ?? \"0\", 10) || 0;\n const secStr = parts[1] ?? \"0\";\n const dotIdx = secStr.indexOf(\".\");\n const seconds = parseInt(dotIdx >= 0 ? secStr.substring(0, dotIdx) : secStr, 10) || 0;\n const msFrag = dotIdx >= 0 ? secStr.substring(dotIdx + 1) : \"\";\n const ms = msFrag ? parseInt(msFrag.padEnd(3, \"0\").substring(0, 3), 10) || 0 : 0;\n return minutes * 60 + seconds + ms / 1e3;\n }\n const num = parseFloat(timeStr);\n return isFinite(num) ? Math.max(0, num) : 0;\n}\nfunction isOverlayActive(overlay, currentTime) {\n if (!overlay.visible) return false;\n const startSec = timeStringToSeconds(overlay.start_time);\n const durationSec = timeStringToSeconds(overlay.duration);\n if (durationSec <= 0) return false;\n return currentTime >= startSec && currentTime < startSec + durationSec;\n}\nfunction normalizeScrollerConfig(raw) {\n if (!raw || typeof raw !== \"object\") return void 0;\n const r = raw;\n const merged = { ...raw };\n if (merged.use_custom_text === void 0 && typeof r.useCustomText === \"boolean\") {\n merged.use_custom_text = r.useCustomText;\n }\n if ((merged.custom_text === void 0 || merged.custom_text === \"\") && typeof r.customText === \"string\") {\n merged.custom_text = r.customText;\n }\n if (!merged.rss_url && typeof r.rssUrl === \"string\") {\n merged.rss_url = r.rssUrl;\n }\n return merged;\n}\nfunction normalizeSwirlOverlay(raw) {\n const o = { ...raw };\n if (o.type === \"scroller\") {\n const sc = raw.scroller_config ?? raw.scrollerConfig;\n const normalized = normalizeScrollerConfig(sc);\n if (normalized) o.scroller_config = normalized;\n }\n return o;\n}\nasync function fetchProjectOverlays(projectId, apiBaseUrl = OVERLAY_API_BASE) {\n const base = apiBaseUrl.replace(/\\/$/, \"\");\n const response = await fetch(\n `${base}/adstorm/swirl/projects/${projectId}/overlays`\n );\n if (!response.ok) {\n throw new Error(\n `Failed to fetch overlays: ${response.status} ${response.statusText}`\n );\n }\n const data = await response.json();\n if (!Array.isArray(data)) return [];\n return data.map(\n (row) => normalizeSwirlOverlay(row)\n );\n}\nfunction resolveImageUrl(imageUrl, apiBaseUrl = OVERLAY_API_BASE) {\n if (!imageUrl) return \"\";\n if (imageUrl.startsWith(\"http://\") || imageUrl.startsWith(\"https://\")) {\n return imageUrl;\n }\n if (imageUrl.startsWith(\"/\")) {\n try {\n const url = new URL(apiBaseUrl);\n return `${url.origin}${imageUrl}`;\n } catch {\n return imageUrl;\n }\n }\n return `${apiBaseUrl}/${imageUrl}`;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n OVERLAY_API_BASE,\n fetchProjectOverlays,\n isOverlayActive,\n normalizeSwirlOverlay,\n resolveImageUrl,\n timeStringToSeconds\n});\n"]}
@@ -63,16 +63,8 @@ interface SwirlOverlay {
63
63
  }
64
64
  declare function timeStringToSeconds(timeStr: string): number;
65
65
  declare function isOverlayActive(overlay: SwirlOverlay, currentTime: number): boolean;
66
- declare const SWIRL_HD_AUTHORING_WIDTH = 1920;
67
- declare const SWIRL_HD_AUTHORING_HEIGHT = 1080;
68
- declare function overlayAuthoringDimensions(overlay: SwirlOverlay, decodeWidth: number, decodeHeight: number): {
69
- width: number;
70
- height: number;
71
- };
72
- declare function swirlProjectHasNabDemoMixedWithOther(overlays: SwirlOverlay[]): boolean;
73
- declare function inferSwirlOverlayCoordinateSpace(overlays: SwirlOverlay[], videoWidth: number, videoHeight: number): OverlayCoordinateSpace;
74
66
  declare function normalizeSwirlOverlay(raw: SwirlOverlay & Record<string, unknown>): SwirlOverlay;
75
67
  declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
76
68
  declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
77
69
 
78
- export { OVERLAY_API_BASE, type OverlayCoordinateSpace, SWIRL_HD_AUTHORING_HEIGHT, SWIRL_HD_AUTHORING_WIDTH, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, fetchProjectOverlays, inferSwirlOverlayCoordinateSpace, isOverlayActive, normalizeSwirlOverlay, overlayAuthoringDimensions, resolveImageUrl, swirlProjectHasNabDemoMixedWithOther, timeStringToSeconds };
70
+ export { OVERLAY_API_BASE, type OverlayCoordinateSpace, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, fetchProjectOverlays, isOverlayActive, normalizeSwirlOverlay, resolveImageUrl, timeStringToSeconds };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stormcloud-video-player",
3
- "version": "0.7.43",
3
+ "version": "0.7.45",
4
4
  "main": "lib/index.js",
5
5
  "typings": "lib/index.d.ts",
6
6
  "scripts": {