stormcloud-video-player 0.8.55 → 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 +377 -359
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +12 -30
- package/lib/index.d.ts +12 -30
- package/lib/index.js +357 -303
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +140 -212
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +1 -1
- package/lib/player/AdConfigManager.cjs +103 -211
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +1 -2
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/AdTimingService.d.cts +1 -1
- package/lib/player/HlsEngine.cjs.map +1 -1
- package/lib/player/HlsEngine.d.cts +1 -1
- package/lib/player/PlaceholderLayer.cjs.map +1 -1
- package/lib/player/PlayerControls.cjs.map +1 -1
- package/lib/player/PlayerControls.d.cts +1 -1
- package/lib/player/Scte35CueManager.cjs.map +1 -1
- package/lib/player/Scte35CueManager.d.cts +1 -1
- package/lib/player/Scte35Parser.cjs.map +1 -1
- package/lib/player/Scte35Parser.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +350 -281
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/player/playerTypes.cjs.map +1 -1
- package/lib/player/playerTypes.d.cts +1 -1
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +350 -281
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +350 -281
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.cjs +194 -52
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +1 -1
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/{types-DpbgEvSH.d.cts → types-cTqIKw_D.d.cts} +0 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +350 -281
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +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 +135 -212
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +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 +0 -4
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.d.cts +1 -2
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.cjs +185 -0
- package/lib/utils/vastTrackingMacros.cjs.map +1 -0
- package/lib/utils/vastTrackingMacros.d.cts +19 -0
- 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/utils/tracking.cjs
CHANGED
|
@@ -154,11 +154,9 @@ function _type_of(obj) {
|
|
|
154
154
|
"@swc/helpers - typeof";
|
|
155
155
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
156
156
|
}
|
|
157
|
-
var __create = Object.create;
|
|
158
157
|
var __defProp = Object.defineProperty;
|
|
159
158
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
160
159
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
161
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
162
160
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
163
161
|
var __export = function __export(target, all) {
|
|
164
162
|
for(var name in all)__defProp(target, name, {
|
|
@@ -197,16 +195,6 @@ var __copyProps = function __copyProps(to, from, except, desc) {
|
|
|
197
195
|
}
|
|
198
196
|
return to;
|
|
199
197
|
};
|
|
200
|
-
var __toESM = function __toESM(mod, isNodeMode, target) {
|
|
201
|
-
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
|
|
202
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
203
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
204
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
205
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
206
|
-
value: mod,
|
|
207
|
-
enumerable: true
|
|
208
|
-
}) : target, mod);
|
|
209
|
-
};
|
|
210
198
|
var __toCommonJS = function __toCommonJS(mod) {
|
|
211
199
|
return __copyProps(__defProp({}, "__esModule", {
|
|
212
200
|
value: true
|
|
@@ -241,160 +229,83 @@ __export(tracking_exports, {
|
|
|
241
229
|
}
|
|
242
230
|
});
|
|
243
231
|
module.exports = __toCommonJS(tracking_exports);
|
|
244
|
-
// src/utils/
|
|
245
|
-
var
|
|
232
|
+
// src/utils/trackingIngest.ts
|
|
233
|
+
var DEFAULT_TRACKING_INGEST_CONFIG = {
|
|
246
234
|
enabled: true,
|
|
247
|
-
|
|
248
|
-
brokerPort: 8883,
|
|
249
|
-
wsPort: 8084,
|
|
250
|
-
username: "for-sonifi",
|
|
251
|
-
password: "sonifi-mqtt",
|
|
252
|
-
topicPrefix: "adstorm/players",
|
|
253
|
-
qos: 1
|
|
235
|
+
baseUrl: "https://player-analytics-ingest-api-760490581852.us-central1.run.app/api/adstorm/player-tracking"
|
|
254
236
|
};
|
|
255
|
-
var
|
|
256
|
-
function
|
|
257
|
-
return
|
|
258
|
-
}
|
|
259
|
-
function buildMQTTBrokerUrl() {
|
|
260
|
-
if (mqttConfig.brokerUrl) return mqttConfig.brokerUrl;
|
|
261
|
-
return "wss://".concat(mqttConfig.brokerAddress, ":").concat(mqttConfig.wsPort, "/mqtt");
|
|
262
|
-
}
|
|
263
|
-
function buildPlayerTopic(licenseKey, channel) {
|
|
264
|
-
return "".concat(mqttConfig.topicPrefix, "/").concat(licenseKey, "/").concat(channel);
|
|
237
|
+
var trackingIngestConfig = _object_spread({}, DEFAULT_TRACKING_INGEST_CONFIG);
|
|
238
|
+
function isTrackingIngestEnabled() {
|
|
239
|
+
return trackingIngestConfig.enabled === true;
|
|
265
240
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
var LOG = "[StormcloudVideoPlayer][MQTT]";
|
|
269
|
-
var KEEPALIVE_SECONDS = 30;
|
|
270
|
-
var CONNECT_TIMEOUT_MS = 1e4;
|
|
271
|
-
var RECONNECT_BASE_MS = 5e3;
|
|
272
|
-
var RECONNECT_MAX_MS = 6e4;
|
|
273
|
-
var MAX_RECONNECT_ATTEMPTS = 8;
|
|
274
|
-
var COOLDOWN_MS = 10 * 6e4;
|
|
275
|
-
var client = null;
|
|
276
|
-
var status = "disconnected";
|
|
277
|
-
var reconnectAttempts = 0;
|
|
278
|
-
var reconnectTimer = null;
|
|
279
|
-
var stopped = false;
|
|
280
|
-
function clearReconnectTimer() {
|
|
281
|
-
if (reconnectTimer) {
|
|
282
|
-
clearTimeout(reconnectTimer);
|
|
283
|
-
reconnectTimer = null;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
function teardownClient() {
|
|
287
|
-
if (client) {
|
|
288
|
-
try {
|
|
289
|
-
client.removeAllListeners();
|
|
290
|
-
client.end(true);
|
|
291
|
-
} catch (unused) {}
|
|
292
|
-
client = null;
|
|
293
|
-
}
|
|
241
|
+
function normalizeIngestBaseUrl(baseUrl) {
|
|
242
|
+
return baseUrl.replace(/\/+$/, "");
|
|
294
243
|
}
|
|
295
|
-
function
|
|
296
|
-
|
|
297
|
-
if (
|
|
298
|
-
|
|
299
|
-
teardownClient();
|
|
300
|
-
status = "disconnected";
|
|
301
|
-
reconnectTimer = setTimeout(function() {
|
|
302
|
-
reconnectTimer = null;
|
|
303
|
-
reconnectAttempts = 0;
|
|
304
|
-
openConnection();
|
|
305
|
-
}, COOLDOWN_MS);
|
|
306
|
-
return;
|
|
244
|
+
function buildTrackingIngestUrl(channel) {
|
|
245
|
+
var base = normalizeIngestBaseUrl(trackingIngestConfig.baseUrl);
|
|
246
|
+
if (channel === "impressions") {
|
|
247
|
+
return "".concat(base, "/impressions/ingest");
|
|
307
248
|
}
|
|
308
|
-
|
|
309
|
-
var jitter = Math.floor(Math.random() * 1e3);
|
|
310
|
-
reconnectAttempts += 1;
|
|
311
|
-
reconnectTimer = setTimeout(function() {
|
|
312
|
-
reconnectTimer = null;
|
|
313
|
-
openConnection();
|
|
314
|
-
}, delay + jitter);
|
|
249
|
+
return "".concat(base, "/metrics/ingest");
|
|
315
250
|
}
|
|
316
|
-
function
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
stopped = false;
|
|
373
|
-
reconnectAttempts = 0;
|
|
374
|
-
openConnection();
|
|
375
|
-
}
|
|
376
|
-
function ensureMQTTClient() {
|
|
377
|
-
if (isMQTTEnabled() && !client && !reconnectTimer) {
|
|
378
|
-
initMQTTClient();
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
function publishMQTT(topic, payload) {
|
|
382
|
-
if (!isMQTTEnabled()) {
|
|
383
|
-
return false;
|
|
384
|
-
}
|
|
385
|
-
ensureMQTTClient();
|
|
386
|
-
if (!client || !client.connected) {
|
|
387
|
-
return false;
|
|
388
|
-
}
|
|
389
|
-
try {
|
|
390
|
-
client.publish(topic, JSON.stringify(payload), {
|
|
391
|
-
qos: mqttConfig.qos
|
|
251
|
+
function ingestPlayerTracking(licenseKey, channel, body) {
|
|
252
|
+
return _async_to_generator(function() {
|
|
253
|
+
var response, error;
|
|
254
|
+
return _ts_generator(this, function(_state) {
|
|
255
|
+
switch(_state.label){
|
|
256
|
+
case 0:
|
|
257
|
+
if (!isTrackingIngestEnabled() || !licenseKey) {
|
|
258
|
+
return [
|
|
259
|
+
2,
|
|
260
|
+
false
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
_state.label = 1;
|
|
264
|
+
case 1:
|
|
265
|
+
_state.trys.push([
|
|
266
|
+
1,
|
|
267
|
+
3,
|
|
268
|
+
,
|
|
269
|
+
4
|
|
270
|
+
]);
|
|
271
|
+
return [
|
|
272
|
+
4,
|
|
273
|
+
fetch(buildTrackingIngestUrl(channel), {
|
|
274
|
+
method: "POST",
|
|
275
|
+
headers: {
|
|
276
|
+
"Content-Type": "application/json",
|
|
277
|
+
Authorization: "License-Key ".concat(licenseKey)
|
|
278
|
+
},
|
|
279
|
+
body: JSON.stringify(body)
|
|
280
|
+
})
|
|
281
|
+
];
|
|
282
|
+
case 2:
|
|
283
|
+
response = _state.sent();
|
|
284
|
+
if (!response.ok) {
|
|
285
|
+
console.warn("[StormcloudVideoPlayer] Tracking ingest failed (".concat(response.status, ") for ").concat(channel));
|
|
286
|
+
return [
|
|
287
|
+
2,
|
|
288
|
+
false
|
|
289
|
+
];
|
|
290
|
+
}
|
|
291
|
+
return [
|
|
292
|
+
2,
|
|
293
|
+
true
|
|
294
|
+
];
|
|
295
|
+
case 3:
|
|
296
|
+
error = _state.sent();
|
|
297
|
+
console.warn("[StormcloudVideoPlayer] Tracking ingest error for ".concat(channel, ":"), error);
|
|
298
|
+
return [
|
|
299
|
+
2,
|
|
300
|
+
false
|
|
301
|
+
];
|
|
302
|
+
case 4:
|
|
303
|
+
return [
|
|
304
|
+
2
|
|
305
|
+
];
|
|
306
|
+
}
|
|
392
307
|
});
|
|
393
|
-
|
|
394
|
-
} catch (err) {
|
|
395
|
-
console.warn("".concat(LOG, " publish failed on ").concat(topic, ":"), err);
|
|
396
|
-
return false;
|
|
397
|
-
}
|
|
308
|
+
})();
|
|
398
309
|
}
|
|
399
310
|
// src/utils/vastEnvironmentSignals.ts
|
|
400
311
|
var PLAYER_ID_STORAGE_KEY = "stormcloud.player.id";
|
|
@@ -1078,7 +989,7 @@ function getBrowserID(clientInfo) {
|
|
|
1078
989
|
})();
|
|
1079
990
|
}
|
|
1080
991
|
function canPublish(licenseKey) {
|
|
1081
|
-
return Boolean(
|
|
992
|
+
return Boolean(isTrackingIngestEnabled() && licenseKey);
|
|
1082
993
|
}
|
|
1083
994
|
function buildPlayerMetricEvent() {
|
|
1084
995
|
return _async_to_generator(function() {
|
|
@@ -1120,21 +1031,6 @@ function buildPlayerMetricEvent() {
|
|
|
1120
1031
|
});
|
|
1121
1032
|
}).apply(this, arguments);
|
|
1122
1033
|
}
|
|
1123
|
-
function publishTracking(licenseKey, channel, body) {
|
|
1124
|
-
var debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
1125
|
-
ensureMQTTClient();
|
|
1126
|
-
var topic = buildPlayerTopic(licenseKey, channel);
|
|
1127
|
-
var published = publishMQTT(topic, body);
|
|
1128
|
-
if (debug) {
|
|
1129
|
-
console.log("[StormcloudVideoPlayer] publishTracking:", JSON.stringify({
|
|
1130
|
-
licenseKey: licenseKey,
|
|
1131
|
-
channel: channel,
|
|
1132
|
-
topic: topic,
|
|
1133
|
-
body: body,
|
|
1134
|
-
published: published
|
|
1135
|
-
}, null, 2));
|
|
1136
|
-
}
|
|
1137
|
-
}
|
|
1138
1034
|
function sendInitialTracking(_0) {
|
|
1139
1035
|
return _async_to_generator(function(licenseKey) {
|
|
1140
1036
|
var context, metricEvent, error;
|
|
@@ -1150,9 +1046,9 @@ function sendInitialTracking(_0) {
|
|
|
1150
1046
|
case 1:
|
|
1151
1047
|
_state.trys.push([
|
|
1152
1048
|
1,
|
|
1153
|
-
|
|
1049
|
+
4,
|
|
1154
1050
|
,
|
|
1155
|
-
|
|
1051
|
+
5
|
|
1156
1052
|
]);
|
|
1157
1053
|
return [
|
|
1158
1054
|
4,
|
|
@@ -1163,23 +1059,28 @@ function sendInitialTracking(_0) {
|
|
|
1163
1059
|
];
|
|
1164
1060
|
case 2:
|
|
1165
1061
|
metricEvent = _state.sent();
|
|
1166
|
-
publishTracking(licenseKey, "metrics", {
|
|
1167
|
-
events: [
|
|
1168
|
-
metricEvent
|
|
1169
|
-
]
|
|
1170
|
-
}, !!context.debugAdTiming);
|
|
1171
1062
|
return [
|
|
1172
|
-
|
|
1173
|
-
|
|
1063
|
+
4,
|
|
1064
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
1065
|
+
events: [
|
|
1066
|
+
metricEvent
|
|
1067
|
+
]
|
|
1068
|
+
})
|
|
1174
1069
|
];
|
|
1175
1070
|
case 3:
|
|
1071
|
+
_state.sent();
|
|
1072
|
+
return [
|
|
1073
|
+
3,
|
|
1074
|
+
5
|
|
1075
|
+
];
|
|
1076
|
+
case 4:
|
|
1176
1077
|
error = _state.sent();
|
|
1177
1078
|
console.error("[StormcloudVideoPlayer] Error sending initial tracking data:", error);
|
|
1178
1079
|
return [
|
|
1179
1080
|
3,
|
|
1180
|
-
|
|
1081
|
+
5
|
|
1181
1082
|
];
|
|
1182
|
-
case
|
|
1083
|
+
case 5:
|
|
1183
1084
|
return [
|
|
1184
1085
|
2
|
|
1185
1086
|
];
|
|
@@ -1277,7 +1178,7 @@ function sendAdLoadedTracking(_0, _1) {
|
|
|
1277
1178
|
}
|
|
1278
1179
|
function sendAdImpressionTracking(_0, _1) {
|
|
1279
1180
|
return _async_to_generator(function(licenseKey, adImpressionInfo) {
|
|
1280
|
-
var context,
|
|
1181
|
+
var context, metricEvent, error;
|
|
1281
1182
|
var _arguments = arguments;
|
|
1282
1183
|
return _ts_generator(this, function(_state) {
|
|
1283
1184
|
switch(_state.label){
|
|
@@ -1290,9 +1191,9 @@ function sendAdImpressionTracking(_0, _1) {
|
|
|
1290
1191
|
case 1:
|
|
1291
1192
|
_state.trys.push([
|
|
1292
1193
|
1,
|
|
1293
|
-
|
|
1194
|
+
5,
|
|
1294
1195
|
,
|
|
1295
|
-
|
|
1196
|
+
6
|
|
1296
1197
|
]);
|
|
1297
1198
|
return [
|
|
1298
1199
|
4,
|
|
@@ -1302,30 +1203,43 @@ function sendAdImpressionTracking(_0, _1) {
|
|
|
1302
1203
|
];
|
|
1303
1204
|
case 2:
|
|
1304
1205
|
metricEvent = _state.sent();
|
|
1305
|
-
publishTracking(licenseKey, "heartbeat", metricEvent, !!context.debugAdTiming);
|
|
1306
|
-
publishTracking(licenseKey, "impressions", {
|
|
1307
|
-
events: [
|
|
1308
|
-
{
|
|
1309
|
-
event_id: createUuid(),
|
|
1310
|
-
player_id: metricEvent.player_id,
|
|
1311
|
-
ad_played_count: 1,
|
|
1312
|
-
ad_url: (_adImpressionInfo_adUrl = adImpressionInfo.adUrl) !== null && _adImpressionInfo_adUrl !== void 0 ? _adImpressionInfo_adUrl : adImpressionInfo.adId,
|
|
1313
|
-
capture_at: adImpressionInfo.timestamp
|
|
1314
|
-
}
|
|
1315
|
-
]
|
|
1316
|
-
}, !!context.debugAdTiming);
|
|
1317
1206
|
return [
|
|
1318
|
-
|
|
1319
|
-
|
|
1207
|
+
4,
|
|
1208
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
1209
|
+
events: [
|
|
1210
|
+
metricEvent
|
|
1211
|
+
]
|
|
1212
|
+
})
|
|
1320
1213
|
];
|
|
1321
1214
|
case 3:
|
|
1215
|
+
_state.sent();
|
|
1216
|
+
return [
|
|
1217
|
+
4,
|
|
1218
|
+
ingestPlayerTracking(licenseKey, "impressions", {
|
|
1219
|
+
events: [
|
|
1220
|
+
{
|
|
1221
|
+
player_id: metricEvent.player_id,
|
|
1222
|
+
ad_played_count: 1,
|
|
1223
|
+
ad_url: adImpressionInfo.adUrl,
|
|
1224
|
+
capture_at: adImpressionInfo.timestamp
|
|
1225
|
+
}
|
|
1226
|
+
]
|
|
1227
|
+
})
|
|
1228
|
+
];
|
|
1229
|
+
case 4:
|
|
1230
|
+
_state.sent();
|
|
1231
|
+
return [
|
|
1232
|
+
3,
|
|
1233
|
+
6
|
|
1234
|
+
];
|
|
1235
|
+
case 5:
|
|
1322
1236
|
error = _state.sent();
|
|
1323
1237
|
console.error("[StormcloudVideoPlayer] Error sending ad impression tracking:", error);
|
|
1324
1238
|
return [
|
|
1325
1239
|
3,
|
|
1326
|
-
|
|
1240
|
+
6
|
|
1327
1241
|
];
|
|
1328
|
-
case
|
|
1242
|
+
case 6:
|
|
1329
1243
|
return [
|
|
1330
1244
|
2
|
|
1331
1245
|
];
|
|
@@ -1348,9 +1262,9 @@ function sendHeartbeat(_0) {
|
|
|
1348
1262
|
case 1:
|
|
1349
1263
|
_state.trys.push([
|
|
1350
1264
|
1,
|
|
1351
|
-
|
|
1265
|
+
4,
|
|
1352
1266
|
,
|
|
1353
|
-
|
|
1267
|
+
5
|
|
1354
1268
|
]);
|
|
1355
1269
|
return [
|
|
1356
1270
|
4,
|
|
@@ -1358,19 +1272,28 @@ function sendHeartbeat(_0) {
|
|
|
1358
1272
|
];
|
|
1359
1273
|
case 2:
|
|
1360
1274
|
heartbeatData = _state.sent();
|
|
1361
|
-
publishTracking(licenseKey, "heartbeat", heartbeatData, !!context.debugAdTiming);
|
|
1362
1275
|
return [
|
|
1363
|
-
|
|
1364
|
-
|
|
1276
|
+
4,
|
|
1277
|
+
ingestPlayerTracking(licenseKey, "metrics", {
|
|
1278
|
+
events: [
|
|
1279
|
+
heartbeatData
|
|
1280
|
+
]
|
|
1281
|
+
})
|
|
1365
1282
|
];
|
|
1366
1283
|
case 3:
|
|
1284
|
+
_state.sent();
|
|
1285
|
+
return [
|
|
1286
|
+
3,
|
|
1287
|
+
5
|
|
1288
|
+
];
|
|
1289
|
+
case 4:
|
|
1367
1290
|
error = _state.sent();
|
|
1368
1291
|
console.error("[StormcloudVideoPlayer] Error sending heartbeat:", error);
|
|
1369
1292
|
return [
|
|
1370
1293
|
3,
|
|
1371
|
-
|
|
1294
|
+
5
|
|
1372
1295
|
];
|
|
1373
|
-
case
|
|
1296
|
+
case 5:
|
|
1374
1297
|
return [
|
|
1375
1298
|
2
|
|
1376
1299
|
];
|