stormcloud-video-player 0.8.56 → 0.8.57
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/README.md +2 -2
- package/dist/stormcloud-vp.min.js +1 -3
- package/lib/index.cjs +161 -283
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +12 -29
- package/lib/index.d.ts +12 -29
- package/lib/index.js +141 -227
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +118 -188
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdConfigManager.cjs +103 -200
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +0 -1
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/HlsEngine.cjs.map +1 -1
- package/lib/player/PlaceholderLayer.cjs.map +1 -1
- package/lib/player/PlayerControls.cjs.map +1 -1
- package/lib/player/Scte35CueManager.cjs.map +1 -1
- package/lib/player/Scte35Parser.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +134 -205
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/playerTypes.cjs.map +1 -1
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +134 -205
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/index.cjs +134 -205
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +134 -205
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/utils/browserCompat.cjs.map +1 -1
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/devUrl.cjs.map +1 -1
- package/lib/utils/polyfills.cjs.map +1 -1
- package/lib/utils/tracking.cjs +134 -199
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/trackingIngest.cjs +322 -0
- package/lib/utils/trackingIngest.cjs.map +1 -0
- package/lib/utils/trackingIngest.d.cts +14 -0
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.cjs.map +1 -1
- package/package.json +1 -3
- package/lib/utils/mqttClient.cjs +0 -305
- package/lib/utils/mqttClient.cjs.map +0 -1
- package/lib/utils/mqttClient.d.cts +0 -13
- package/lib/utils/mqttConfig.cjs +0 -139
- package/lib/utils/mqttConfig.cjs.map +0 -1
- package/lib/utils/mqttConfig.d.cts +0 -20
- package/src/certs/emqxsl-ca.crt +0 -22
package/lib/players/index.cjs
CHANGED
|
@@ -2501,163 +2501,83 @@ function createPalNonceManager() {
|
|
|
2501
2501
|
}
|
|
2502
2502
|
};
|
|
2503
2503
|
}
|
|
2504
|
-
// src/utils/
|
|
2505
|
-
var
|
|
2504
|
+
// src/utils/trackingIngest.ts
|
|
2505
|
+
var DEFAULT_TRACKING_INGEST_CONFIG = {
|
|
2506
2506
|
enabled: true,
|
|
2507
|
-
|
|
2508
|
-
brokerPort: 8883,
|
|
2509
|
-
wsPort: 8084,
|
|
2510
|
-
username: "for-sonifi",
|
|
2511
|
-
password: "sonifi-mqtt",
|
|
2512
|
-
topicPrefix: "adstorm/players",
|
|
2513
|
-
qos: 1
|
|
2507
|
+
baseUrl: "https://player-analytics-ingest-api-760490581852.us-central1.run.app/api/adstorm/player-tracking"
|
|
2514
2508
|
};
|
|
2515
|
-
var
|
|
2516
|
-
function
|
|
2517
|
-
|
|
2518
|
-
}
|
|
2519
|
-
function isMQTTEnabled() {
|
|
2520
|
-
return mqttConfig.enabled;
|
|
2521
|
-
}
|
|
2522
|
-
function buildMQTTBrokerUrl() {
|
|
2523
|
-
if (mqttConfig.brokerUrl) return mqttConfig.brokerUrl;
|
|
2524
|
-
return "wss://".concat(mqttConfig.brokerAddress, ":").concat(mqttConfig.wsPort, "/mqtt");
|
|
2525
|
-
}
|
|
2526
|
-
function buildPlayerTopic(licenseKey, channel) {
|
|
2527
|
-
return "".concat(mqttConfig.topicPrefix, "/").concat(licenseKey, "/").concat(channel);
|
|
2528
|
-
}
|
|
2529
|
-
// src/utils/mqttClient.ts
|
|
2530
|
-
var import_mqtt = __toESM(require("mqtt"), 1);
|
|
2531
|
-
var LOG = "[StormcloudVideoPlayer][MQTT]";
|
|
2532
|
-
var KEEPALIVE_SECONDS = 30;
|
|
2533
|
-
var CONNECT_TIMEOUT_MS = 1e4;
|
|
2534
|
-
var RECONNECT_BASE_MS = 5e3;
|
|
2535
|
-
var RECONNECT_MAX_MS = 6e4;
|
|
2536
|
-
var MAX_RECONNECT_ATTEMPTS = 8;
|
|
2537
|
-
var COOLDOWN_MS = 10 * 6e4;
|
|
2538
|
-
var client = null;
|
|
2539
|
-
var status = "disconnected";
|
|
2540
|
-
var reconnectAttempts = 0;
|
|
2541
|
-
var reconnectTimer = null;
|
|
2542
|
-
var stopped = false;
|
|
2543
|
-
function clearReconnectTimer() {
|
|
2544
|
-
if (reconnectTimer) {
|
|
2545
|
-
clearTimeout(reconnectTimer);
|
|
2546
|
-
reconnectTimer = null;
|
|
2547
|
-
}
|
|
2548
|
-
}
|
|
2549
|
-
function teardownClient() {
|
|
2550
|
-
if (client) {
|
|
2551
|
-
try {
|
|
2552
|
-
client.removeAllListeners();
|
|
2553
|
-
client.end(true);
|
|
2554
|
-
} catch (unused) {}
|
|
2555
|
-
client = null;
|
|
2556
|
-
}
|
|
2557
|
-
}
|
|
2558
|
-
function scheduleReconnect() {
|
|
2559
|
-
if (stopped || !isMQTTEnabled() || reconnectTimer) return;
|
|
2560
|
-
if (reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
|
|
2561
|
-
console.warn("".concat(LOG, " giving up after ").concat(reconnectAttempts, " attempts; cooling down for ").concat(COOLDOWN_MS / 6e4, "m"));
|
|
2562
|
-
teardownClient();
|
|
2563
|
-
status = "disconnected";
|
|
2564
|
-
reconnectTimer = setTimeout(function() {
|
|
2565
|
-
reconnectTimer = null;
|
|
2566
|
-
reconnectAttempts = 0;
|
|
2567
|
-
openConnection();
|
|
2568
|
-
}, COOLDOWN_MS);
|
|
2569
|
-
return;
|
|
2570
|
-
}
|
|
2571
|
-
var delay = Math.min(RECONNECT_MAX_MS, RECONNECT_BASE_MS * Math.pow(2, reconnectAttempts));
|
|
2572
|
-
var jitter = Math.floor(Math.random() * 1e3);
|
|
2573
|
-
reconnectAttempts += 1;
|
|
2574
|
-
reconnectTimer = setTimeout(function() {
|
|
2575
|
-
reconnectTimer = null;
|
|
2576
|
-
openConnection();
|
|
2577
|
-
}, delay + jitter);
|
|
2578
|
-
}
|
|
2579
|
-
function openConnection() {
|
|
2580
|
-
if (stopped || !isMQTTEnabled()) return;
|
|
2581
|
-
teardownClient();
|
|
2582
|
-
var url = buildMQTTBrokerUrl();
|
|
2583
|
-
status = "connecting";
|
|
2584
|
-
var clientId = "stormcloud-vp-".concat(Math.random().toString(36).slice(2, 9));
|
|
2585
|
-
try {
|
|
2586
|
-
client = import_mqtt.default.connect(url, {
|
|
2587
|
-
clientId: clientId,
|
|
2588
|
-
username: mqttConfig.username,
|
|
2589
|
-
password: mqttConfig.password,
|
|
2590
|
-
keepalive: KEEPALIVE_SECONDS,
|
|
2591
|
-
clean: true,
|
|
2592
|
-
// Disable MQTT.js internal reconnect; we manage reconnection ourselves.
|
|
2593
|
-
reconnectPeriod: 0,
|
|
2594
|
-
connectTimeout: CONNECT_TIMEOUT_MS,
|
|
2595
|
-
queueQoSZero: false,
|
|
2596
|
-
reschedulePings: true,
|
|
2597
|
-
// Root-cause fix for the Tizen 4.0 "Keepalive timeout" loop: MQTT.js's
|
|
2598
|
-
// default timerVariant "auto" runs the keepalive interval inside a
|
|
2599
|
-
// Blob-URL Web Worker (via worker-timers). On Samsung Tizen 4.0 (old
|
|
2600
|
-
// WebKit) served from a file:// origin that worker can't tick reliably,
|
|
2601
|
-
// so the keepalive counter trips onKeepaliveTimeout almost immediately
|
|
2602
|
-
// after connect. Force the native setInterval timer instead; the main
|
|
2603
|
-
// thread is free because video is decoded by the native AVPlay pipeline.
|
|
2604
|
-
timerVariant: "native"
|
|
2605
|
-
});
|
|
2606
|
-
} catch (err) {
|
|
2607
|
-
status = "error";
|
|
2608
|
-
console.warn("".concat(LOG, " connect() threw:"), err);
|
|
2609
|
-
scheduleReconnect();
|
|
2610
|
-
return;
|
|
2611
|
-
}
|
|
2612
|
-
client.on("connect", function() {
|
|
2613
|
-
status = "connected";
|
|
2614
|
-
reconnectAttempts = 0;
|
|
2615
|
-
clearReconnectTimer();
|
|
2616
|
-
console.info("".concat(LOG, " connected to ").concat(url));
|
|
2617
|
-
});
|
|
2618
|
-
client.on("offline", function() {
|
|
2619
|
-
if (status === "connected") status = "disconnected";
|
|
2620
|
-
console.warn("".concat(LOG, " offline"));
|
|
2621
|
-
scheduleReconnect();
|
|
2622
|
-
});
|
|
2623
|
-
client.on("error", function(err) {
|
|
2624
|
-
status = "error";
|
|
2625
|
-
console.warn("".concat(LOG, " error:"), err.message);
|
|
2626
|
-
scheduleReconnect();
|
|
2627
|
-
});
|
|
2628
|
-
client.on("close", function() {
|
|
2629
|
-
if (status === "connected") status = "disconnected";
|
|
2630
|
-
scheduleReconnect();
|
|
2631
|
-
});
|
|
2509
|
+
var trackingIngestConfig = _object_spread({}, DEFAULT_TRACKING_INGEST_CONFIG);
|
|
2510
|
+
function isTrackingIngestEnabled() {
|
|
2511
|
+
return trackingIngestConfig.enabled === true;
|
|
2632
2512
|
}
|
|
2633
|
-
function
|
|
2634
|
-
|
|
2635
|
-
stopped = false;
|
|
2636
|
-
reconnectAttempts = 0;
|
|
2637
|
-
openConnection();
|
|
2513
|
+
function normalizeIngestBaseUrl(baseUrl) {
|
|
2514
|
+
return baseUrl.replace(/\/+$/, "");
|
|
2638
2515
|
}
|
|
2639
|
-
function
|
|
2640
|
-
|
|
2641
|
-
|
|
2516
|
+
function buildTrackingIngestUrl(channel) {
|
|
2517
|
+
var base = normalizeIngestBaseUrl(trackingIngestConfig.baseUrl);
|
|
2518
|
+
if (channel === "impressions") {
|
|
2519
|
+
return "".concat(base, "/impressions/ingest");
|
|
2642
2520
|
}
|
|
2521
|
+
return "".concat(base, "/metrics/ingest");
|
|
2643
2522
|
}
|
|
2644
|
-
function
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2523
|
+
function ingestPlayerTracking(licenseKey, channel, body) {
|
|
2524
|
+
return _async_to_generator(function() {
|
|
2525
|
+
var response, error;
|
|
2526
|
+
return _ts_generator(this, function(_state) {
|
|
2527
|
+
switch(_state.label){
|
|
2528
|
+
case 0:
|
|
2529
|
+
if (!isTrackingIngestEnabled() || !licenseKey) {
|
|
2530
|
+
return [
|
|
2531
|
+
2,
|
|
2532
|
+
false
|
|
2533
|
+
];
|
|
2534
|
+
}
|
|
2535
|
+
_state.label = 1;
|
|
2536
|
+
case 1:
|
|
2537
|
+
_state.trys.push([
|
|
2538
|
+
1,
|
|
2539
|
+
3,
|
|
2540
|
+
,
|
|
2541
|
+
4
|
|
2542
|
+
]);
|
|
2543
|
+
return [
|
|
2544
|
+
4,
|
|
2545
|
+
fetch(buildTrackingIngestUrl(channel), {
|
|
2546
|
+
method: "POST",
|
|
2547
|
+
headers: {
|
|
2548
|
+
"Content-Type": "application/json",
|
|
2549
|
+
Authorization: "License-Key ".concat(licenseKey)
|
|
2550
|
+
},
|
|
2551
|
+
body: JSON.stringify(body)
|
|
2552
|
+
})
|
|
2553
|
+
];
|
|
2554
|
+
case 2:
|
|
2555
|
+
response = _state.sent();
|
|
2556
|
+
if (!response.ok) {
|
|
2557
|
+
console.warn("[StormcloudVideoPlayer] Tracking ingest failed (".concat(response.status, ") for ").concat(channel));
|
|
2558
|
+
return [
|
|
2559
|
+
2,
|
|
2560
|
+
false
|
|
2561
|
+
];
|
|
2562
|
+
}
|
|
2563
|
+
return [
|
|
2564
|
+
2,
|
|
2565
|
+
true
|
|
2566
|
+
];
|
|
2567
|
+
case 3:
|
|
2568
|
+
error = _state.sent();
|
|
2569
|
+
console.warn("[StormcloudVideoPlayer] Tracking ingest error for ".concat(channel, ":"), error);
|
|
2570
|
+
return [
|
|
2571
|
+
2,
|
|
2572
|
+
false
|
|
2573
|
+
];
|
|
2574
|
+
case 4:
|
|
2575
|
+
return [
|
|
2576
|
+
2
|
|
2577
|
+
];
|
|
2578
|
+
}
|
|
2655
2579
|
});
|
|
2656
|
-
|
|
2657
|
-
} catch (err) {
|
|
2658
|
-
console.warn("".concat(LOG, " publish failed on ").concat(topic, ":"), err);
|
|
2659
|
-
return false;
|
|
2660
|
-
}
|
|
2580
|
+
})();
|
|
2661
2581
|
}
|
|
2662
2582
|
// src/utils/vastEnvironmentSignals.ts
|
|
2663
2583
|
var AIRY_ANDROID_APP_ID = "com.freeairytv.android";
|
|
@@ -3428,7 +3348,7 @@ function getBrowserID(clientInfo) {
|
|
|
3428
3348
|
})();
|
|
3429
3349
|
}
|
|
3430
3350
|
function canPublish(licenseKey) {
|
|
3431
|
-
return Boolean(
|
|
3351
|
+
return Boolean(isTrackingIngestEnabled() && licenseKey);
|
|
3432
3352
|
}
|
|
3433
3353
|
function buildPlayerMetricEvent() {
|
|
3434
3354
|
return _async_to_generator(function() {
|
|
@@ -3470,10 +3390,6 @@ function buildPlayerMetricEvent() {
|
|
|
3470
3390
|
});
|
|
3471
3391
|
}).apply(this, arguments);
|
|
3472
3392
|
}
|
|
3473
|
-
function publishTracking(licenseKey, channel, body) {
|
|
3474
|
-
ensureMQTTClient();
|
|
3475
|
-
publishMQTT(buildPlayerTopic(licenseKey, channel), body);
|
|
3476
|
-
}
|
|
3477
3393
|
function sendInitialTracking(_0) {
|
|
3478
3394
|
return _async_to_generator(function(licenseKey) {
|
|
3479
3395
|
var context, metricEvent, error;
|
|
@@ -3489,9 +3405,9 @@ function sendInitialTracking(_0) {
|
|
|
3489
3405
|
case 1:
|
|
3490
3406
|
_state.trys.push([
|
|
3491
3407
|
1,
|
|
3492
|
-
|
|
3408
|
+
4,
|
|
3493
3409
|
,
|
|
3494
|
-
|
|
3410
|
+
5
|
|
3495
3411
|
]);
|
|
3496
3412
|
return [
|
|
3497
3413
|
4,
|
|
@@ -3502,23 +3418,28 @@ function sendInitialTracking(_0) {
|
|
|
3502
3418
|
];
|
|
3503
3419
|
case 2:
|
|
3504
3420
|
metricEvent = _state.sent();
|
|
3505
|
-
publishTracking(licenseKey, "metrics", {
|
|
3506
|
-
events: [
|
|
3507
|
-
metricEvent
|
|
3508
|
-
]
|
|
3509
|
-
});
|
|
3510
3421
|
return [
|
|
3511
|
-
|
|
3512
|
-
|
|
3422
|
+
4,
|
|
3423
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
3424
|
+
events: [
|
|
3425
|
+
metricEvent
|
|
3426
|
+
]
|
|
3427
|
+
})
|
|
3513
3428
|
];
|
|
3514
3429
|
case 3:
|
|
3430
|
+
_state.sent();
|
|
3431
|
+
return [
|
|
3432
|
+
3,
|
|
3433
|
+
5
|
|
3434
|
+
];
|
|
3435
|
+
case 4:
|
|
3515
3436
|
error = _state.sent();
|
|
3516
3437
|
console.error("[StormcloudVideoPlayer] Error sending initial tracking data:", error);
|
|
3517
3438
|
return [
|
|
3518
3439
|
3,
|
|
3519
|
-
|
|
3440
|
+
5
|
|
3520
3441
|
];
|
|
3521
|
-
case
|
|
3442
|
+
case 5:
|
|
3522
3443
|
return [
|
|
3523
3444
|
2
|
|
3524
3445
|
];
|
|
@@ -3629,9 +3550,9 @@ function sendAdImpressionTracking(_0, _1) {
|
|
|
3629
3550
|
case 1:
|
|
3630
3551
|
_state.trys.push([
|
|
3631
3552
|
1,
|
|
3632
|
-
|
|
3553
|
+
5,
|
|
3633
3554
|
,
|
|
3634
|
-
|
|
3555
|
+
6
|
|
3635
3556
|
]);
|
|
3636
3557
|
return [
|
|
3637
3558
|
4,
|
|
@@ -3641,29 +3562,43 @@ function sendAdImpressionTracking(_0, _1) {
|
|
|
3641
3562
|
];
|
|
3642
3563
|
case 2:
|
|
3643
3564
|
metricEvent = _state.sent();
|
|
3644
|
-
publishTracking(licenseKey, "heartbeat", metricEvent);
|
|
3645
|
-
publishTracking(licenseKey, "impressions", {
|
|
3646
|
-
events: [
|
|
3647
|
-
{
|
|
3648
|
-
player_id: metricEvent.player_id,
|
|
3649
|
-
ad_played_count: 1,
|
|
3650
|
-
ad_url: adImpressionInfo.adUrl,
|
|
3651
|
-
capture_at: adImpressionInfo.timestamp
|
|
3652
|
-
}
|
|
3653
|
-
]
|
|
3654
|
-
});
|
|
3655
3565
|
return [
|
|
3656
|
-
|
|
3657
|
-
|
|
3566
|
+
4,
|
|
3567
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
3568
|
+
events: [
|
|
3569
|
+
metricEvent
|
|
3570
|
+
]
|
|
3571
|
+
})
|
|
3658
3572
|
];
|
|
3659
3573
|
case 3:
|
|
3574
|
+
_state.sent();
|
|
3575
|
+
return [
|
|
3576
|
+
4,
|
|
3577
|
+
ingestPlayerTracking(licenseKey, "impressions", {
|
|
3578
|
+
events: [
|
|
3579
|
+
{
|
|
3580
|
+
player_id: metricEvent.player_id,
|
|
3581
|
+
ad_played_count: 1,
|
|
3582
|
+
ad_url: adImpressionInfo.adUrl,
|
|
3583
|
+
capture_at: adImpressionInfo.timestamp
|
|
3584
|
+
}
|
|
3585
|
+
]
|
|
3586
|
+
})
|
|
3587
|
+
];
|
|
3588
|
+
case 4:
|
|
3589
|
+
_state.sent();
|
|
3590
|
+
return [
|
|
3591
|
+
3,
|
|
3592
|
+
6
|
|
3593
|
+
];
|
|
3594
|
+
case 5:
|
|
3660
3595
|
error = _state.sent();
|
|
3661
3596
|
console.error("[StormcloudVideoPlayer] Error sending ad impression tracking:", error);
|
|
3662
3597
|
return [
|
|
3663
3598
|
3,
|
|
3664
|
-
|
|
3599
|
+
6
|
|
3665
3600
|
];
|
|
3666
|
-
case
|
|
3601
|
+
case 6:
|
|
3667
3602
|
return [
|
|
3668
3603
|
2
|
|
3669
3604
|
];
|
|
@@ -3686,9 +3621,9 @@ function sendHeartbeat(_0) {
|
|
|
3686
3621
|
case 1:
|
|
3687
3622
|
_state.trys.push([
|
|
3688
3623
|
1,
|
|
3689
|
-
|
|
3624
|
+
4,
|
|
3690
3625
|
,
|
|
3691
|
-
|
|
3626
|
+
5
|
|
3692
3627
|
]);
|
|
3693
3628
|
return [
|
|
3694
3629
|
4,
|
|
@@ -3696,19 +3631,28 @@ function sendHeartbeat(_0) {
|
|
|
3696
3631
|
];
|
|
3697
3632
|
case 2:
|
|
3698
3633
|
heartbeatData = _state.sent();
|
|
3699
|
-
publishTracking(licenseKey, "heartbeat", heartbeatData);
|
|
3700
3634
|
return [
|
|
3701
|
-
|
|
3702
|
-
|
|
3635
|
+
4,
|
|
3636
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
3637
|
+
events: [
|
|
3638
|
+
heartbeatData
|
|
3639
|
+
]
|
|
3640
|
+
})
|
|
3703
3641
|
];
|
|
3704
3642
|
case 3:
|
|
3643
|
+
_state.sent();
|
|
3644
|
+
return [
|
|
3645
|
+
3,
|
|
3646
|
+
5
|
|
3647
|
+
];
|
|
3648
|
+
case 4:
|
|
3705
3649
|
error = _state.sent();
|
|
3706
3650
|
console.error("[StormcloudVideoPlayer] Error sending heartbeat:", error);
|
|
3707
3651
|
return [
|
|
3708
3652
|
3,
|
|
3709
|
-
|
|
3653
|
+
5
|
|
3710
3654
|
];
|
|
3711
|
-
case
|
|
3655
|
+
case 5:
|
|
3712
3656
|
return [
|
|
3713
3657
|
2
|
|
3714
3658
|
];
|
|
@@ -5582,7 +5526,6 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
5582
5526
|
];
|
|
5583
5527
|
case 4:
|
|
5584
5528
|
data = _state.sent();
|
|
5585
|
-
this.applyMqttConfigFromResponse(data);
|
|
5586
5529
|
imaPayload = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : (_data_response_ima = _data_response.ima) === null || _data_response_ima === void 0 ? void 0 : (_data_response_ima_publisherdeskima = _data_response_ima["publisherdesk.ima"]) === null || _data_response_ima_publisherdeskima === void 0 ? void 0 : _data_response_ima_publisherdeskima.payload;
|
|
5587
5530
|
if (imaPayload) {
|
|
5588
5531
|
decodedPayload = imaPayload;
|
|
@@ -5616,20 +5559,6 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
5616
5559
|
}).call(this);
|
|
5617
5560
|
}
|
|
5618
5561
|
},
|
|
5619
|
-
{
|
|
5620
|
-
key: "applyMqttConfigFromResponse",
|
|
5621
|
-
value: function applyMqttConfigFromResponse(data) {
|
|
5622
|
-
var _data_response;
|
|
5623
|
-
var mqttConfig2 = (_data_response = data.response) === null || _data_response === void 0 ? void 0 : _data_response.mqtt_config;
|
|
5624
|
-
if (!mqttConfig2 || (typeof mqttConfig2 === "undefined" ? "undefined" : _type_of(mqttConfig2)) !== "object") {
|
|
5625
|
-
return;
|
|
5626
|
-
}
|
|
5627
|
-
applyMQTTConfig(mqttConfig2);
|
|
5628
|
-
if (this.debug) {
|
|
5629
|
-
console.log("[StormcloudVideoPlayer] Applied MQTT config from /ads/web:", mqttConfig2);
|
|
5630
|
-
}
|
|
5631
|
-
}
|
|
5632
|
-
},
|
|
5633
5562
|
{
|
|
5634
5563
|
key: "fetchAndParseVmap",
|
|
5635
5564
|
value: function fetchAndParseVmap(vmapUrl) {
|