stormcloud-video-player 0.8.54 → 0.8.55
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/dist/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +124 -101
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +124 -101
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs +69 -66
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +1 -1
- package/lib/player/AdConfigManager.cjs +38 -33
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +1 -1
- package/lib/player/AdTimingService.cjs +18 -25
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/AdTimingService.d.cts +1 -1
- package/lib/player/HlsEngine.cjs +12 -21
- package/lib/player/HlsEngine.cjs.map +1 -1
- package/lib/player/HlsEngine.d.cts +1 -1
- package/lib/player/PlaceholderLayer.cjs +1 -3
- 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 +2 -4
- package/lib/player/Scte35CueManager.cjs.map +1 -1
- package/lib/player/Scte35CueManager.d.cts +1 -1
- package/lib/player/Scte35Parser.cjs +6 -12
- package/lib/player/Scte35Parser.cjs.map +1 -1
- package/lib/player/Scte35Parser.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +114 -87
- 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 +17 -26
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +124 -101
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +124 -101
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.cjs +42 -19
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +1 -1
- package/lib/sdk/pal.cjs +6 -9
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/{types-cTqIKw_D.d.cts → types-DpbgEvSH.d.cts} +1 -0
- package/lib/ui/StormcloudVideoPlayer.cjs +114 -87
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/browserCompat.cjs +3 -6
- package/lib/utils/browserCompat.cjs.map +1 -1
- package/lib/utils/ctvVastSignals.cjs +3 -6
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/devUrl.cjs.map +1 -1
- package/lib/utils/mqttClient.cjs +1 -3
- package/lib/utils/mqttClient.cjs.map +1 -1
- package/lib/utils/mqttConfig.cjs +1 -3
- package/lib/utils/mqttConfig.cjs.map +1 -1
- package/lib/utils/polyfills.cjs +4 -7
- package/lib/utils/polyfills.cjs.map +1 -1
- package/lib/utils/tracking.cjs +27 -20
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/lib/utils/vastEnvironmentSignals.cjs +7 -6
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.d.cts +2 -1
- package/lib/utils/vastMacros.cjs +4 -2
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/player/playerTypes.cjs"],"names":["__defProp","Object","defineProperty"
|
|
1
|
+
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/player/playerTypes.cjs"],"names":["__defProp","Object","defineProperty"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEACIA,QAAYC,EAAAA,IAAAA,KAAAA;oBAAAA,KAAAA,CAAAA,CAAAA,GAAAA,IAAAA;+BAAAA,GAAOC,CAAAA,CAAAA,IAAAA","sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\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/player/playerTypes.ts\nvar playerTypes_exports = {};\nmodule.exports = __toCommonJS(playerTypes_exports);\n"]}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
function _assert_this_initialized(self) {
|
|
3
|
-
if (self === void 0)
|
|
4
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
5
|
-
}
|
|
3
|
+
if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
6
4
|
return self;
|
|
7
5
|
}
|
|
8
6
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -13,11 +11,8 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
13
11
|
reject(error);
|
|
14
12
|
return;
|
|
15
13
|
}
|
|
16
|
-
if (info.done)
|
|
17
|
-
|
|
18
|
-
} else {
|
|
19
|
-
Promise.resolve(value).then(_next, _throw);
|
|
20
|
-
}
|
|
14
|
+
if (info.done) resolve(value);
|
|
15
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
21
16
|
}
|
|
22
17
|
function _async_to_generator(fn) {
|
|
23
18
|
return function() {
|
|
@@ -39,9 +34,7 @@ function _call_super(_this, derived, args) {
|
|
|
39
34
|
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
40
35
|
}
|
|
41
36
|
function _class_call_check(instance, Constructor) {
|
|
42
|
-
if (!(instance instanceof Constructor))
|
|
43
|
-
throw new TypeError("Cannot call a class as a function");
|
|
44
|
-
}
|
|
37
|
+
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
45
38
|
}
|
|
46
39
|
function _defineProperties(target, props) {
|
|
47
40
|
for(var i = 0; i < props.length; i++){
|
|
@@ -76,10 +69,16 @@ function _inherits(subClass, superClass) {
|
|
|
76
69
|
});
|
|
77
70
|
if (superClass) _set_prototype_of(subClass, superClass);
|
|
78
71
|
}
|
|
72
|
+
function _is_native_reflect_construct() {
|
|
73
|
+
try {
|
|
74
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
75
|
+
} catch (_) {}
|
|
76
|
+
return (_is_native_reflect_construct = function() {
|
|
77
|
+
return !!result;
|
|
78
|
+
})();
|
|
79
|
+
}
|
|
79
80
|
function _possible_constructor_return(self, call) {
|
|
80
|
-
if (call && (_type_of(call) === "object" || typeof call === "function"))
|
|
81
|
-
return call;
|
|
82
|
-
}
|
|
81
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) return call;
|
|
83
82
|
return _assert_this_initialized(self);
|
|
84
83
|
}
|
|
85
84
|
function _set_prototype_of(o, p) {
|
|
@@ -89,18 +88,6 @@ function _set_prototype_of(o, p) {
|
|
|
89
88
|
};
|
|
90
89
|
return _set_prototype_of(o, p);
|
|
91
90
|
}
|
|
92
|
-
function _type_of(obj) {
|
|
93
|
-
"@swc/helpers - typeof";
|
|
94
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
95
|
-
}
|
|
96
|
-
function _is_native_reflect_construct() {
|
|
97
|
-
try {
|
|
98
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
99
|
-
} catch (_) {}
|
|
100
|
-
return (_is_native_reflect_construct = function() {
|
|
101
|
-
return !!result;
|
|
102
|
-
})();
|
|
103
|
-
}
|
|
104
91
|
function _ts_generator(thisArg, body) {
|
|
105
92
|
var f, y, t, _ = {
|
|
106
93
|
label: 0,
|
|
@@ -200,6 +187,10 @@ function _ts_generator(thisArg, body) {
|
|
|
200
187
|
};
|
|
201
188
|
}
|
|
202
189
|
}
|
|
190
|
+
function _type_of(obj) {
|
|
191
|
+
"@swc/helpers - typeof";
|
|
192
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
193
|
+
}
|
|
203
194
|
var __defProp = Object.defineProperty;
|
|
204
195
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
205
196
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/players/FilePlayer.cjs"],"names":[
|
|
1
|
+
{"version":3,"sources":["/home/ubuntu24-new/Dev/stormcloud-vp/lib/players/FilePlayer.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/players/FilePlayer.tsx\nvar FilePlayer_exports = {};\n__export(FilePlayer_exports, {\n default: () => FilePlayer\n});\nmodule.exports = __toCommonJS(FilePlayer_exports);\nvar import_react = require(\"react\");\n\n// src/patterns.ts\nvar HLS_EXTENSIONS = /\\.(m3u8)($|\\?)/i;\nvar HLS_PATHS = /\\/hls\\//i;\nvar DASH_EXTENSIONS = /\\.(mpd)($|\\?)/i;\nvar VIDEO_EXTENSIONS = /\\.(mp4|webm|ogg|avi|mov|wmv|flv|mkv)($|\\?)/i;\nvar AUDIO_EXTENSIONS = /\\.(mp3|wav|ogg|aac|wma|flac|m4a)($|\\?)/i;\nvar canPlay = {\n hls: (url) => {\n if (!url || typeof url !== \"string\") return false;\n return HLS_EXTENSIONS.test(url) || HLS_PATHS.test(url);\n },\n dash: (url) => {\n if (!url || typeof url !== \"string\") return false;\n return DASH_EXTENSIONS.test(url);\n },\n video: (url) => {\n if (!url || typeof url !== \"string\") return false;\n return VIDEO_EXTENSIONS.test(url);\n },\n audio: (url) => {\n if (!url || typeof url !== \"string\") return false;\n return AUDIO_EXTENSIONS.test(url);\n },\n file: (url) => {\n if (!url || typeof url !== \"string\") return false;\n return VIDEO_EXTENSIONS.test(url) || AUDIO_EXTENSIONS.test(url);\n }\n};\n\n// src/players/FilePlayer.tsx\nvar FilePlayer = class extends import_react.Component {\n constructor() {\n super(...arguments);\n this.mounted = false;\n this.ready = false;\n this.load = () => {\n if (!this.props.videoElement || !this.props.src) return;\n const video = this.props.videoElement;\n const handleLoadedMetadata = () => {\n if (this.mounted && !this.ready) {\n this.ready = true;\n this.props.onReady?.();\n }\n };\n const handlePlay = () => {\n if (this.mounted) {\n this.props.onPlay?.();\n }\n };\n const handlePause = () => {\n if (this.mounted) {\n this.props.onPause?.();\n }\n };\n const handleEnded = () => {\n if (this.mounted) {\n this.props.onEnded?.();\n }\n };\n const handleError = (error) => {\n if (this.mounted) {\n this.props.onError?.(error);\n }\n };\n const handleLoadedData = () => {\n if (this.mounted) {\n this.props.onLoaded?.();\n }\n };\n video.addEventListener(\"loadedmetadata\", handleLoadedMetadata);\n video.addEventListener(\"play\", handlePlay);\n video.addEventListener(\"pause\", handlePause);\n video.addEventListener(\"ended\", handleEnded);\n video.addEventListener(\"error\", handleError);\n video.addEventListener(\"loadeddata\", handleLoadedData);\n video.src = this.props.src;\n if (this.props.autoplay !== void 0) video.autoplay = this.props.autoplay;\n if (this.props.muted !== void 0) video.muted = this.props.muted;\n if (this.props.loop !== void 0) video.loop = this.props.loop;\n if (this.props.controls !== void 0) video.controls = this.props.controls;\n if (this.props.playsInline !== void 0)\n video.playsInline = this.props.playsInline;\n if (this.props.preload !== void 0)\n video.preload = this.props.preload;\n if (this.props.poster !== void 0) video.poster = this.props.poster;\n this.props.onMount?.(this);\n return () => {\n video.removeEventListener(\"loadedmetadata\", handleLoadedMetadata);\n video.removeEventListener(\"play\", handlePlay);\n video.removeEventListener(\"pause\", handlePause);\n video.removeEventListener(\"ended\", handleEnded);\n video.removeEventListener(\"error\", handleError);\n video.removeEventListener(\"loadeddata\", handleLoadedData);\n };\n };\n this.play = () => {\n if (this.props.videoElement) {\n const video = this.props.videoElement;\n const hasValidSource = video.src || video.currentSrc && video.currentSrc !== \"\" || video.readyState >= 1;\n if (hasValidSource) {\n video.play()?.catch((error) => {\n console.error(\"[FilePlayer] Failed to play:\", error);\n this.props.onError?.(error);\n });\n } else {\n console.warn(\"[FilePlayer] Cannot play: video has no valid source\");\n }\n }\n };\n this.pause = () => {\n if (this.props.videoElement) {\n this.props.videoElement.pause();\n }\n };\n this.stop = () => {\n this.pause();\n if (this.props.videoElement) {\n this.props.videoElement.currentTime = 0;\n }\n };\n this.seekTo = (seconds, keepPlaying) => {\n if (this.props.videoElement) {\n this.props.videoElement.currentTime = seconds;\n if (!keepPlaying) {\n this.pause();\n }\n }\n };\n this.setVolume = (volume) => {\n if (this.props.videoElement) {\n this.props.videoElement.volume = Math.max(0, Math.min(1, volume));\n }\n };\n this.mute = () => {\n if (this.props.videoElement) {\n this.props.videoElement.muted = true;\n }\n };\n this.unmute = () => {\n if (this.props.videoElement) {\n this.props.videoElement.muted = false;\n }\n };\n this.setPlaybackRate = (rate) => {\n if (this.props.videoElement && rate > 0) {\n this.props.videoElement.playbackRate = rate;\n }\n };\n this.setLoop = (loop) => {\n if (this.props.videoElement) {\n this.props.videoElement.loop = loop;\n }\n };\n this.getDuration = () => {\n if (this.props.videoElement && isFinite(this.props.videoElement.duration)) {\n return this.props.videoElement.duration;\n }\n return null;\n };\n this.getCurrentTime = () => {\n if (this.props.videoElement && isFinite(this.props.videoElement.currentTime)) {\n return this.props.videoElement.currentTime;\n }\n return null;\n };\n this.getSecondsLoaded = () => {\n if (this.props.videoElement && this.props.videoElement.buffered.length > 0) {\n return this.props.videoElement.buffered.end(\n this.props.videoElement.buffered.length - 1\n );\n }\n return null;\n };\n this.getInternalPlayer = (key = \"player\") => {\n if (key === \"video\") return this.props.videoElement;\n return null;\n };\n this.enablePIP = async () => {\n if (this.props.videoElement && \"requestPictureInPicture\" in this.props.videoElement) {\n try {\n await this.props.videoElement.requestPictureInPicture();\n } catch (error) {\n console.warn(\"Picture-in-Picture failed:\", error);\n }\n }\n };\n this.disablePIP = async () => {\n if (document.pictureInPictureElement) {\n try {\n await document.exitPictureInPicture();\n } catch (error) {\n console.warn(\"Exit Picture-in-Picture failed:\", error);\n }\n }\n };\n }\n componentDidMount() {\n this.mounted = true;\n this.load();\n }\n componentWillUnmount() {\n this.mounted = false;\n }\n componentDidUpdate(prevProps) {\n if (prevProps.src !== this.props.src) {\n this.load();\n }\n }\n render() {\n return null;\n }\n};\nFilePlayer.displayName = \"FilePlayer\";\nFilePlayer.canPlay = canPlay.file;\n"]}
|
|
@@ -11,9 +11,7 @@ function _array_without_holes(arr) {
|
|
|
11
11
|
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
12
12
|
}
|
|
13
13
|
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0)
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
14
|
+
if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
17
15
|
return self;
|
|
18
16
|
}
|
|
19
17
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -24,11 +22,8 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
24
22
|
reject(error);
|
|
25
23
|
return;
|
|
26
24
|
}
|
|
27
|
-
if (info.done)
|
|
28
|
-
|
|
29
|
-
} else {
|
|
30
|
-
Promise.resolve(value).then(_next, _throw);
|
|
31
|
-
}
|
|
25
|
+
if (info.done) resolve(value);
|
|
26
|
+
else Promise.resolve(value).then(_next, _throw);
|
|
32
27
|
}
|
|
33
28
|
function _async_to_generator(fn) {
|
|
34
29
|
return function() {
|
|
@@ -50,9 +45,7 @@ function _call_super(_this, derived, args) {
|
|
|
50
45
|
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
51
46
|
}
|
|
52
47
|
function _class_call_check(instance, Constructor) {
|
|
53
|
-
if (!(instance instanceof Constructor))
|
|
54
|
-
throw new TypeError("Cannot call a class as a function");
|
|
55
|
-
}
|
|
48
|
+
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
56
49
|
}
|
|
57
50
|
function _defineProperties(target, props) {
|
|
58
51
|
for(var i = 0; i < props.length; i++){
|
|
@@ -76,9 +69,7 @@ function _define_property(obj, key, value) {
|
|
|
76
69
|
configurable: true,
|
|
77
70
|
writable: true
|
|
78
71
|
});
|
|
79
|
-
} else
|
|
80
|
-
obj[key] = value;
|
|
81
|
-
}
|
|
72
|
+
} else obj[key] = value;
|
|
82
73
|
return obj;
|
|
83
74
|
}
|
|
84
75
|
function _get_prototype_of(o) {
|
|
@@ -101,14 +92,23 @@ function _inherits(subClass, superClass) {
|
|
|
101
92
|
if (superClass) _set_prototype_of(subClass, superClass);
|
|
102
93
|
}
|
|
103
94
|
function _instanceof(left, right) {
|
|
95
|
+
"@swc/helpers - instanceof";
|
|
104
96
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
105
97
|
return !!right[Symbol.hasInstance](left);
|
|
106
|
-
} else
|
|
107
|
-
|
|
108
|
-
|
|
98
|
+
} else return left instanceof right;
|
|
99
|
+
}
|
|
100
|
+
function _is_native_reflect_construct() {
|
|
101
|
+
try {
|
|
102
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
103
|
+
} catch (_) {}
|
|
104
|
+
return (_is_native_reflect_construct = function() {
|
|
105
|
+
return !!result;
|
|
106
|
+
})();
|
|
109
107
|
}
|
|
110
108
|
function _iterable_to_array(iter) {
|
|
111
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
109
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) {
|
|
110
|
+
return Array.from(iter);
|
|
111
|
+
}
|
|
112
112
|
}
|
|
113
113
|
function _iterable_to_array_limit(arr, i) {
|
|
114
114
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
@@ -135,10 +135,10 @@ function _iterable_to_array_limit(arr, i) {
|
|
|
135
135
|
return _arr;
|
|
136
136
|
}
|
|
137
137
|
function _non_iterable_rest() {
|
|
138
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance
|
|
138
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
139
139
|
}
|
|
140
140
|
function _non_iterable_spread() {
|
|
141
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance
|
|
141
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
142
142
|
}
|
|
143
143
|
function _object_spread(target) {
|
|
144
144
|
for(var i = 1; i < arguments.length; i++){
|
|
@@ -170,9 +170,8 @@ function ownKeys(object, enumerableOnly) {
|
|
|
170
170
|
}
|
|
171
171
|
function _object_spread_props(target, source) {
|
|
172
172
|
source = source != null ? source : {};
|
|
173
|
-
if (Object.getOwnPropertyDescriptors)
|
|
174
|
-
|
|
175
|
-
} else {
|
|
173
|
+
if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
174
|
+
else {
|
|
176
175
|
ownKeys(Object(source)).forEach(function(key) {
|
|
177
176
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
178
177
|
});
|
|
@@ -180,9 +179,7 @@ function _object_spread_props(target, source) {
|
|
|
180
179
|
return target;
|
|
181
180
|
}
|
|
182
181
|
function _possible_constructor_return(self, call) {
|
|
183
|
-
if (call && (_type_of(call) === "object" || typeof call === "function"))
|
|
184
|
-
return call;
|
|
185
|
-
}
|
|
182
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) return call;
|
|
186
183
|
return _assert_this_initialized(self);
|
|
187
184
|
}
|
|
188
185
|
function _set_prototype_of(o, p) {
|
|
@@ -198,26 +195,6 @@ function _sliced_to_array(arr, i) {
|
|
|
198
195
|
function _to_consumable_array(arr) {
|
|
199
196
|
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
200
197
|
}
|
|
201
|
-
function _type_of(obj) {
|
|
202
|
-
"@swc/helpers - typeof";
|
|
203
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
204
|
-
}
|
|
205
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
206
|
-
if (!o) return;
|
|
207
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
208
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
209
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
210
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
211
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
212
|
-
}
|
|
213
|
-
function _is_native_reflect_construct() {
|
|
214
|
-
try {
|
|
215
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
216
|
-
} catch (_) {}
|
|
217
|
-
return (_is_native_reflect_construct = function() {
|
|
218
|
-
return !!result;
|
|
219
|
-
})();
|
|
220
|
-
}
|
|
221
198
|
function _ts_generator(thisArg, body) {
|
|
222
199
|
var f, y, t, _ = {
|
|
223
200
|
label: 0,
|
|
@@ -319,18 +296,36 @@ function _ts_generator(thisArg, body) {
|
|
|
319
296
|
}
|
|
320
297
|
function _ts_values(o) {
|
|
321
298
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
322
|
-
if (m)
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
299
|
+
if (m) {
|
|
300
|
+
return m.call(o);
|
|
301
|
+
}
|
|
302
|
+
if (o && typeof o.length === "number") {
|
|
303
|
+
return {
|
|
304
|
+
next: function() {
|
|
305
|
+
if (o && i >= o.length) {
|
|
306
|
+
o = void 0;
|
|
307
|
+
}
|
|
308
|
+
return {
|
|
309
|
+
value: o && o[i++],
|
|
310
|
+
done: !o
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
}
|
|
332
315
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
333
316
|
}
|
|
317
|
+
function _type_of(obj) {
|
|
318
|
+
"@swc/helpers - typeof";
|
|
319
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
320
|
+
}
|
|
321
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
322
|
+
if (!o) return;
|
|
323
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
324
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
325
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
326
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
327
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
328
|
+
}
|
|
334
329
|
var __create = Object.create;
|
|
335
330
|
var __defProp = Object.defineProperty;
|
|
336
331
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -591,6 +586,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
591
586
|
var adContainerEl = (_contentVideo_AD_CONTAINER_PROP = contentVideo[AD_CONTAINER_PROP]) !== null && _contentVideo_AD_CONTAINER_PROP !== void 0 ? _contentVideo_AD_CONTAINER_PROP : void 0;
|
|
592
587
|
var adEventHandlers = [];
|
|
593
588
|
var currentAd;
|
|
589
|
+
var currentAdMediaUrl;
|
|
594
590
|
var podAds = [];
|
|
595
591
|
var podIndex = 0;
|
|
596
592
|
var sessionId;
|
|
@@ -1408,9 +1404,9 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1408
1404
|
delete contentVideo.dataset.stormcloudAdPlaying;
|
|
1409
1405
|
}
|
|
1410
1406
|
}
|
|
1411
|
-
function resetQuartileTracking(
|
|
1407
|
+
function resetQuartileTracking() {
|
|
1412
1408
|
trackingFired = {
|
|
1413
|
-
impression:
|
|
1409
|
+
impression: false,
|
|
1414
1410
|
start: false,
|
|
1415
1411
|
firstQuartile: false,
|
|
1416
1412
|
midpoint: false,
|
|
@@ -1418,6 +1414,27 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1418
1414
|
complete: false
|
|
1419
1415
|
};
|
|
1420
1416
|
}
|
|
1417
|
+
function markCreativeRendered(reason) {
|
|
1418
|
+
if (!currentAd || trackingFired.impression) return;
|
|
1419
|
+
trackingFired.impression = true;
|
|
1420
|
+
fireTrackingPixels(currentAd.trackingUrls.impression);
|
|
1421
|
+
console.log("[HlsAdPlayer] Impression (pod ".concat(podIndex + 1, "/").concat(podAds.length || 1, ", reason: ").concat(reason, "): ").concat(currentAd.title));
|
|
1422
|
+
emit("ad_impression", {
|
|
1423
|
+
adId: currentAd.id,
|
|
1424
|
+
title: currentAd.title,
|
|
1425
|
+
durationSeconds: currentAd.duration,
|
|
1426
|
+
mediaUrl: currentAdMediaUrl,
|
|
1427
|
+
podIndex: podIndex,
|
|
1428
|
+
podSize: podAds.length || 1,
|
|
1429
|
+
reason: reason
|
|
1430
|
+
});
|
|
1431
|
+
}
|
|
1432
|
+
function canDetectBlackFrames() {
|
|
1433
|
+
if (!adVideoElement) return false;
|
|
1434
|
+
if (requiresMediaPipelineResetAfterAds()) return false;
|
|
1435
|
+
if (isRvfcSupported(adVideoElement)) return true;
|
|
1436
|
+
return getDecodedVideoFrameCount(adVideoElement) !== void 0;
|
|
1437
|
+
}
|
|
1421
1438
|
function isRvfcSupported(video) {
|
|
1422
1439
|
return typeof video.requestVideoFrameCallback === "function";
|
|
1423
1440
|
}
|
|
@@ -1480,6 +1497,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1480
1497
|
if (!mediaFile) {
|
|
1481
1498
|
throw new Error("No media file available for ad");
|
|
1482
1499
|
}
|
|
1500
|
+
currentAdMediaUrl = mediaFile.url;
|
|
1483
1501
|
var isHlsAd = isHlsMediaFile(mediaFile);
|
|
1484
1502
|
console.log("[HlsAdPlayer] Loading ".concat(isHlsAd ? "HLS" : "progressive", " ad (pod ").concat(podIndex + 1, "/").concat(podAds.length || 1, ") from: ").concat(mediaFile.url));
|
|
1485
1503
|
if (isHlsAd && import_hls.default.isSupported()) {
|
|
@@ -1523,10 +1541,9 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1523
1541
|
}
|
|
1524
1542
|
podIndex++;
|
|
1525
1543
|
currentAd = podAds[podIndex];
|
|
1526
|
-
|
|
1544
|
+
currentAdMediaUrl = void 0;
|
|
1545
|
+
resetQuartileTracking();
|
|
1527
1546
|
if (currentAd) {
|
|
1528
|
-
fireTrackingPixels(currentAd.trackingUrls.impression);
|
|
1529
|
-
trackingFired.impression = true;
|
|
1530
1547
|
console.log("[HlsAdPlayer] Advancing to next pod ad (".concat(podIndex + 1, "/").concat(podAds.length, "): ").concat(currentAd.title, ", duration: ").concat(currentAd.duration, "s"));
|
|
1531
1548
|
}
|
|
1532
1549
|
clearStallWatchdog();
|
|
@@ -1621,6 +1638,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1621
1638
|
if (!adPlaying) return;
|
|
1622
1639
|
sawDecodedVideoFrame = true;
|
|
1623
1640
|
markRvfcReliable();
|
|
1641
|
+
markCreativeRendered("first_presented_frame");
|
|
1624
1642
|
};
|
|
1625
1643
|
try {
|
|
1626
1644
|
videoFrameCallbackHandle = rvfc.call(adVideoElement, onPresentedFrame);
|
|
@@ -1655,6 +1673,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1655
1673
|
if (decodedFrames !== void 0 && decodedFrames > 0) {
|
|
1656
1674
|
sawDecodedVideoFrame = true;
|
|
1657
1675
|
markFrameCounterReliable();
|
|
1676
|
+
markCreativeRendered("decoded_frames");
|
|
1658
1677
|
} else if (adVideoElement.currentTime >= BLACKFRAME_MIN_PLAYBACK_S) {
|
|
1659
1678
|
var timeAdvancing = adVideoElement.currentTime > lastAdProgressPosition + 0.05;
|
|
1660
1679
|
if (isRvfcSupported(adVideoElement) && timeAdvancing && isRvfcReliable()) {
|
|
@@ -1667,6 +1686,9 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1667
1686
|
}
|
|
1668
1687
|
}
|
|
1669
1688
|
}
|
|
1689
|
+
if (!trackingFired.impression && !adVideoElement.paused && adVideoElement.currentTime >= BLACKFRAME_MIN_PLAYBACK_S && (sawDecodedVideoFrame || !canDetectBlackFrames())) {
|
|
1690
|
+
markCreativeRendered(sawDecodedVideoFrame ? "decoded_frames" : "sustained_playback");
|
|
1691
|
+
}
|
|
1670
1692
|
if (adVideoElement.currentTime > lastAdProgressPosition + 0.05) {
|
|
1671
1693
|
noteAdProgress();
|
|
1672
1694
|
return;
|
|
@@ -1805,11 +1827,9 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1805
1827
|
podAds = ads;
|
|
1806
1828
|
podIndex = 0;
|
|
1807
1829
|
currentAd = ads[0];
|
|
1830
|
+
currentAdMediaUrl = void 0;
|
|
1831
|
+
resetQuartileTracking();
|
|
1808
1832
|
console.log("[HlsAdPlayer] Pod parsed: ".concat(ads.length, ' ad(s), first="').concat(currentAd === null || currentAd === void 0 ? void 0 : currentAd.title, '", duration=').concat(currentAd === null || currentAd === void 0 ? void 0 : currentAd.duration, "s"));
|
|
1809
|
-
if (currentAd) {
|
|
1810
|
-
fireTrackingPixels(currentAd.trackingUrls.impression);
|
|
1811
|
-
trackingFired.impression = true;
|
|
1812
|
-
}
|
|
1813
1833
|
return [
|
|
1814
1834
|
2,
|
|
1815
1835
|
Promise.resolve()
|
|
@@ -1849,7 +1869,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1849
1869
|
contentVideo[AD_VIDEO_PROP] = adVideoElement;
|
|
1850
1870
|
}
|
|
1851
1871
|
setupAdEventListeners();
|
|
1852
|
-
resetQuartileTracking(
|
|
1872
|
+
resetQuartileTracking();
|
|
1853
1873
|
contentVolume = contentVideo.volume;
|
|
1854
1874
|
originalVolume = Math.max(0, Math.min(1, contentVolume || originalVolume));
|
|
1855
1875
|
if (!(options === null || options === void 0 ? void 0 : options.continueLiveStreamDuringAds)) {
|
|
@@ -1939,6 +1959,7 @@ function createHlsAdPlayer(contentVideo, options) {
|
|
|
1939
1959
|
}
|
|
1940
1960
|
}
|
|
1941
1961
|
currentAd = void 0;
|
|
1962
|
+
currentAdMediaUrl = void 0;
|
|
1942
1963
|
podAds = [];
|
|
1943
1964
|
podIndex = 0;
|
|
1944
1965
|
return [
|
|
@@ -3253,7 +3274,7 @@ function buildPlayerMetricEvent() {
|
|
|
3253
3274
|
if (debugAdTiming) {
|
|
3254
3275
|
console.log("[StormcloudVideoPlayer] playerId: ", playerId);
|
|
3255
3276
|
}
|
|
3256
|
-
captureAt = (_flags_captureAt = flags.captureAt) !== null && _flags_captureAt !== void 0 ? _flags_captureAt : /* @__PURE__ */ new Date().toISOString();
|
|
3277
|
+
captureAt = (_flags_captureAt = flags.captureAt) !== null && _flags_captureAt !== void 0 ? _flags_captureAt : (/* @__PURE__ */ new Date()).toISOString();
|
|
3257
3278
|
return [
|
|
3258
3279
|
2,
|
|
3259
3280
|
_object_spread({
|
|
@@ -3272,8 +3293,19 @@ function buildPlayerMetricEvent() {
|
|
|
3272
3293
|
}).apply(this, arguments);
|
|
3273
3294
|
}
|
|
3274
3295
|
function publishTracking(licenseKey, channel, body) {
|
|
3296
|
+
var debug = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
|
|
3275
3297
|
ensureMQTTClient();
|
|
3276
|
-
|
|
3298
|
+
var topic = buildPlayerTopic(licenseKey, channel);
|
|
3299
|
+
var published = publishMQTT(topic, body);
|
|
3300
|
+
if (debug) {
|
|
3301
|
+
console.log("[StormcloudVideoPlayer] publishTracking:", JSON.stringify({
|
|
3302
|
+
licenseKey: licenseKey,
|
|
3303
|
+
channel: channel,
|
|
3304
|
+
topic: topic,
|
|
3305
|
+
body: body,
|
|
3306
|
+
published: published
|
|
3307
|
+
}, null, 2));
|
|
3308
|
+
}
|
|
3277
3309
|
}
|
|
3278
3310
|
function sendInitialTracking(_0) {
|
|
3279
3311
|
return _async_to_generator(function(licenseKey) {
|
|
@@ -3307,7 +3339,7 @@ function sendInitialTracking(_0) {
|
|
|
3307
3339
|
events: [
|
|
3308
3340
|
metricEvent
|
|
3309
3341
|
]
|
|
3310
|
-
});
|
|
3342
|
+
}, !!context.debugAdTiming);
|
|
3311
3343
|
return [
|
|
3312
3344
|
3,
|
|
3313
3345
|
4
|
|
@@ -3417,7 +3449,7 @@ function sendAdLoadedTracking(_0, _1) {
|
|
|
3417
3449
|
}
|
|
3418
3450
|
function sendAdImpressionTracking(_0, _1) {
|
|
3419
3451
|
return _async_to_generator(function(licenseKey, adImpressionInfo) {
|
|
3420
|
-
var context, metricEvent, error;
|
|
3452
|
+
var context, _adImpressionInfo_adUrl, metricEvent, error;
|
|
3421
3453
|
var _arguments = arguments;
|
|
3422
3454
|
return _ts_generator(this, function(_state) {
|
|
3423
3455
|
switch(_state.label){
|
|
@@ -3442,17 +3474,18 @@ function sendAdImpressionTracking(_0, _1) {
|
|
|
3442
3474
|
];
|
|
3443
3475
|
case 2:
|
|
3444
3476
|
metricEvent = _state.sent();
|
|
3445
|
-
publishTracking(licenseKey, "heartbeat", metricEvent);
|
|
3477
|
+
publishTracking(licenseKey, "heartbeat", metricEvent, !!context.debugAdTiming);
|
|
3446
3478
|
publishTracking(licenseKey, "impressions", {
|
|
3447
3479
|
events: [
|
|
3448
3480
|
{
|
|
3481
|
+
event_id: createUuid(),
|
|
3449
3482
|
player_id: metricEvent.player_id,
|
|
3450
3483
|
ad_played_count: 1,
|
|
3451
|
-
ad_url: adImpressionInfo.adUrl,
|
|
3484
|
+
ad_url: (_adImpressionInfo_adUrl = adImpressionInfo.adUrl) !== null && _adImpressionInfo_adUrl !== void 0 ? _adImpressionInfo_adUrl : adImpressionInfo.adId,
|
|
3452
3485
|
capture_at: adImpressionInfo.timestamp
|
|
3453
3486
|
}
|
|
3454
3487
|
]
|
|
3455
|
-
});
|
|
3488
|
+
}, !!context.debugAdTiming);
|
|
3456
3489
|
return [
|
|
3457
3490
|
3,
|
|
3458
3491
|
4
|
|
@@ -3497,7 +3530,7 @@ function sendHeartbeat(_0) {
|
|
|
3497
3530
|
];
|
|
3498
3531
|
case 2:
|
|
3499
3532
|
heartbeatData = _state.sent();
|
|
3500
|
-
publishTracking(licenseKey, "heartbeat", heartbeatData);
|
|
3533
|
+
publishTracking(licenseKey, "heartbeat", heartbeatData, !!context.debugAdTiming);
|
|
3501
3534
|
return [
|
|
3502
3535
|
3,
|
|
3503
3536
|
4
|
|
@@ -6330,7 +6363,7 @@ var AdTimingService = /*#__PURE__*/ function() {
|
|
|
6330
6363
|
var _this_callbacks_getAdState = this.callbacks.getAdState(), inAdBreak = _this_callbacks_getAdState.inAdBreak, showAds = _this_callbacks_getAdState.showAds, adPlaying = _this_callbacks_getAdState.adPlaying;
|
|
6331
6364
|
console.log("[StormcloudVideoPlayer][AdState]", _object_spread({
|
|
6332
6365
|
event: event,
|
|
6333
|
-
timestamp: /* @__PURE__ */ new Date().toISOString(),
|
|
6366
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
6334
6367
|
showAds: showAds,
|
|
6335
6368
|
adPlaying: adPlaying,
|
|
6336
6369
|
inAdBreak: inAdBreak,
|
|
@@ -7291,27 +7324,22 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
7291
7324
|
console.log("[POD] Playing pod ad ".concat((payload === null || payload === void 0 ? void 0 : payload.index) != null ? payload.index + 1 : "?", "/").concat((_ref = payload === null || payload === void 0 ? void 0 : payload.total) !== null && _ref !== void 0 ? _ref : "?"));
|
|
7292
7325
|
}
|
|
7293
7326
|
});
|
|
7294
|
-
adPlayer.on("
|
|
7295
|
-
|
|
7327
|
+
adPlayer.on("ad_impression", function(payload) {
|
|
7328
|
+
var impressionInfo = {
|
|
7296
7329
|
source: "hls",
|
|
7297
7330
|
adIndex: _this.timing.currentAdIndex,
|
|
7298
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
7299
|
-
}
|
|
7300
|
-
|
|
7301
|
-
|
|
7302
|
-
|
|
7303
|
-
|
|
7304
|
-
console.log("[StormcloudVideoPlayer] all_ads_completed event received - remaining=".concat(remaining, "ms, queued ads=").concat(_this.adRequestQueue.length), _this.adRequestQueue.length > 0 ? {
|
|
7305
|
-
queuedUrls: _to_consumable_array(_this.adRequestQueue)
|
|
7306
|
-
} : {});
|
|
7331
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
7332
|
+
};
|
|
7333
|
+
if (payload === null || payload === void 0 ? void 0 : payload.adId) impressionInfo.adId = payload.adId;
|
|
7334
|
+
if (payload === null || payload === void 0 ? void 0 : payload.mediaUrl) impressionInfo.adUrl = payload.mediaUrl;
|
|
7335
|
+
if ((payload === null || payload === void 0 ? void 0 : payload.durationSeconds) != null) {
|
|
7336
|
+
impressionInfo.durationSeconds = payload.durationSeconds;
|
|
7307
7337
|
}
|
|
7308
|
-
|
|
7309
|
-
if (_this.
|
|
7310
|
-
|
|
7311
|
-
} else {
|
|
7312
|
-
_this.handleAdPodComplete();
|
|
7338
|
+
sendAdImpressionTracking(_this.host.config.licenseKey, impressionInfo, _this.analyticsContext).catch(function(error) {
|
|
7339
|
+
if (_this.debug) {
|
|
7340
|
+
console.warn("[AdBreakOrchestrator] Failed to send ad impression tracking:", error);
|
|
7313
7341
|
}
|
|
7314
|
-
}
|
|
7342
|
+
});
|
|
7315
7343
|
});
|
|
7316
7344
|
adPlayer.on("ad_error", function(errorPayload) {
|
|
7317
7345
|
var errorMessage = "Ad playback failed";
|
|
@@ -7354,11 +7382,6 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
7354
7382
|
}
|
|
7355
7383
|
});
|
|
7356
7384
|
adPlayer.on("content_resume", function() {
|
|
7357
|
-
sendAdImpressionTracking(_this.host.config.licenseKey, {
|
|
7358
|
-
source: "hls",
|
|
7359
|
-
adIndex: _this.timing.currentAdIndex,
|
|
7360
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
7361
|
-
}, _this.analyticsContext).catch(function() {});
|
|
7362
7385
|
if (!_this.host.video.muted) {
|
|
7363
7386
|
_this.host.video.muted = true;
|
|
7364
7387
|
if (_this.debug) {
|
|
@@ -7596,7 +7619,7 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
7596
7619
|
sendAdLoadedTracking(this.host.config.licenseKey, {
|
|
7597
7620
|
source: "hls",
|
|
7598
7621
|
vastUrl: podUrl,
|
|
7599
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
7622
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
7600
7623
|
}, this.analyticsContext).catch(function() {});
|
|
7601
7624
|
this.timing.startAdFailsafeTimer(requestToken);
|
|
7602
7625
|
return [
|
|
@@ -8116,7 +8139,7 @@ var AdBreakOrchestrator = /*#__PURE__*/ function() {
|
|
|
8116
8139
|
sendAdLoadedTracking(this.host.config.licenseKey, {
|
|
8117
8140
|
source: "hls",
|
|
8118
8141
|
vastUrl: vastTagUrl,
|
|
8119
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
8142
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
8120
8143
|
}, this.analyticsContext).catch(function() {});
|
|
8121
8144
|
this.timing.clearAdRequestWatchdog();
|
|
8122
8145
|
if (this.timing.activeAdRequestToken !== requestToken) return [
|
|
@@ -9097,7 +9120,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
9097
9120
|
if (marker.ptsSeconds != null) detectPayload.ptsSeconds = marker.ptsSeconds;
|
|
9098
9121
|
sendAdDetectTracking(this.config.licenseKey, _object_spread({
|
|
9099
9122
|
source: "scte35",
|
|
9100
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
9123
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
9101
9124
|
}, detectPayload), buildAnalyticsContext(this.config)).catch(function() {});
|
|
9102
9125
|
}
|
|
9103
9126
|
var hasPrefetchedAds = this.adBreak.pendingAdBreak && this.adBreak.pendingAdBreak.vastUrls.length > 0;
|
|
@@ -9273,7 +9296,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
9273
9296
|
if (fragmentSn !== void 0) detectPayload.detectedAtFragmentSn = fragmentSn;
|
|
9274
9297
|
sendAdDetectTracking(this.config.licenseKey, _object_spread({
|
|
9275
9298
|
source: "scte35",
|
|
9276
|
-
timestamp: /* @__PURE__ */ new Date().toISOString()
|
|
9299
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
9277
9300
|
}, detectPayload), buildAnalyticsContext(this.config)).catch(function() {});
|
|
9278
9301
|
if (this.debug) {
|
|
9279
9302
|
console.log("[PREFETCH] Starting ad prefetch for upcoming ad break");
|