@mediakind/mkplayer 1.6.0 → 1.8.0
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 +6 -6
- package/mkplayer.js +1 -1
- package/package.json +3 -3
- package/types/alias/index.d.ts +1 -1
- package/types/classes/common/MKAzukiResponseUtils.js +68 -59
- package/types/classes/common/MKAzukiResponseUtils.js.map +1 -1
- package/types/classes/common/MKEventBase.js +11 -10
- package/types/classes/common/MKEventBase.js.map +1 -1
- package/types/classes/common/MKLocalStorage.js +64 -58
- package/types/classes/common/MKLocalStorage.js.map +1 -1
- package/types/classes/common/MKLog.js +49 -22
- package/types/classes/common/MKLog.js.map +1 -1
- package/types/classes/common/MKPlatform.js +190 -101
- package/types/classes/common/MKPlatform.js.map +1 -1
- package/types/classes/common/MKProgramManager.js +37 -32
- package/types/classes/common/MKProgramManager.js.map +1 -1
- package/types/classes/common/MKSecureUrlManager.js +138 -109
- package/types/classes/common/MKSecureUrlManager.js.map +1 -1
- package/types/classes/common/MKSubtitleOverlay.js +69 -67
- package/types/classes/common/MKSubtitleOverlay.js.map +1 -1
- package/types/classes/common/MKThumbnailManager.js +264 -209
- package/types/classes/common/MKThumbnailManager.js.map +1 -1
- package/types/classes/common/MKUtils.js +164 -97
- package/types/classes/common/MKUtils.js.map +1 -1
- package/types/classes/error/MKAdobeSessionConcurrencyError.js +6 -5
- package/types/classes/error/MKAdobeSessionConcurrencyError.js.map +1 -1
- package/types/classes/error/MKAzukiRequestError.js +8 -7
- package/types/classes/error/MKAzukiRequestError.js.map +1 -1
- package/types/classes/error/MKBitmovinPlayerError.js +31 -12
- package/types/classes/error/MKBitmovinPlayerError.js.map +1 -1
- package/types/classes/error/MKHttpError.js +4 -3
- package/types/classes/error/MKHttpError.js.map +1 -1
- package/types/classes/error/MKPlayerError.js +5 -4
- package/types/classes/error/MKPlayerError.js.map +1 -1
- package/types/classes/error/MKProgramRestrictionError.js +11 -10
- package/types/classes/error/MKProgramRestrictionError.js.map +1 -1
- package/types/classes/player/MKBitmovinPlayer.js +665 -534
- package/types/classes/player/MKBitmovinPlayer.js.map +1 -1
- package/types/classes/player/MKPlayer.d.ts +5 -0
- package/types/classes/player/MKPlayer.js +790 -526
- package/types/classes/player/MKPlayer.js.map +1 -1
- package/types/classes/player/MKStubPlayer.d.ts +1 -0
- package/types/classes/player/MKStubPlayer.js +367 -0
- package/types/classes/player/MKStubPlayer.js.map +1 -0
- package/types/classes/request/MKAdobeSessionConcurrencyRequest.js +198 -126
- package/types/classes/request/MKAdobeSessionConcurrencyRequest.js.map +1 -1
- package/types/classes/request/MKAzukiRequest.js +385 -254
- package/types/classes/request/MKAzukiRequest.js.map +1 -1
- package/types/classes/request/MKHttpRequest.js +128 -89
- package/types/classes/request/MKHttpRequest.js.map +1 -1
- package/types/constants/MKAzukiRequestEndpoint.js +24 -24
- package/types/constants/MKAzukiRequestEndpoint.js.map +1 -1
- package/types/constants/MKConstants.js +1 -1
- package/types/enums/MKAnalyticsDataName.d.ts +8 -0
- package/types/enums/MKAnalyticsDataName.js +13 -0
- package/types/enums/MKAnalyticsDataName.js.map +1 -0
- package/types/enums/MKErrorCode.d.ts +1 -0
- package/types/enums/MKErrorCode.js +1 -0
- package/types/enums/MKErrorCode.js.map +1 -1
- package/types/enums/MKPlayerEvent.d.ts +7 -1
- package/types/enums/MKPlayerEvent.js +6 -0
- package/types/enums/MKPlayerEvent.js.map +1 -1
- package/types/enums/MKProgramRestrictionType.js.map +1 -1
- package/types/enums/index.d.ts +1 -0
- package/types/enums/index.js +3 -1
- package/types/enums/index.js.map +1 -1
- package/types/interfaces/MKAdVerification.d.ts +5 -0
- package/types/interfaces/MKAdVerification.js +3 -0
- package/types/interfaces/MKAdVerification.js.map +1 -0
- package/types/interfaces/MKAdaptationPlatformConfig.js +1 -1
- package/types/interfaces/MKAdaptationPlatformConfig.js.map +1 -1
- package/types/interfaces/MKBufferConfig.js +1 -1
- package/types/interfaces/MKBufferConfig.js.map +1 -1
- package/types/interfaces/MKBufferMediaTypeConfig.js +1 -1
- package/types/interfaces/MKBufferMediaTypeConfig.js.map +1 -1
- package/types/interfaces/MKDrmConfig.js +1 -1
- package/types/interfaces/MKDrmConfig.js.map +1 -1
- package/types/interfaces/MKPlayerConfig.d.ts +1 -0
- package/types/interfaces/MKRegisteredSource.d.ts +2 -1
- package/types/interfaces/events/MKAdVerificationEvent.d.ts +6 -0
- package/types/interfaces/events/MKAdVerificationEvent.js +3 -0
- package/types/interfaces/events/MKAdVerificationEvent.js.map +1 -0
- package/types/interfaces/events/MKAnalyticsDataEvent.d.ts +6 -0
- package/types/interfaces/events/MKAnalyticsDataEvent.js +3 -0
- package/types/interfaces/events/MKAnalyticsDataEvent.js.map +1 -0
- package/types/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +2 -1
- package/types/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +3 -3
- package/types/interfaces/events/MKVSPPSessionIdEvent.d.ts +4 -0
- package/types/interfaces/events/MKVSPPSessionIdEvent.js +3 -0
- package/types/interfaces/events/MKVSPPSessionIdEvent.js.map +1 -0
- package/types/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +2 -1
- package/types/interfaces/events/index.d.ts +3 -0
- package/types/interfaces/index.d.ts +2 -1
- package/types/src/alias/index.d.ts +1 -1
- package/types/src/classes/player/MKPlayer.d.ts +5 -0
- package/types/src/classes/player/MKStubPlayer.d.ts +1 -0
- package/types/src/enums/MKAnalyticsDataName.d.ts +8 -0
- package/types/src/enums/MKErrorCode.d.ts +1 -0
- package/types/src/enums/MKPlayerEvent.d.ts +7 -1
- package/types/src/enums/index.d.ts +1 -0
- package/types/src/interfaces/MKAdVerification.d.ts +5 -0
- package/types/src/interfaces/MKPlayerConfig.d.ts +1 -0
- package/types/src/interfaces/MKRegisteredSource.d.ts +2 -1
- package/types/src/interfaces/events/MKAdVerificationEvent.d.ts +6 -0
- package/types/src/interfaces/events/MKAnalyticsDataEvent.d.ts +6 -0
- package/types/src/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +2 -1
- package/types/src/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +3 -3
- package/types/src/interfaces/events/MKVSPPSessionIdEvent.d.ts +4 -0
- package/types/src/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +2 -1
- package/types/src/interfaces/events/index.d.ts +3 -0
- package/types/src/interfaces/index.d.ts +2 -1
- package/types/plugins/fmts/MKFMTSConfig.d.ts +0 -10
- package/types/plugins/fmts/MKFMTSController.d.ts +0 -39
- package/types/plugins/fmts/MKFMTSUtils.d.ts +0 -4
- package/types/plugins/fmts/index.d.ts +0 -2
- package/types/plugins/omsdk/index.d.ts +0 -0
|
@@ -1,43 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
2
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
18
|
exports.MKBitmovinPlayer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
var request_1 = require("../request");
|
|
20
|
+
var error_1 = require("../error");
|
|
21
|
+
var common_1 = require("../common");
|
|
22
|
+
var enums_1 = require("../../enums");
|
|
23
|
+
var bitmovin_player_1 = require("bitmovin-player");
|
|
24
|
+
var PlayStation4 = require("bitmovin-player/modules/bitmovinplayer-playstation4");
|
|
25
|
+
var PlayStation5 = require("bitmovin-player/modules/bitmovinplayer-playstation5");
|
|
26
|
+
var bitmovin_player_ui_1 = require("bitmovin-player-ui");
|
|
27
|
+
var MKBitmovinPlayer = exports.MKBitmovinPlayer = (function (_super) {
|
|
28
|
+
__extends(MKBitmovinPlayer, _super);
|
|
29
|
+
function MKBitmovinPlayer(videoContainer, playerConfig) {
|
|
30
|
+
var _a;
|
|
31
|
+
var _this = this;
|
|
32
|
+
var _b, _c, _d, _e, _f, _g;
|
|
33
|
+
_this = _super.call(this) || this;
|
|
34
|
+
_this.headers = null;
|
|
35
|
+
_this.headersForHlsAes = {};
|
|
36
|
+
_this.firstTimeChangedUpdate = false;
|
|
37
|
+
_this.hasPreroll = false;
|
|
38
|
+
_this.enableAdTrackingBeacons = true;
|
|
39
|
+
_this.enableSubtitleOverlay = true;
|
|
40
|
+
_this.adQuartileOffsets = [];
|
|
41
|
+
_this.adTrackingList = [];
|
|
42
|
+
_this.vsppSessionIdParsed = false;
|
|
21
43
|
if (!playerConfig.key) {
|
|
22
44
|
throw new Error("Invalid player license key.");
|
|
23
45
|
}
|
|
24
|
-
|
|
46
|
+
_this.videoContainer = videoContainer;
|
|
25
47
|
if (playerConfig.enableAdTrackingBeacons !== undefined) {
|
|
26
|
-
|
|
48
|
+
_this.enableAdTrackingBeacons = playerConfig.enableAdTrackingBeacons;
|
|
27
49
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
50
|
+
_this.playerUIEnabled = (_b = playerConfig.ui) !== null && _b !== void 0 ? _b : false;
|
|
51
|
+
_this.enableSubtitleOverlay = _this.playerUIEnabled ? false : (_c = playerConfig.enableSubtitleOverlay) !== null && _c !== void 0 ? _c : true;
|
|
52
|
+
_this.playerConfig = {
|
|
31
53
|
key: playerConfig.key,
|
|
32
54
|
ui: false,
|
|
33
55
|
logs: {
|
|
34
56
|
bitmovin: false,
|
|
35
|
-
level: (
|
|
57
|
+
level: (_e = (_d = playerConfig.log) === null || _d === void 0 ? void 0 : _d.level) !== null && _e !== void 0 ? _e : bitmovin_player_1.LogLevel.ERROR
|
|
36
58
|
},
|
|
37
59
|
analytics: typeof (playerConfig.analytics) === "object" ? playerConfig.analytics : typeof (playerConfig.analytics) === "boolean" ? playerConfig.analytics : false,
|
|
38
60
|
live: playerConfig.live,
|
|
39
|
-
buffer: (
|
|
40
|
-
playback: (
|
|
61
|
+
buffer: (_f = playerConfig.buffer) !== null && _f !== void 0 ? _f : MKBitmovinPlayer.DEFAULT_BUFFER_CONFIG,
|
|
62
|
+
playback: (_g = playerConfig.playback) !== null && _g !== void 0 ? _g : MKBitmovinPlayer.DEFAULT_PLAYBACK_CONFIG,
|
|
41
63
|
adaptation: playerConfig.adaptation,
|
|
42
64
|
remotecontrol: playerConfig.cast,
|
|
43
65
|
style: {
|
|
@@ -49,123 +71,152 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
49
71
|
file_protocol: true,
|
|
50
72
|
native_hls_parsing: true,
|
|
51
73
|
enable_seek_for_live: true,
|
|
52
|
-
fairplay_ignore_duplicate_init_data_key_errors: true
|
|
74
|
+
fairplay_ignore_duplicate_init_data_key_errors: true,
|
|
75
|
+
parse_emsg_boxes: !playerConfig.skipEmsgBoxes
|
|
53
76
|
},
|
|
54
77
|
network: {
|
|
55
|
-
preprocessHttpRequest: ((requestType, request)
|
|
78
|
+
preprocessHttpRequest: (function (requestType, request) {
|
|
56
79
|
var _a, _b, _c, _d;
|
|
57
80
|
if (request) {
|
|
58
81
|
if (requestType === bitmovin_player_1.HttpRequestType.DRM_CERTIFICATE_FAIRPLAY || requestType === bitmovin_player_1.HttpRequestType.DRM_LICENSE_FAIRPLAY) {
|
|
59
|
-
if (((_b = (_a =
|
|
60
|
-
request.url = common_1.MKUtils.updateURLQueryParams(request.url, { "key_id":
|
|
82
|
+
if (((_b = (_a = _this.sourceConfig) === null || _a === void 0 ? void 0 : _a.drm) === null || _b === void 0 ? void 0 : _b.usingAzuki) !== false && _this.fpsContentId && ((_d = (_c = _this.sourceConfig) === null || _c === void 0 ? void 0 : _c.drm) === null || _d === void 0 ? void 0 : _d.fairplay)) {
|
|
83
|
+
request.url = common_1.MKUtils.updateURLQueryParams(request.url, { "key_id": _this.fpsContentId });
|
|
61
84
|
}
|
|
62
85
|
}
|
|
63
|
-
if (
|
|
64
|
-
if (
|
|
65
|
-
request.headers =
|
|
86
|
+
if (Object.keys(_this.headersForHlsAes).length > 0) {
|
|
87
|
+
if (requestType === bitmovin_player_1.HttpRequestType.KEY_HLS_AES) {
|
|
88
|
+
request.headers = _this.headersForHlsAes;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (_this.headers && Object.keys(_this.headers).length > 0) {
|
|
92
|
+
if (requestType === bitmovin_player_1.HttpRequestType.MANIFEST_DASH || requestType === bitmovin_player_1.HttpRequestType.MANIFEST_HLS_MASTER || requestType === bitmovin_player_1.HttpRequestType.MANIFEST_HLS_VARIANT) {
|
|
93
|
+
request.headers = _this.headers;
|
|
66
94
|
}
|
|
67
95
|
}
|
|
68
96
|
}
|
|
69
97
|
return Promise.resolve(request);
|
|
70
|
-
})
|
|
98
|
+
}),
|
|
99
|
+
preprocessHttpResponse: (function (type, response) {
|
|
100
|
+
if (!_this.vsppSessionIdParsed && response.body &&
|
|
101
|
+
(type === bitmovin_player_1.HttpRequestType.MANIFEST_DASH || type === bitmovin_player_1.HttpRequestType.MANIFEST_HLS_MASTER)) {
|
|
102
|
+
_this.vsppSessionIdParsed = true;
|
|
103
|
+
var body = response.body.toString();
|
|
104
|
+
var context_1 = "context ";
|
|
105
|
+
var regex = new RegExp(context_1 + "\.*\\b");
|
|
106
|
+
var match = body.match(regex);
|
|
107
|
+
if (!!match) {
|
|
108
|
+
var vsppSessionId = match[0].replace(context_1, "");
|
|
109
|
+
common_1.MKLog.debug("preprocessHttpResponse - vsppSessionId: " + vsppSessionId);
|
|
110
|
+
if (vsppSessionId.length) {
|
|
111
|
+
var event_1 = {
|
|
112
|
+
vsppSessionId: vsppSessionId,
|
|
113
|
+
type: enums_1.MKPlayerEvent.VSPPSessionIdAvailable,
|
|
114
|
+
timestamp: common_1.MKUtils.getCurrentTimestamp()
|
|
115
|
+
};
|
|
116
|
+
_this.emit(enums_1.MKPlayerEvent.VSPPSessionIdAvailable, event_1);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return Promise.resolve(response);
|
|
121
|
+
}),
|
|
71
122
|
},
|
|
72
|
-
events: {
|
|
73
|
-
[bitmovin_player_1.PlayerEvent.AirplayAvailable]
|
|
74
|
-
|
|
123
|
+
events: (_a = {},
|
|
124
|
+
_a[bitmovin_player_1.PlayerEvent.AirplayAvailable] = function (event) {
|
|
125
|
+
_this.emit(enums_1.MKPlayerEvent.AirplayAvailable, event);
|
|
75
126
|
},
|
|
76
|
-
[bitmovin_player_1.PlayerEvent.AirplayChanged]
|
|
77
|
-
|
|
127
|
+
_a[bitmovin_player_1.PlayerEvent.AirplayChanged] = function (event) {
|
|
128
|
+
_this.emit(enums_1.MKPlayerEvent.AirplayChanged, event);
|
|
78
129
|
},
|
|
79
|
-
[bitmovin_player_1.PlayerEvent.AspectRatioChanged]
|
|
80
|
-
|
|
130
|
+
_a[bitmovin_player_1.PlayerEvent.AspectRatioChanged] = function (event) {
|
|
131
|
+
_this.emit(enums_1.MKPlayerEvent.AspectRatioChanged, event);
|
|
81
132
|
},
|
|
82
|
-
[bitmovin_player_1.PlayerEvent.AudioAdaptation]
|
|
83
|
-
|
|
133
|
+
_a[bitmovin_player_1.PlayerEvent.AudioAdaptation] = function (event) {
|
|
134
|
+
_this.emit(enums_1.MKPlayerEvent.AudioAdaptation, event);
|
|
84
135
|
},
|
|
85
|
-
[bitmovin_player_1.PlayerEvent.AudioAdded]
|
|
86
|
-
|
|
136
|
+
_a[bitmovin_player_1.PlayerEvent.AudioAdded] = function (event) {
|
|
137
|
+
_this.emit(enums_1.MKPlayerEvent.AudioAdded, event);
|
|
87
138
|
},
|
|
88
|
-
[bitmovin_player_1.PlayerEvent.AudioChanged]
|
|
89
|
-
|
|
139
|
+
_a[bitmovin_player_1.PlayerEvent.AudioChanged] = function (event) {
|
|
140
|
+
_this.emit(enums_1.MKPlayerEvent.AudioChanged, event);
|
|
90
141
|
},
|
|
91
|
-
[bitmovin_player_1.PlayerEvent.AudioDownloadQualityChange]
|
|
92
|
-
|
|
142
|
+
_a[bitmovin_player_1.PlayerEvent.AudioDownloadQualityChange] = function (event) {
|
|
143
|
+
_this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChange, event);
|
|
93
144
|
},
|
|
94
|
-
[bitmovin_player_1.PlayerEvent.AudioDownloadQualityChanged]
|
|
95
|
-
|
|
145
|
+
_a[bitmovin_player_1.PlayerEvent.AudioDownloadQualityChanged] = function (event) {
|
|
146
|
+
_this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChanged, event);
|
|
96
147
|
},
|
|
97
|
-
[bitmovin_player_1.PlayerEvent.AudioPlaybackQualityChanged]
|
|
98
|
-
|
|
148
|
+
_a[bitmovin_player_1.PlayerEvent.AudioPlaybackQualityChanged] = function (event) {
|
|
149
|
+
_this.emit(enums_1.MKPlayerEvent.AudioPlaybackQualityChanged, event);
|
|
99
150
|
},
|
|
100
|
-
[bitmovin_player_1.PlayerEvent.AudioQualityAdded]
|
|
101
|
-
|
|
151
|
+
_a[bitmovin_player_1.PlayerEvent.AudioQualityAdded] = function (event) {
|
|
152
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityAdded, event);
|
|
102
153
|
},
|
|
103
|
-
[bitmovin_player_1.PlayerEvent.AudioQualityChanged]
|
|
104
|
-
|
|
154
|
+
_a[bitmovin_player_1.PlayerEvent.AudioQualityChanged] = function (event) {
|
|
155
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityChanged, event);
|
|
105
156
|
},
|
|
106
|
-
[bitmovin_player_1.PlayerEvent.AudioQualityRemoved]
|
|
107
|
-
|
|
157
|
+
_a[bitmovin_player_1.PlayerEvent.AudioQualityRemoved] = function (event) {
|
|
158
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityRemoved, event);
|
|
108
159
|
},
|
|
109
|
-
[bitmovin_player_1.PlayerEvent.AudioRemoved]
|
|
110
|
-
|
|
160
|
+
_a[bitmovin_player_1.PlayerEvent.AudioRemoved] = function (event) {
|
|
161
|
+
_this.emit(enums_1.MKPlayerEvent.AudioRemoved, event);
|
|
111
162
|
},
|
|
112
|
-
[bitmovin_player_1.PlayerEvent.CastAvailable]
|
|
113
|
-
|
|
163
|
+
_a[bitmovin_player_1.PlayerEvent.CastAvailable] = function (event) {
|
|
164
|
+
_this.emit(enums_1.MKPlayerEvent.CastAvailable, event);
|
|
114
165
|
},
|
|
115
|
-
[bitmovin_player_1.PlayerEvent.CastStart]
|
|
116
|
-
|
|
166
|
+
_a[bitmovin_player_1.PlayerEvent.CastStart] = function (event) {
|
|
167
|
+
_this.emit(enums_1.MKPlayerEvent.CastStart, event);
|
|
117
168
|
},
|
|
118
|
-
[bitmovin_player_1.PlayerEvent.CastStarted]
|
|
119
|
-
|
|
169
|
+
_a[bitmovin_player_1.PlayerEvent.CastStarted] = function (event) {
|
|
170
|
+
_this.emit(enums_1.MKPlayerEvent.CastStarted, event);
|
|
120
171
|
},
|
|
121
|
-
[bitmovin_player_1.PlayerEvent.CastStopped]
|
|
122
|
-
|
|
172
|
+
_a[bitmovin_player_1.PlayerEvent.CastStopped] = function (event) {
|
|
173
|
+
_this.emit(enums_1.MKPlayerEvent.CastStopped, event);
|
|
123
174
|
},
|
|
124
|
-
[bitmovin_player_1.PlayerEvent.CastWaitingForDevice]
|
|
125
|
-
|
|
175
|
+
_a[bitmovin_player_1.PlayerEvent.CastWaitingForDevice] = function (event) {
|
|
176
|
+
_this.emit(enums_1.MKPlayerEvent.CastWaitingForDevice, event);
|
|
126
177
|
},
|
|
127
|
-
[bitmovin_player_1.PlayerEvent.DVRWindowExceeded]
|
|
128
|
-
|
|
178
|
+
_a[bitmovin_player_1.PlayerEvent.DVRWindowExceeded] = function (event) {
|
|
179
|
+
_this.emit(enums_1.MKPlayerEvent.DVRWindowExceeded, event);
|
|
129
180
|
},
|
|
130
|
-
[bitmovin_player_1.PlayerEvent.Destroy]
|
|
131
|
-
|
|
181
|
+
_a[bitmovin_player_1.PlayerEvent.Destroy] = function (event) {
|
|
182
|
+
_this.emit(enums_1.MKPlayerEvent.Destroy, event);
|
|
132
183
|
},
|
|
133
|
-
[bitmovin_player_1.PlayerEvent.DownloadFinished]
|
|
134
|
-
|
|
184
|
+
_a[bitmovin_player_1.PlayerEvent.DownloadFinished] = function (event) {
|
|
185
|
+
_this.emit(enums_1.MKPlayerEvent.DownloadFinished, event);
|
|
135
186
|
},
|
|
136
|
-
[bitmovin_player_1.PlayerEvent.DrmLicenseAdded]
|
|
137
|
-
|
|
187
|
+
_a[bitmovin_player_1.PlayerEvent.DrmLicenseAdded] = function (event) {
|
|
188
|
+
_this.emit(enums_1.MKPlayerEvent.DrmLicenseAdded, event);
|
|
138
189
|
},
|
|
139
|
-
[bitmovin_player_1.PlayerEvent.DurationChanged]
|
|
140
|
-
|
|
190
|
+
_a[bitmovin_player_1.PlayerEvent.DurationChanged] = function (event) {
|
|
191
|
+
_this.emit(enums_1.MKPlayerEvent.DurationChanged, event);
|
|
141
192
|
},
|
|
142
|
-
[bitmovin_player_1.PlayerEvent.Error]
|
|
143
|
-
|
|
144
|
-
|
|
193
|
+
_a[bitmovin_player_1.PlayerEvent.Error] = function (event) {
|
|
194
|
+
var mkerror = new error_1.MKBitmovinPlayerError(event);
|
|
195
|
+
var mkerrorEvent = {
|
|
145
196
|
timestamp: event.timestamp,
|
|
146
197
|
type: enums_1.MKPlayerEvent.Error,
|
|
147
198
|
name: mkerror.name,
|
|
148
199
|
code: mkerror.code,
|
|
149
200
|
message: mkerror.message
|
|
150
201
|
};
|
|
151
|
-
|
|
202
|
+
_this.emit(enums_1.MKPlayerEvent.Error, mkerrorEvent);
|
|
152
203
|
},
|
|
153
|
-
[bitmovin_player_1.PlayerEvent.LatencyModeChanged]
|
|
154
|
-
|
|
204
|
+
_a[bitmovin_player_1.PlayerEvent.LatencyModeChanged] = function (event) {
|
|
205
|
+
_this.emit(enums_1.MKPlayerEvent.LatencyModeChanged, event);
|
|
155
206
|
},
|
|
156
|
-
[bitmovin_player_1.PlayerEvent.Metadata]
|
|
207
|
+
_a[bitmovin_player_1.PlayerEvent.Metadata] = function (event) {
|
|
157
208
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
158
|
-
|
|
159
|
-
|
|
209
|
+
var metadataEvent = event;
|
|
210
|
+
_this.emit(enums_1.MKPlayerEvent.Metadata, metadataEvent);
|
|
160
211
|
if (metadataEvent.metadataType === enums_1.MKMetadataType.DATERANGE) {
|
|
161
|
-
|
|
212
|
+
var metadata = metadataEvent.metadata;
|
|
162
213
|
if ((metadata.class === "AD-BREAK" || metadata.class === "AD" || metadata.class === "ANALYTICS") &&
|
|
163
214
|
(metadata.clientAttributes && Object.keys(metadata.clientAttributes).length > 0)) {
|
|
164
215
|
if (metadata.class === "AD-BREAK") {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
216
|
+
_this.adQuartileOffsets = [];
|
|
217
|
+
_this.adStartedEvent = undefined;
|
|
218
|
+
_this.adBreakStartedEvent = undefined;
|
|
219
|
+
_this.adBreakStartedEvent = {
|
|
169
220
|
id: (_a = metadata.id.replace("-start", "")) !== null && _a !== void 0 ? _a : "",
|
|
170
221
|
adType: metadata.clientAttributes.adType === "pre-roll" ? enums_1.MKAdType.Preroll : metadata.clientAttributes.adType === "mid-roll" ? enums_1.MKAdType.Midroll : metadata.clientAttributes.adType === "post-roll" ? enums_1.MKAdType.Postroll : enums_1.MKAdType.Unknown,
|
|
171
222
|
adsCount: (_c = (_b = metadata.clientAttributes.adsCount) !== null && _b !== void 0 ? _b : metadata.clientAttributes.adIndex.split(":")[1]) !== null && _c !== void 0 ? _c : 0,
|
|
@@ -177,21 +228,21 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
177
228
|
timestamp: event.timestamp,
|
|
178
229
|
type: enums_1.MKPlayerEvent.AdBreakStarted
|
|
179
230
|
};
|
|
180
|
-
|
|
231
|
+
_this.emit(enums_1.MKPlayerEvent.AdBreakStarted, _this.adBreakStartedEvent);
|
|
181
232
|
}
|
|
182
|
-
if (
|
|
233
|
+
if (_this.adBreakStartedEvent) {
|
|
183
234
|
if (metadata.class === "AD") {
|
|
184
|
-
if (
|
|
185
|
-
|
|
186
|
-
id:
|
|
235
|
+
if (_this.adStartedEvent) {
|
|
236
|
+
var adFinishedEvent = {
|
|
237
|
+
id: _this.adStartedEvent.id,
|
|
187
238
|
timestamp: common_1.MKUtils.getCurrentTimestamp(),
|
|
188
239
|
type: enums_1.MKPlayerEvent.AdFinished
|
|
189
240
|
};
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
241
|
+
_this.emit(enums_1.MKPlayerEvent.AdFinished, adFinishedEvent);
|
|
242
|
+
_this.adStartedEvent = undefined;
|
|
243
|
+
_this.adQuartileOffsets = [];
|
|
193
244
|
}
|
|
194
|
-
|
|
245
|
+
_this.adStartedEvent = {
|
|
195
246
|
id: (_h = (_g = metadata.clientAttributes.adId) !== null && _g !== void 0 ? _g : metadata.id) !== null && _h !== void 0 ? _h : "",
|
|
196
247
|
adIndex: (_j = metadata.clientAttributes.adIndex.split(":")[0]) !== null && _j !== void 0 ? _j : "",
|
|
197
248
|
title: metadata.clientAttributes.adTitle,
|
|
@@ -206,50 +257,60 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
206
257
|
timestamp: event.timestamp,
|
|
207
258
|
type: enums_1.MKPlayerEvent.AdStarted
|
|
208
259
|
};
|
|
209
|
-
|
|
260
|
+
var companionAdsData = _this.processCompanionAds(metadata.clientAttributes.companionAds);
|
|
210
261
|
if (companionAdsData) {
|
|
211
|
-
|
|
212
|
-
id:
|
|
262
|
+
var companionAdEvent = {
|
|
263
|
+
id: _this.adStartedEvent.id,
|
|
213
264
|
companionAd: companionAdsData,
|
|
214
265
|
timestamp: event.timestamp,
|
|
215
266
|
type: enums_1.MKPlayerEvent.AdCompanion
|
|
216
267
|
};
|
|
217
|
-
|
|
268
|
+
_this.emit(enums_1.MKPlayerEvent.AdCompanion, companionAdEvent);
|
|
218
269
|
}
|
|
219
|
-
|
|
220
|
-
|
|
270
|
+
_this.adQuartileOffsets = _this.getAdQuartileOffsets(_this.adStartedEvent.offset, _this.adStartedEvent.duration);
|
|
271
|
+
_this.emit(enums_1.MKPlayerEvent.AdStarted, _this.adStartedEvent);
|
|
221
272
|
}
|
|
222
|
-
if (metadata.class === "ANALYTICS" &&
|
|
223
|
-
|
|
224
|
-
id:
|
|
273
|
+
if (metadata.class === "ANALYTICS" && _this.adStartedEvent) {
|
|
274
|
+
var adClickThroughEvent = {
|
|
275
|
+
id: _this.adStartedEvent.id,
|
|
225
276
|
adClick: metadata.clientAttributes.adClick,
|
|
226
277
|
adClickTracking: metadata.clientAttributes.adClickTracking,
|
|
227
278
|
timestamp: event.timestamp,
|
|
228
279
|
type: enums_1.MKPlayerEvent.AdClickThrough
|
|
229
280
|
};
|
|
230
|
-
|
|
231
|
-
if (
|
|
232
|
-
|
|
281
|
+
_this.emit(enums_1.MKPlayerEvent.AdClickThrough, adClickThroughEvent);
|
|
282
|
+
if (_this.enableAdTrackingBeacons) {
|
|
283
|
+
_this.updateAdTrackingList(metadata.clientAttributes.adUrls);
|
|
284
|
+
}
|
|
285
|
+
var adVerificationData = _this.getAdVerificationData(metadata.clientAttributes);
|
|
286
|
+
if (adVerificationData) {
|
|
287
|
+
var adVerificationEventData = {
|
|
288
|
+
id: _this.adStartedEvent.id,
|
|
289
|
+
adVerification: adVerificationData,
|
|
290
|
+
timestamp: event.timestamp,
|
|
291
|
+
type: enums_1.MKPlayerEvent.AdVerification
|
|
292
|
+
};
|
|
293
|
+
_this.emit(enums_1.MKPlayerEvent.AdVerification, adVerificationEventData);
|
|
233
294
|
}
|
|
234
295
|
}
|
|
235
296
|
}
|
|
236
297
|
}
|
|
237
298
|
}
|
|
238
299
|
},
|
|
239
|
-
[bitmovin_player_1.PlayerEvent.MetadataChanged]
|
|
240
|
-
|
|
300
|
+
_a[bitmovin_player_1.PlayerEvent.MetadataChanged] = function (event) {
|
|
301
|
+
_this.emit(enums_1.MKPlayerEvent.MetadataChanged, event);
|
|
241
302
|
},
|
|
242
|
-
[bitmovin_player_1.PlayerEvent.MetadataParsed]
|
|
303
|
+
_a[bitmovin_player_1.PlayerEvent.MetadataParsed] = function (event) {
|
|
243
304
|
var _a, _b;
|
|
244
|
-
|
|
305
|
+
var metadataParsedEvent = event;
|
|
245
306
|
if (metadataParsedEvent.metadataType === enums_1.MKMetadataType.DATERANGE &&
|
|
246
307
|
"class" in metadataParsedEvent.metadata && metadataParsedEvent.metadata.class === "AD-BREAK" &&
|
|
247
308
|
"clientAttributes" in metadataParsedEvent.metadata && metadataParsedEvent.metadata.clientAttributes) {
|
|
248
|
-
|
|
309
|
+
var clientAttributes = metadataParsedEvent.metadata.clientAttributes;
|
|
249
310
|
if ("adType" in clientAttributes && "adsCount" in clientAttributes) {
|
|
250
311
|
if (clientAttributes.adType === "pre-roll")
|
|
251
|
-
|
|
252
|
-
|
|
312
|
+
_this.hasPreroll = true;
|
|
313
|
+
var adMarkerEvent = {
|
|
253
314
|
adMarker: {
|
|
254
315
|
start: (_a = metadataParsedEvent.start) !== null && _a !== void 0 ? _a : 0,
|
|
255
316
|
end: (_b = metadataParsedEvent.end) !== null && _b !== void 0 ? _b : 0
|
|
@@ -257,124 +318,124 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
257
318
|
timestamp: common_1.MKUtils.getCurrentTimestamp(),
|
|
258
319
|
type: enums_1.MKPlayerEvent.AdMarker
|
|
259
320
|
};
|
|
260
|
-
|
|
321
|
+
_this.emit(enums_1.MKPlayerEvent.AdMarker, adMarkerEvent);
|
|
261
322
|
}
|
|
262
323
|
}
|
|
263
|
-
|
|
324
|
+
_this.emit(enums_1.MKPlayerEvent.MetadataParsed, metadataParsedEvent);
|
|
264
325
|
},
|
|
265
|
-
[bitmovin_player_1.PlayerEvent.Muted]
|
|
266
|
-
|
|
326
|
+
_a[bitmovin_player_1.PlayerEvent.Muted] = function (event) {
|
|
327
|
+
_this.emit(enums_1.MKPlayerEvent.Muted, event);
|
|
267
328
|
},
|
|
268
|
-
[bitmovin_player_1.PlayerEvent.Paused]
|
|
269
|
-
|
|
329
|
+
_a[bitmovin_player_1.PlayerEvent.Paused] = function (event) {
|
|
330
|
+
_this.emit(enums_1.MKPlayerEvent.Paused, event);
|
|
270
331
|
},
|
|
271
|
-
[bitmovin_player_1.PlayerEvent.PeriodSwitch]
|
|
272
|
-
|
|
332
|
+
_a[bitmovin_player_1.PlayerEvent.PeriodSwitch] = function (event) {
|
|
333
|
+
_this.emit(enums_1.MKPlayerEvent.PeriodSwitch, event);
|
|
273
334
|
},
|
|
274
|
-
[bitmovin_player_1.PlayerEvent.PeriodSwitched]
|
|
275
|
-
|
|
335
|
+
_a[bitmovin_player_1.PlayerEvent.PeriodSwitched] = function (event) {
|
|
336
|
+
_this.emit(enums_1.MKPlayerEvent.PeriodSwitched, event);
|
|
276
337
|
},
|
|
277
|
-
[bitmovin_player_1.PlayerEvent.Play]
|
|
278
|
-
|
|
338
|
+
_a[bitmovin_player_1.PlayerEvent.Play] = function (event) {
|
|
339
|
+
_this.emit(enums_1.MKPlayerEvent.Play, event);
|
|
279
340
|
},
|
|
280
|
-
[bitmovin_player_1.PlayerEvent.PlaybackFinished]
|
|
341
|
+
_a[bitmovin_player_1.PlayerEvent.PlaybackFinished] = function (event) {
|
|
281
342
|
var _a;
|
|
282
|
-
(_a =
|
|
283
|
-
|
|
343
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
344
|
+
_this.emit(enums_1.MKPlayerEvent.PlaybackFinished, event);
|
|
284
345
|
},
|
|
285
|
-
[bitmovin_player_1.PlayerEvent.PlaybackSpeedChanged]
|
|
286
|
-
|
|
346
|
+
_a[bitmovin_player_1.PlayerEvent.PlaybackSpeedChanged] = function (event) {
|
|
347
|
+
_this.emit(enums_1.MKPlayerEvent.PlaybackSpeedChanged, event);
|
|
287
348
|
},
|
|
288
|
-
[bitmovin_player_1.PlayerEvent.PlayerResized]
|
|
349
|
+
_a[bitmovin_player_1.PlayerEvent.PlayerResized] = function (event) {
|
|
289
350
|
var _a;
|
|
290
|
-
(_a =
|
|
291
|
-
|
|
351
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.updateFontSize();
|
|
352
|
+
_this.emit(enums_1.MKPlayerEvent.PlayerResized, event);
|
|
292
353
|
},
|
|
293
|
-
[bitmovin_player_1.PlayerEvent.Playing]
|
|
294
|
-
|
|
354
|
+
_a[bitmovin_player_1.PlayerEvent.Playing] = function (event) {
|
|
355
|
+
_this.emit(enums_1.MKPlayerEvent.Playing, event);
|
|
295
356
|
},
|
|
296
|
-
[bitmovin_player_1.PlayerEvent.Ready]
|
|
297
|
-
|
|
357
|
+
_a[bitmovin_player_1.PlayerEvent.Ready] = function (event) {
|
|
358
|
+
_this.emit(enums_1.MKPlayerEvent.Ready, event);
|
|
298
359
|
},
|
|
299
|
-
[bitmovin_player_1.PlayerEvent.Seek]
|
|
360
|
+
_a[bitmovin_player_1.PlayerEvent.Seek] = function (event) {
|
|
300
361
|
var _a;
|
|
301
|
-
(_a =
|
|
302
|
-
|
|
362
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
363
|
+
_this.emit(enums_1.MKPlayerEvent.Seek, event);
|
|
303
364
|
},
|
|
304
|
-
[bitmovin_player_1.PlayerEvent.Seeked]
|
|
305
|
-
|
|
306
|
-
|
|
365
|
+
_a[bitmovin_player_1.PlayerEvent.Seeked] = function (event) {
|
|
366
|
+
_this.emit(enums_1.MKPlayerEvent.Seeked, event);
|
|
367
|
+
_this.playStart = undefined;
|
|
307
368
|
},
|
|
308
|
-
[bitmovin_player_1.PlayerEvent.SegmentPlayback]
|
|
309
|
-
|
|
369
|
+
_a[bitmovin_player_1.PlayerEvent.SegmentPlayback] = function (event) {
|
|
370
|
+
_this.emit(enums_1.MKPlayerEvent.SegmentPlayback, event);
|
|
310
371
|
},
|
|
311
|
-
[bitmovin_player_1.PlayerEvent.SegmentRequestFinished]
|
|
312
|
-
|
|
372
|
+
_a[bitmovin_player_1.PlayerEvent.SegmentRequestFinished] = function (event) {
|
|
373
|
+
_this.emit(enums_1.MKPlayerEvent.SegmentRequestFinished, event);
|
|
313
374
|
},
|
|
314
|
-
[bitmovin_player_1.PlayerEvent.TimeShift]
|
|
375
|
+
_a[bitmovin_player_1.PlayerEvent.TimeShift] = function (event) {
|
|
315
376
|
var _a;
|
|
316
|
-
(_a =
|
|
317
|
-
|
|
377
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
378
|
+
_this.emit(enums_1.MKPlayerEvent.Seek, event);
|
|
318
379
|
},
|
|
319
|
-
[bitmovin_player_1.PlayerEvent.TimeShifted]
|
|
320
|
-
|
|
321
|
-
|
|
380
|
+
_a[bitmovin_player_1.PlayerEvent.TimeShifted] = function (event) {
|
|
381
|
+
_this.emit(enums_1.MKPlayerEvent.Seeked, event);
|
|
382
|
+
_this.playStart = undefined;
|
|
322
383
|
},
|
|
323
|
-
[bitmovin_player_1.PlayerEvent.ShowAirplayTargetPicker]
|
|
324
|
-
|
|
384
|
+
_a[bitmovin_player_1.PlayerEvent.ShowAirplayTargetPicker] = function (event) {
|
|
385
|
+
_this.emit(enums_1.MKPlayerEvent.ShowAirplayTargetPicker, event);
|
|
325
386
|
},
|
|
326
|
-
[bitmovin_player_1.PlayerEvent.SourceLoaded]
|
|
387
|
+
_a[bitmovin_player_1.PlayerEvent.SourceLoaded] = function (event) {
|
|
327
388
|
var _a;
|
|
328
|
-
if (
|
|
329
|
-
(_a =
|
|
330
|
-
|
|
389
|
+
if (_this.playerUIEnabled) {
|
|
390
|
+
(_a = _this.playerUI) === null || _a === void 0 ? void 0 : _a.release();
|
|
391
|
+
_this.playerUI = bitmovin_player_ui_1.UIFactory.buildDefaultSmallScreenUI(_this.player);
|
|
331
392
|
}
|
|
332
|
-
|
|
333
|
-
if (
|
|
393
|
+
var videoElement = _this.getVideoElement();
|
|
394
|
+
if (_this.enableSubtitleOverlay && !_this.subtitleOverlay && videoElement) {
|
|
334
395
|
try {
|
|
335
|
-
|
|
396
|
+
_this.subtitleOverlay = new common_1.MKSubtitleOverlay(videoElement);
|
|
336
397
|
}
|
|
337
398
|
catch (error) {
|
|
338
399
|
common_1.MKLog.error(error);
|
|
339
400
|
}
|
|
340
401
|
}
|
|
341
|
-
|
|
402
|
+
_this.emit(enums_1.MKPlayerEvent.SourceLoaded, event);
|
|
342
403
|
},
|
|
343
|
-
[bitmovin_player_1.PlayerEvent.SourceUnloaded]
|
|
344
|
-
|
|
404
|
+
_a[bitmovin_player_1.PlayerEvent.SourceUnloaded] = function (event) {
|
|
405
|
+
_this.emit(enums_1.MKPlayerEvent.SourceUnloaded, event);
|
|
345
406
|
},
|
|
346
|
-
[bitmovin_player_1.PlayerEvent.StallEnded]
|
|
347
|
-
|
|
407
|
+
_a[bitmovin_player_1.PlayerEvent.StallEnded] = function (event) {
|
|
408
|
+
_this.emit(enums_1.MKPlayerEvent.StallEnded, event);
|
|
348
409
|
},
|
|
349
|
-
[bitmovin_player_1.PlayerEvent.StallStarted]
|
|
410
|
+
_a[bitmovin_player_1.PlayerEvent.StallStarted] = function (event) {
|
|
350
411
|
var _a;
|
|
351
|
-
(_a =
|
|
352
|
-
|
|
412
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
413
|
+
_this.emit(enums_1.MKPlayerEvent.StallStarted, event);
|
|
353
414
|
},
|
|
354
|
-
[bitmovin_player_1.PlayerEvent.SubtitleAdded]
|
|
355
|
-
|
|
415
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleAdded] = function (event) {
|
|
416
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleAdded, event);
|
|
356
417
|
},
|
|
357
|
-
[bitmovin_player_1.PlayerEvent.SubtitleDisable]
|
|
358
|
-
|
|
418
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleDisable] = function (event) {
|
|
419
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleDisable, event);
|
|
359
420
|
},
|
|
360
|
-
[bitmovin_player_1.PlayerEvent.SubtitleDisabled]
|
|
421
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleDisabled] = function (event) {
|
|
361
422
|
var _a;
|
|
362
|
-
(_a =
|
|
363
|
-
|
|
423
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.disable();
|
|
424
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleDisabled, event);
|
|
364
425
|
},
|
|
365
|
-
[bitmovin_player_1.PlayerEvent.SubtitleEnable]
|
|
366
|
-
|
|
426
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleEnable] = function (event) {
|
|
427
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleEnable, event);
|
|
367
428
|
},
|
|
368
|
-
[bitmovin_player_1.PlayerEvent.SubtitleEnabled]
|
|
429
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleEnabled] = function (event) {
|
|
369
430
|
var _a;
|
|
370
|
-
(_a =
|
|
371
|
-
|
|
431
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.enable();
|
|
432
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleEnabled, event);
|
|
372
433
|
},
|
|
373
|
-
[bitmovin_player_1.PlayerEvent.CueEnter]
|
|
434
|
+
_a[bitmovin_player_1.PlayerEvent.CueEnter] = function (event) {
|
|
374
435
|
var _a;
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
436
|
+
var cueEnterEvent = event;
|
|
437
|
+
_this.emit(enums_1.MKPlayerEvent.CueEnter, cueEnterEvent);
|
|
438
|
+
var subtitleCue = {
|
|
378
439
|
end: cueEnterEvent.end,
|
|
379
440
|
html: cueEnterEvent.html,
|
|
380
441
|
image: cueEnterEvent.image,
|
|
@@ -385,295 +446,335 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
385
446
|
subtitleId: cueEnterEvent.subtitleId,
|
|
386
447
|
text: cueEnterEvent.text
|
|
387
448
|
};
|
|
388
|
-
(_a =
|
|
449
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.show(subtitleCue);
|
|
389
450
|
},
|
|
390
|
-
[bitmovin_player_1.PlayerEvent.CueExit]
|
|
451
|
+
_a[bitmovin_player_1.PlayerEvent.CueExit] = function (event) {
|
|
391
452
|
var _a;
|
|
392
|
-
|
|
393
|
-
(_a =
|
|
453
|
+
_this.emit(enums_1.MKPlayerEvent.CueExit, event);
|
|
454
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
394
455
|
},
|
|
395
|
-
[bitmovin_player_1.PlayerEvent.CueParsed]
|
|
396
|
-
|
|
456
|
+
_a[bitmovin_player_1.PlayerEvent.CueParsed] = function (event) {
|
|
457
|
+
_this.emit(enums_1.MKPlayerEvent.CueParsed, event);
|
|
397
458
|
},
|
|
398
|
-
[bitmovin_player_1.PlayerEvent.CueUpdate]
|
|
399
|
-
|
|
459
|
+
_a[bitmovin_player_1.PlayerEvent.CueUpdate] = function (event) {
|
|
460
|
+
_this.emit(enums_1.MKPlayerEvent.CueUpdate, event);
|
|
400
461
|
},
|
|
401
|
-
[bitmovin_player_1.PlayerEvent.SubtitleRemoved]
|
|
462
|
+
_a[bitmovin_player_1.PlayerEvent.SubtitleRemoved] = function (event) {
|
|
402
463
|
var _a;
|
|
403
|
-
(_a =
|
|
404
|
-
|
|
405
|
-
},
|
|
406
|
-
[bitmovin_player_1.PlayerEvent.TargetLatencyChanged]
|
|
407
|
-
|
|
408
|
-
},
|
|
409
|
-
[bitmovin_player_1.PlayerEvent.TimeChanged]
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
if (
|
|
414
|
-
|
|
464
|
+
(_a = _this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.hide();
|
|
465
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleRemoved, event);
|
|
466
|
+
},
|
|
467
|
+
_a[bitmovin_player_1.PlayerEvent.TargetLatencyChanged] = function (event) {
|
|
468
|
+
_this.emit(enums_1.MKPlayerEvent.TargetLatencyChanged, event);
|
|
469
|
+
},
|
|
470
|
+
_a[bitmovin_player_1.PlayerEvent.TimeChanged] = function (event) {
|
|
471
|
+
var timeChangedEventdata = event;
|
|
472
|
+
_this.emit(enums_1.MKPlayerEvent.TimeChanged, timeChangedEventdata);
|
|
473
|
+
_this.emitAdEvents(timeChangedEventdata.time);
|
|
474
|
+
if (_this.enableAdTrackingBeacons) {
|
|
475
|
+
_this.notifyAdTracking(timeChangedEventdata.time);
|
|
415
476
|
}
|
|
416
|
-
if (!
|
|
417
|
-
|
|
418
|
-
if (
|
|
419
|
-
if (
|
|
420
|
-
if (
|
|
477
|
+
if (!_this.firstTimeChangedUpdate) {
|
|
478
|
+
_this.firstTimeChangedUpdate = true;
|
|
479
|
+
if (_this.sourceConfig && !_this.hasPreroll && _this.playStart !== undefined) {
|
|
480
|
+
if (_this.sourceConfig.assetType === enums_1.MKAssetType.Live || _this.sourceConfig.assetType === enums_1.MKAssetType.Event) {
|
|
481
|
+
if (_this.playStart === 1) {
|
|
421
482
|
common_1.MKLog.debug("Will seek to live edge!");
|
|
422
|
-
|
|
483
|
+
_this.seekToLiveEdge();
|
|
423
484
|
}
|
|
424
485
|
else {
|
|
425
|
-
common_1.MKLog.debug(
|
|
426
|
-
|
|
486
|
+
common_1.MKLog.debug("Will seek to offset ".concat(_this.playStart));
|
|
487
|
+
_this.seek(_this.playStart);
|
|
427
488
|
}
|
|
428
489
|
}
|
|
429
490
|
else {
|
|
430
|
-
common_1.MKLog.debug(
|
|
431
|
-
|
|
491
|
+
common_1.MKLog.debug("Will seek to offset ".concat(_this.playStart));
|
|
492
|
+
_this.seek(_this.playStart);
|
|
432
493
|
}
|
|
433
494
|
}
|
|
434
495
|
}
|
|
435
496
|
},
|
|
436
|
-
[bitmovin_player_1.PlayerEvent.Unmuted]
|
|
437
|
-
|
|
497
|
+
_a[bitmovin_player_1.PlayerEvent.Unmuted] = function (event) {
|
|
498
|
+
_this.emit(enums_1.MKPlayerEvent.Unmuted, event);
|
|
438
499
|
},
|
|
439
|
-
[bitmovin_player_1.PlayerEvent.VideoAdaptation]
|
|
440
|
-
|
|
500
|
+
_a[bitmovin_player_1.PlayerEvent.VideoAdaptation] = function (event) {
|
|
501
|
+
_this.emit(enums_1.MKPlayerEvent.VideoAdaptation, event);
|
|
441
502
|
},
|
|
442
|
-
[bitmovin_player_1.PlayerEvent.VideoDownloadQualityChange]
|
|
443
|
-
|
|
503
|
+
_a[bitmovin_player_1.PlayerEvent.VideoDownloadQualityChange] = function (event) {
|
|
504
|
+
_this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChange, event);
|
|
444
505
|
},
|
|
445
|
-
[bitmovin_player_1.PlayerEvent.VideoDownloadQualityChanged]
|
|
446
|
-
|
|
506
|
+
_a[bitmovin_player_1.PlayerEvent.VideoDownloadQualityChanged] = function (event) {
|
|
507
|
+
_this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChanged, event);
|
|
447
508
|
},
|
|
448
|
-
[bitmovin_player_1.PlayerEvent.VideoPlaybackQualityChanged]
|
|
449
|
-
|
|
509
|
+
_a[bitmovin_player_1.PlayerEvent.VideoPlaybackQualityChanged] = function (event) {
|
|
510
|
+
_this.emit(enums_1.MKPlayerEvent.VideoPlaybackQualityChanged, event);
|
|
450
511
|
},
|
|
451
|
-
[bitmovin_player_1.PlayerEvent.VideoQualityAdded]
|
|
452
|
-
|
|
512
|
+
_a[bitmovin_player_1.PlayerEvent.VideoQualityAdded] = function (event) {
|
|
513
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityAdded, event);
|
|
453
514
|
},
|
|
454
|
-
[bitmovin_player_1.PlayerEvent.VideoQualityChanged]
|
|
455
|
-
|
|
515
|
+
_a[bitmovin_player_1.PlayerEvent.VideoQualityChanged] = function (event) {
|
|
516
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityChanged, event);
|
|
456
517
|
},
|
|
457
|
-
[bitmovin_player_1.PlayerEvent.VideoQualityRemoved]
|
|
458
|
-
|
|
518
|
+
_a[bitmovin_player_1.PlayerEvent.VideoQualityRemoved] = function (event) {
|
|
519
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityRemoved, event);
|
|
459
520
|
},
|
|
460
|
-
[bitmovin_player_1.PlayerEvent.ViewModeChanged]
|
|
461
|
-
|
|
521
|
+
_a[bitmovin_player_1.PlayerEvent.ViewModeChanged] = function (event) {
|
|
522
|
+
_this.emit(enums_1.MKPlayerEvent.ViewModeChanged, event);
|
|
462
523
|
},
|
|
463
|
-
[bitmovin_player_1.PlayerEvent.VolumeChanged]
|
|
464
|
-
|
|
524
|
+
_a[bitmovin_player_1.PlayerEvent.VolumeChanged] = function (event) {
|
|
525
|
+
_this.emit(enums_1.MKPlayerEvent.VolumeChanged, event);
|
|
465
526
|
},
|
|
466
|
-
[bitmovin_player_1.PlayerEvent.Warning]
|
|
527
|
+
_a[bitmovin_player_1.PlayerEvent.Warning] = function (event) {
|
|
467
528
|
if ("code" in event && event.code === 1401) {
|
|
468
|
-
|
|
469
|
-
|
|
529
|
+
var mkerror = new error_1.MKBitmovinPlayerError(event);
|
|
530
|
+
var mkerrorEvent = {
|
|
470
531
|
timestamp: event.timestamp,
|
|
471
532
|
type: enums_1.MKPlayerEvent.Error,
|
|
472
533
|
name: mkerror.name,
|
|
473
534
|
code: mkerror.code,
|
|
474
535
|
message: mkerror.message
|
|
475
536
|
};
|
|
476
|
-
|
|
537
|
+
_this.emit(enums_1.MKPlayerEvent.Error, mkerrorEvent);
|
|
477
538
|
}
|
|
478
539
|
else {
|
|
479
540
|
common_1.MKLog.warn(JSON.stringify(event, null, 4));
|
|
480
541
|
}
|
|
542
|
+
},
|
|
543
|
+
_a)
|
|
544
|
+
};
|
|
545
|
+
if (_this.playerConfig.tweaks) {
|
|
546
|
+
if (common_1.MKPlatform.isPlayStation5()) {
|
|
547
|
+
bitmovin_player_1.Player.addModule(PlayStation5.default);
|
|
548
|
+
Object.assign(_this.playerConfig.tweaks, {
|
|
549
|
+
playstation_5: { playmode: '2K' }
|
|
550
|
+
});
|
|
551
|
+
}
|
|
552
|
+
if (common_1.MKPlatform.isPlayStation4()) {
|
|
553
|
+
bitmovin_player_1.Player.addModule(PlayStation4.default);
|
|
554
|
+
_this.playerConfig.tweaks["HLS_PARSE_MANIFEST_IN_WORKER"] = true;
|
|
555
|
+
}
|
|
556
|
+
if (common_1.MKPlatform.isComcastX1()) {
|
|
557
|
+
if (_this.playerConfig.playback) {
|
|
558
|
+
_this.playerConfig.playback.preferredTech = [{ 'player': bitmovin_player_1.PlayerType.Html5, 'streaming': bitmovin_player_1.StreamType.Hls }];
|
|
481
559
|
}
|
|
560
|
+
_this.playerConfig.adaptation = {
|
|
561
|
+
desktop: {
|
|
562
|
+
onAudioAdaptation: function (e) {
|
|
563
|
+
return (e.representations.length) ? e.representations[0].id : "";
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
Object.assign(_this.playerConfig.tweaks, {
|
|
568
|
+
MINIMUM_ALLOWED_UPDATE_PERIOD: 6,
|
|
569
|
+
MINIMAL_BACKWARD_BUFFER_CLEARING_INTERVAL: 2,
|
|
570
|
+
MIN_SIZE_FOR_GAP_SKIPPING: 0.15,
|
|
571
|
+
DOWNLOAD_DURATION_SAFETY_MARGIN: 0.5,
|
|
572
|
+
MAXIMUM_DOWNLOAD_DURATION_MULTIPLIER: 1
|
|
573
|
+
});
|
|
482
574
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
575
|
+
if (common_1.MKPlatform.isTizenTV() || common_1.MKPlatform.isWebOS() || common_1.MKPlatform.isComcastX1()) {
|
|
576
|
+
Object.assign(_this.playerConfig.tweaks, {
|
|
577
|
+
HLS_PARSE_MANIFEST_IN_WORKER: true
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
_this.player = new bitmovin_player_1.Player(_this.videoContainer, _this.playerConfig);
|
|
582
|
+
if (_this.player.getContainer().classList.contains('bitmovinplayer-container')) {
|
|
583
|
+
_this.player.getContainer().classList.remove('bitmovinplayer-container');
|
|
487
584
|
}
|
|
488
|
-
if (
|
|
489
|
-
|
|
585
|
+
if (_this.player.getContainer().classList.contains('aspect-16x9')) {
|
|
586
|
+
_this.player.getContainer().classList.remove('aspect-16x9');
|
|
490
587
|
}
|
|
588
|
+
return _this;
|
|
491
589
|
}
|
|
492
|
-
addCastMetadata(metadata) {
|
|
590
|
+
MKBitmovinPlayer.prototype.addCastMetadata = function (metadata) {
|
|
493
591
|
return this.player.addMetadata(bitmovin_player_1.MetadataType.CAST, metadata);
|
|
494
|
-
}
|
|
495
|
-
addSubtitle(subtitleTrack) {
|
|
592
|
+
};
|
|
593
|
+
MKBitmovinPlayer.prototype.addSubtitle = function (subtitleTrack) {
|
|
496
594
|
this.player.subtitles.add(subtitleTrack);
|
|
497
|
-
}
|
|
498
|
-
castStop() {
|
|
595
|
+
};
|
|
596
|
+
MKBitmovinPlayer.prototype.castStop = function () {
|
|
499
597
|
this.player.castStop();
|
|
500
|
-
}
|
|
501
|
-
castVideo() {
|
|
598
|
+
};
|
|
599
|
+
MKBitmovinPlayer.prototype.castVideo = function () {
|
|
502
600
|
this.player.castVideo();
|
|
503
|
-
}
|
|
504
|
-
destroy() {
|
|
601
|
+
};
|
|
602
|
+
MKBitmovinPlayer.prototype.destroy = function () {
|
|
505
603
|
var _a, _b, _c;
|
|
506
604
|
(_a = this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.disable();
|
|
507
605
|
(_b = this.subtitleOverlay) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
508
606
|
this.subtitleOverlay = undefined;
|
|
509
607
|
(_c = this.playerUI) === null || _c === void 0 ? void 0 : _c.release();
|
|
510
608
|
return this.player.destroy();
|
|
511
|
-
}
|
|
512
|
-
disableSubtitle(subtitleID) {
|
|
609
|
+
};
|
|
610
|
+
MKBitmovinPlayer.prototype.disableSubtitle = function (subtitleID) {
|
|
513
611
|
this.player.subtitles.disable(subtitleID);
|
|
514
|
-
}
|
|
515
|
-
enableSubtitle(subtitleID) {
|
|
612
|
+
};
|
|
613
|
+
MKBitmovinPlayer.prototype.enableSubtitle = function (subtitleID) {
|
|
516
614
|
this.player.subtitles.enable(subtitleID);
|
|
517
|
-
}
|
|
518
|
-
getAspectRatio() {
|
|
615
|
+
};
|
|
616
|
+
MKBitmovinPlayer.prototype.getAspectRatio = function () {
|
|
519
617
|
return this.player.getAspectRatio();
|
|
520
|
-
}
|
|
521
|
-
getAudio() {
|
|
522
|
-
|
|
618
|
+
};
|
|
619
|
+
MKBitmovinPlayer.prototype.getAudio = function () {
|
|
620
|
+
var audioTrack = this.player.getAudio();
|
|
523
621
|
if (audioTrack)
|
|
524
622
|
return audioTrack;
|
|
525
623
|
return null;
|
|
526
|
-
}
|
|
527
|
-
getAudioQuality() {
|
|
528
|
-
|
|
624
|
+
};
|
|
625
|
+
MKBitmovinPlayer.prototype.getAudioQuality = function () {
|
|
626
|
+
var audioQuality = this.player.getAudioQuality();
|
|
529
627
|
return audioQuality;
|
|
530
|
-
}
|
|
531
|
-
getAvailableAudio() {
|
|
532
|
-
|
|
628
|
+
};
|
|
629
|
+
MKBitmovinPlayer.prototype.getAvailableAudio = function () {
|
|
630
|
+
var audioTracks = this.player.getAvailableAudio();
|
|
533
631
|
return audioTracks;
|
|
534
|
-
}
|
|
535
|
-
getAvailableAudioQualities() {
|
|
536
|
-
|
|
632
|
+
};
|
|
633
|
+
MKBitmovinPlayer.prototype.getAvailableAudioQualities = function () {
|
|
634
|
+
var audioQualities = this.player.getAvailableAudioQualities();
|
|
537
635
|
return audioQualities;
|
|
538
|
-
}
|
|
539
|
-
getAvailableSubtitles() {
|
|
540
|
-
|
|
636
|
+
};
|
|
637
|
+
MKBitmovinPlayer.prototype.getAvailableSubtitles = function () {
|
|
638
|
+
var subtitleTracks = this.player.subtitles.list();
|
|
541
639
|
return subtitleTracks;
|
|
542
|
-
}
|
|
543
|
-
getAvailableVideoQualities() {
|
|
544
|
-
|
|
640
|
+
};
|
|
641
|
+
MKBitmovinPlayer.prototype.getAvailableVideoQualities = function () {
|
|
642
|
+
var videoQualities = this.player.getAvailableVideoQualities();
|
|
545
643
|
return videoQualities;
|
|
546
|
-
}
|
|
547
|
-
getBufferLevel(type, media) {
|
|
548
|
-
|
|
644
|
+
};
|
|
645
|
+
MKBitmovinPlayer.prototype.getBufferLevel = function (type, media) {
|
|
646
|
+
var bufferLevel = this.player.buffer.getLevel(type, media);
|
|
549
647
|
return bufferLevel;
|
|
550
|
-
}
|
|
551
|
-
getBufferedRanges() {
|
|
552
|
-
|
|
648
|
+
};
|
|
649
|
+
MKBitmovinPlayer.prototype.getBufferedRanges = function () {
|
|
650
|
+
var bufferedRanges = this.player.getBufferedRanges();
|
|
553
651
|
return bufferedRanges;
|
|
554
|
-
}
|
|
555
|
-
getVersion() {
|
|
652
|
+
};
|
|
653
|
+
MKBitmovinPlayer.prototype.getVersion = function () {
|
|
556
654
|
return bitmovin_player_1.Player.version;
|
|
557
|
-
}
|
|
558
|
-
getVideoContainer() {
|
|
655
|
+
};
|
|
656
|
+
MKBitmovinPlayer.prototype.getVideoContainer = function () {
|
|
559
657
|
return this.player.getContainer();
|
|
560
|
-
}
|
|
561
|
-
getCurrentTime(mode) {
|
|
658
|
+
};
|
|
659
|
+
MKBitmovinPlayer.prototype.getCurrentTime = function (mode) {
|
|
562
660
|
return this.player.getCurrentTime(mode);
|
|
563
|
-
}
|
|
564
|
-
getDownloadedAudioData() {
|
|
565
|
-
|
|
661
|
+
};
|
|
662
|
+
MKBitmovinPlayer.prototype.getDownloadedAudioData = function () {
|
|
663
|
+
var downloadedAudioData = this.player.getDownloadedAudioData();
|
|
566
664
|
return downloadedAudioData;
|
|
567
|
-
}
|
|
568
|
-
getDownloadedVideoData() {
|
|
569
|
-
|
|
665
|
+
};
|
|
666
|
+
MKBitmovinPlayer.prototype.getDownloadedVideoData = function () {
|
|
667
|
+
var downloadedVideoData = this.player.getDownloadedVideoData();
|
|
570
668
|
return downloadedVideoData;
|
|
571
|
-
}
|
|
572
|
-
getDroppedVideoFrames() {
|
|
669
|
+
};
|
|
670
|
+
MKBitmovinPlayer.prototype.getDroppedVideoFrames = function () {
|
|
573
671
|
return this.player.getDroppedVideoFrames();
|
|
574
|
-
}
|
|
575
|
-
getDuration() {
|
|
672
|
+
};
|
|
673
|
+
MKBitmovinPlayer.prototype.getDuration = function () {
|
|
576
674
|
if (this.isLive()) {
|
|
577
675
|
return (-1 * this.getMaxTimeShift());
|
|
578
676
|
}
|
|
579
677
|
return this.player.getDuration();
|
|
580
|
-
}
|
|
581
|
-
getMaxTimeShift() {
|
|
678
|
+
};
|
|
679
|
+
MKBitmovinPlayer.prototype.getMaxTimeShift = function () {
|
|
582
680
|
return this.player.getMaxTimeShift();
|
|
583
|
-
}
|
|
584
|
-
getPlaybackAudioData() {
|
|
585
|
-
|
|
681
|
+
};
|
|
682
|
+
MKBitmovinPlayer.prototype.getPlaybackAudioData = function () {
|
|
683
|
+
var audioQuality = this.player.getPlaybackAudioData();
|
|
586
684
|
return audioQuality;
|
|
587
|
-
}
|
|
588
|
-
getPlaybackSpeed() {
|
|
685
|
+
};
|
|
686
|
+
MKBitmovinPlayer.prototype.getPlaybackSpeed = function () {
|
|
589
687
|
return this.player.getPlaybackSpeed();
|
|
590
|
-
}
|
|
591
|
-
getPlaybackVideoData() {
|
|
592
|
-
|
|
688
|
+
};
|
|
689
|
+
MKBitmovinPlayer.prototype.getPlaybackVideoData = function () {
|
|
690
|
+
var videoQuality = this.player.getPlaybackVideoData();
|
|
593
691
|
return videoQuality;
|
|
594
|
-
}
|
|
595
|
-
getSeekableRange(mode) {
|
|
692
|
+
};
|
|
693
|
+
MKBitmovinPlayer.prototype.getSeekableRange = function (mode) {
|
|
596
694
|
if (mode == enums_1.MKTimeMode.RelativeTime && this.isLive()) {
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
695
|
+
var end = this.getCurrentTime(mode) + (-1 * this.getTimeShift());
|
|
696
|
+
var start = end - (-1 * this.getMaxTimeShift());
|
|
697
|
+
var seekableRange_1 = {
|
|
600
698
|
start: start < 0 ? 0 : start,
|
|
601
699
|
end: end
|
|
602
700
|
};
|
|
603
|
-
return
|
|
701
|
+
return seekableRange_1;
|
|
604
702
|
}
|
|
605
|
-
|
|
703
|
+
var seekableRange = this.player.getSeekableRange();
|
|
606
704
|
return seekableRange;
|
|
607
|
-
}
|
|
608
|
-
getThumbnail(time) {
|
|
609
|
-
|
|
705
|
+
};
|
|
706
|
+
MKBitmovinPlayer.prototype.getThumbnail = function (time) {
|
|
707
|
+
var thumbnail = this.player.getThumbnail(time);
|
|
610
708
|
if (thumbnail)
|
|
611
709
|
return thumbnail;
|
|
612
710
|
return null;
|
|
613
|
-
}
|
|
614
|
-
getTimeShift() {
|
|
711
|
+
};
|
|
712
|
+
MKBitmovinPlayer.prototype.getTimeShift = function () {
|
|
615
713
|
return this.player.getTimeShift();
|
|
616
|
-
}
|
|
617
|
-
getTotalStalledTime() {
|
|
714
|
+
};
|
|
715
|
+
MKBitmovinPlayer.prototype.getTotalStalledTime = function () {
|
|
618
716
|
return this.player.getTotalStalledTime();
|
|
619
|
-
}
|
|
620
|
-
getVideoElement() {
|
|
717
|
+
};
|
|
718
|
+
MKBitmovinPlayer.prototype.getVideoElement = function () {
|
|
621
719
|
return this.player.getVideoElement();
|
|
622
|
-
}
|
|
623
|
-
getVideoQuality() {
|
|
624
|
-
|
|
720
|
+
};
|
|
721
|
+
MKBitmovinPlayer.prototype.getVideoQuality = function () {
|
|
722
|
+
var videoQuality = this.player.getVideoQuality();
|
|
625
723
|
return videoQuality;
|
|
626
|
-
}
|
|
627
|
-
getViewMode() {
|
|
628
|
-
|
|
724
|
+
};
|
|
725
|
+
MKBitmovinPlayer.prototype.getViewMode = function () {
|
|
726
|
+
var viewMode = this.player.getViewMode();
|
|
629
727
|
return viewMode;
|
|
630
|
-
}
|
|
631
|
-
getVolume() {
|
|
728
|
+
};
|
|
729
|
+
MKBitmovinPlayer.prototype.getVolume = function () {
|
|
632
730
|
return this.player.getVolume();
|
|
633
|
-
}
|
|
634
|
-
hasEnded() {
|
|
731
|
+
};
|
|
732
|
+
MKBitmovinPlayer.prototype.hasEnded = function () {
|
|
635
733
|
return this.player.hasEnded();
|
|
636
|
-
}
|
|
637
|
-
isAirplayActive() {
|
|
734
|
+
};
|
|
735
|
+
MKBitmovinPlayer.prototype.isAirplayActive = function () {
|
|
638
736
|
return this.player.isAirplayActive();
|
|
639
|
-
}
|
|
640
|
-
isAirplayAvailable() {
|
|
737
|
+
};
|
|
738
|
+
MKBitmovinPlayer.prototype.isAirplayAvailable = function () {
|
|
641
739
|
return this.player.isAirplayAvailable();
|
|
642
|
-
}
|
|
643
|
-
isCastAvailable() {
|
|
740
|
+
};
|
|
741
|
+
MKBitmovinPlayer.prototype.isCastAvailable = function () {
|
|
644
742
|
return this.player.isCastAvailable();
|
|
645
|
-
}
|
|
646
|
-
isCasting() {
|
|
743
|
+
};
|
|
744
|
+
MKBitmovinPlayer.prototype.isCasting = function () {
|
|
647
745
|
return this.player.isCasting();
|
|
648
|
-
}
|
|
649
|
-
isLive() {
|
|
746
|
+
};
|
|
747
|
+
MKBitmovinPlayer.prototype.isLive = function () {
|
|
650
748
|
return this.player.isLive();
|
|
651
|
-
}
|
|
652
|
-
isMuted() {
|
|
749
|
+
};
|
|
750
|
+
MKBitmovinPlayer.prototype.isMuted = function () {
|
|
653
751
|
return this.player.isMuted();
|
|
654
|
-
}
|
|
655
|
-
isPaused() {
|
|
752
|
+
};
|
|
753
|
+
MKBitmovinPlayer.prototype.isPaused = function () {
|
|
656
754
|
return this.player.isPaused();
|
|
657
|
-
}
|
|
658
|
-
isPlaying() {
|
|
755
|
+
};
|
|
756
|
+
MKBitmovinPlayer.prototype.isPlaying = function () {
|
|
659
757
|
return this.player.isPlaying();
|
|
660
|
-
}
|
|
661
|
-
isStalled() {
|
|
758
|
+
};
|
|
759
|
+
MKBitmovinPlayer.prototype.isStalled = function () {
|
|
662
760
|
return this.player.isStalled();
|
|
663
|
-
}
|
|
664
|
-
isViewModeAvailable(viewMode) {
|
|
761
|
+
};
|
|
762
|
+
MKBitmovinPlayer.prototype.isViewModeAvailable = function (viewMode) {
|
|
665
763
|
return this.player.isViewModeAvailable(viewMode);
|
|
666
|
-
}
|
|
667
|
-
load(sourceConfig, disableSeeking) {
|
|
764
|
+
};
|
|
765
|
+
MKBitmovinPlayer.prototype.load = function (sourceConfig, disableSeeking) {
|
|
766
|
+
var _this = this;
|
|
668
767
|
var _a;
|
|
669
768
|
this.hasPreroll = false;
|
|
670
769
|
this.adTrackingList = [];
|
|
770
|
+
this.headersForHlsAes = {};
|
|
671
771
|
this.playStart = undefined;
|
|
672
772
|
this.fpsContentId = undefined;
|
|
673
773
|
this.firstTimeChangedUpdate = false;
|
|
674
774
|
this.sourceConfig = Object.assign({}, sourceConfig);
|
|
675
|
-
|
|
676
|
-
|
|
775
|
+
this.vsppSessionIdParsed = false;
|
|
776
|
+
var applyDefaultStartOffset = true;
|
|
777
|
+
var source = {};
|
|
677
778
|
source.title = sourceConfig.title;
|
|
678
779
|
source.description = sourceConfig.description;
|
|
679
780
|
source.poster = sourceConfig.poster;
|
|
@@ -687,44 +788,59 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
687
788
|
source.thumbnailTrack = sourceConfig.thumbnailTrack;
|
|
688
789
|
if (sourceConfig.drm) {
|
|
689
790
|
source.drm = Object.assign({}, sourceConfig.drm);
|
|
791
|
+
if (sourceConfig.drm.usingAzuki !== false && sourceConfig.drm.playready) {
|
|
792
|
+
if (common_1.MKPlatform.isPlayStation5() || common_1.MKPlatform.isPlayStation4() || common_1.MKPlatform.isWebOS()) {
|
|
793
|
+
Object.assign(sourceConfig.drm.playready, {
|
|
794
|
+
utf8message: true,
|
|
795
|
+
plaintextChallenge: true
|
|
796
|
+
});
|
|
797
|
+
}
|
|
798
|
+
}
|
|
690
799
|
if (sourceConfig.drm.usingAzuki !== false && source.drm.fairplay) {
|
|
691
|
-
source.drm.fairplay.prepareContentId = ((url)
|
|
692
|
-
|
|
800
|
+
source.drm.fairplay.prepareContentId = (function (url) {
|
|
801
|
+
var link = document.createElement('a');
|
|
693
802
|
link.href = url.substring(url.indexOf("skd://"));
|
|
694
803
|
if (link.href.length > 0) {
|
|
695
|
-
|
|
804
|
+
var urlParts = link.href.split("skd://", 2);
|
|
696
805
|
if (urlParts.length === 2) {
|
|
697
|
-
|
|
698
|
-
return
|
|
806
|
+
_this.fpsContentId = urlParts[1];
|
|
807
|
+
return _this.fpsContentId;
|
|
699
808
|
}
|
|
700
809
|
}
|
|
701
810
|
return link.hostname;
|
|
702
811
|
});
|
|
703
|
-
source.drm.fairplay.prepareCertificate = ((data)
|
|
812
|
+
source.drm.fairplay.prepareCertificate = (function (data) {
|
|
704
813
|
var _a, _b;
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
for (
|
|
814
|
+
var responseText = String.fromCharCode.apply(null, Array.from(new Uint8Array(data)));
|
|
815
|
+
var parser = new DOMParser();
|
|
816
|
+
var xmlDoc = parser.parseFromString(responseText, "text/xml");
|
|
817
|
+
var cert = (_b = (_a = xmlDoc.getElementsByTagName("cert")[0]) === null || _a === void 0 ? void 0 : _a.childNodes[0]) === null || _b === void 0 ? void 0 : _b.nodeValue;
|
|
818
|
+
var raw = common_1.MKUtils.base64Decode(cert !== null && cert !== void 0 ? cert : "");
|
|
819
|
+
var rawLength = raw.length;
|
|
820
|
+
var certificate = new Uint8Array(new ArrayBuffer(rawLength));
|
|
821
|
+
for (var i = 0; i < rawLength; i++) {
|
|
713
822
|
certificate[i] = raw.charCodeAt(i);
|
|
714
823
|
}
|
|
715
824
|
return certificate;
|
|
716
825
|
});
|
|
717
|
-
source.drm.fairplay.prepareMessage = ((event, _session)
|
|
718
|
-
return common_1.MKUtils.
|
|
826
|
+
source.drm.fairplay.prepareMessage = (function (event, _session) {
|
|
827
|
+
return common_1.MKUtils.base64EncodeUint8Array(event.message);
|
|
719
828
|
});
|
|
720
|
-
source.drm.fairplay.prepareLicense = ((data)
|
|
829
|
+
source.drm.fairplay.prepareLicense = (function (data) {
|
|
721
830
|
var _a, _b;
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
831
|
+
var parser = new DOMParser();
|
|
832
|
+
var xmlDoc = parser.parseFromString(data, "text/xml");
|
|
833
|
+
var cert = (_b = (_a = xmlDoc.getElementsByTagName("ckc")[0]) === null || _a === void 0 ? void 0 : _a.childNodes[0]) === null || _b === void 0 ? void 0 : _b.nodeValue;
|
|
725
834
|
return cert !== null && cert !== void 0 ? cert : "";
|
|
726
835
|
});
|
|
727
836
|
}
|
|
837
|
+
if (source.drm.clearkey && source.drm.clearkey.hasOwnProperty("LA_URL")) {
|
|
838
|
+
var clearkeyConfig = Object.assign({}, source.drm.clearkey);
|
|
839
|
+
if (clearkeyConfig.LA_URL.toLowerCase() === "hls_aes" && clearkeyConfig.headers && Object.keys(clearkeyConfig.headers).length > 0) {
|
|
840
|
+
this.headersForHlsAes = Object.assign({}, clearkeyConfig.headers);
|
|
841
|
+
source.drm = undefined;
|
|
842
|
+
}
|
|
843
|
+
}
|
|
728
844
|
}
|
|
729
845
|
if (sourceConfig.sourceOptions !== undefined) {
|
|
730
846
|
source.options = {
|
|
@@ -746,14 +862,14 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
746
862
|
if (sourceConfig.sourceOptions.startOffset < 0) {
|
|
747
863
|
source.options.startOffset = sourceConfig.sourceOptions.startOffset;
|
|
748
864
|
source.options.startOffsetTimelineReference = sourceConfig.sourceOptions.startOffsetTimelineReference;
|
|
749
|
-
common_1.MKLog.debug(
|
|
865
|
+
common_1.MKLog.debug("Will start playback directly at offset ".concat(sourceConfig.sourceOptions.startOffset));
|
|
750
866
|
}
|
|
751
867
|
else if (sourceConfig.sourceOptions.startOffset === 0) {
|
|
752
868
|
if (sourceConfig.assetType === enums_1.MKAssetType.Live) {
|
|
753
|
-
|
|
869
|
+
var timelineReferencePoint = (_a = sourceConfig.sourceOptions.startOffsetTimelineReference) !== null && _a !== void 0 ? _a : bitmovin_player_1.TimelineReferencePoint.End;
|
|
754
870
|
source.options.startOffset = -1;
|
|
755
871
|
source.options.startOffsetTimelineReference = timelineReferencePoint;
|
|
756
|
-
common_1.MKLog.debug(
|
|
872
|
+
common_1.MKLog.debug("Will start playback directly from ".concat(timelineReferencePoint === bitmovin_player_1.TimelineReferencePoint.End ? "live edge" : "beginning", " for live."));
|
|
757
873
|
}
|
|
758
874
|
else {
|
|
759
875
|
source.options.startOffset = -1;
|
|
@@ -769,22 +885,22 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
769
885
|
}
|
|
770
886
|
else {
|
|
771
887
|
this.playStart = sourceConfig.sourceOptions.startOffset;
|
|
772
|
-
common_1.MKLog.debug(
|
|
888
|
+
common_1.MKLog.debug("Will play preroll if available else seek to offset ".concat(this.playStart, " as soon as playback starts!"));
|
|
773
889
|
}
|
|
774
890
|
}
|
|
775
891
|
else {
|
|
776
892
|
if (sourceConfig.sourceOptions.startOffset > 0) {
|
|
777
893
|
if (sourceConfig.registered !== undefined) {
|
|
778
894
|
this.playStart = sourceConfig.sourceOptions.startOffset;
|
|
779
|
-
common_1.MKLog.debug(
|
|
895
|
+
common_1.MKLog.debug("Will play preroll if available else seek to offset ".concat(this.playStart, " as soon as playback starts!"));
|
|
780
896
|
}
|
|
781
897
|
else {
|
|
782
898
|
source.options.startOffset = sourceConfig.sourceOptions.startOffset;
|
|
783
|
-
common_1.MKLog.debug(
|
|
899
|
+
common_1.MKLog.debug("Will start playback directly at offset ".concat(sourceConfig.sourceOptions.startOffset));
|
|
784
900
|
}
|
|
785
901
|
}
|
|
786
902
|
else {
|
|
787
|
-
common_1.MKLog.warn(
|
|
903
|
+
common_1.MKLog.warn("Unsupported startOffset: ".concat(sourceConfig.sourceOptions.startOffset, " specified in sourceOptions!"));
|
|
788
904
|
}
|
|
789
905
|
}
|
|
790
906
|
}
|
|
@@ -796,14 +912,25 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
796
912
|
startOffsetTimelineReference: bitmovin_player_1.TimelineReferencePoint.Start
|
|
797
913
|
};
|
|
798
914
|
}
|
|
799
|
-
common_1.
|
|
915
|
+
if (common_1.MKPlatform.isTizenTV() || common_1.MKPlatform.isOperaTV() || common_1.MKPlatform.isComcastX1()) {
|
|
916
|
+
if (source.drm) {
|
|
917
|
+
source.drm.immediateLicenseRequest = true;
|
|
918
|
+
if (source.drm.widevine && source.drm.widevine.headers) {
|
|
919
|
+
source.drm.widevine.headers["Content-Type"] = "text/plain";
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
if (source.options) {
|
|
923
|
+
source.options.withCredentials = true;
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
common_1.MKLog.debug("Starting playback with source: ".concat(JSON.stringify(source, null, 4)));
|
|
800
927
|
return this.player.load(source, undefined, disableSeeking);
|
|
801
|
-
}
|
|
802
|
-
reload(start, sourceOptions) {
|
|
928
|
+
};
|
|
929
|
+
MKBitmovinPlayer.prototype.reload = function (start, sourceOptions) {
|
|
803
930
|
if (!this.sourceConfig) {
|
|
804
931
|
return Promise.reject(new Error("Invalid source configuration!"));
|
|
805
932
|
}
|
|
806
|
-
|
|
933
|
+
var sourceConfig = Object.assign({}, this.sourceConfig);
|
|
807
934
|
sourceConfig.sourceOptions = Object.assign({}, sourceOptions);
|
|
808
935
|
if (start !== undefined) {
|
|
809
936
|
if (!this.player.isLive()) {
|
|
@@ -820,29 +947,29 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
820
947
|
}
|
|
821
948
|
}
|
|
822
949
|
return this.load(sourceConfig);
|
|
823
|
-
}
|
|
824
|
-
mute(issuer) {
|
|
950
|
+
};
|
|
951
|
+
MKBitmovinPlayer.prototype.mute = function (issuer) {
|
|
825
952
|
this.player.mute(issuer);
|
|
826
|
-
}
|
|
827
|
-
pause(issuer) {
|
|
953
|
+
};
|
|
954
|
+
MKBitmovinPlayer.prototype.pause = function (issuer) {
|
|
828
955
|
this.player.pause(issuer);
|
|
829
|
-
}
|
|
830
|
-
play(issuer) {
|
|
956
|
+
};
|
|
957
|
+
MKBitmovinPlayer.prototype.play = function (issuer) {
|
|
831
958
|
return this.player.play(issuer);
|
|
832
|
-
}
|
|
833
|
-
preload() {
|
|
959
|
+
};
|
|
960
|
+
MKBitmovinPlayer.prototype.preload = function () {
|
|
834
961
|
this.player.preload();
|
|
835
|
-
}
|
|
836
|
-
removeSubtitle(subtitleID) {
|
|
962
|
+
};
|
|
963
|
+
MKBitmovinPlayer.prototype.removeSubtitle = function (subtitleID) {
|
|
837
964
|
this.player.subtitles.remove(subtitleID);
|
|
838
|
-
}
|
|
839
|
-
seek(time, issuer) {
|
|
965
|
+
};
|
|
966
|
+
MKBitmovinPlayer.prototype.seek = function (time, issuer) {
|
|
840
967
|
if (this.isLive()) {
|
|
841
|
-
|
|
968
|
+
var seekableRange = this.getSeekableRange(enums_1.MKTimeMode.RelativeTime);
|
|
842
969
|
if (time > seekableRange.end) {
|
|
843
970
|
seekableRange = this.getSeekableRange();
|
|
844
971
|
}
|
|
845
|
-
|
|
972
|
+
var seekOffset = time - seekableRange.end;
|
|
846
973
|
seekOffset = seekOffset < this.getMaxTimeShift() ? this.getMaxTimeShift() : seekOffset > 0 ? 0 : seekOffset;
|
|
847
974
|
this.player.timeShift(seekOffset, issuer);
|
|
848
975
|
return true;
|
|
@@ -850,106 +977,94 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
850
977
|
else {
|
|
851
978
|
return this.player.seek(time, issuer);
|
|
852
979
|
}
|
|
853
|
-
}
|
|
854
|
-
seekToLiveEdge(issuer) {
|
|
980
|
+
};
|
|
981
|
+
MKBitmovinPlayer.prototype.seekToLiveEdge = function (issuer) {
|
|
855
982
|
if (this.isLive()) {
|
|
856
983
|
this.player.timeShift(0, issuer);
|
|
857
984
|
}
|
|
858
|
-
}
|
|
859
|
-
setAspectRatio(aspectratio) {
|
|
985
|
+
};
|
|
986
|
+
MKBitmovinPlayer.prototype.setAspectRatio = function (aspectratio) {
|
|
860
987
|
this.player.setAspectRatio(aspectratio);
|
|
861
|
-
}
|
|
862
|
-
setAudio(trackID) {
|
|
988
|
+
};
|
|
989
|
+
MKBitmovinPlayer.prototype.setAudio = function (trackID) {
|
|
863
990
|
this.player.setAudio(trackID);
|
|
864
|
-
}
|
|
865
|
-
setHttpHeaders(headers) {
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
this.headers = Object.assign({}, existingHeaders, headers);
|
|
870
|
-
}
|
|
871
|
-
else {
|
|
872
|
-
this.headers = headers;
|
|
873
|
-
}
|
|
874
|
-
console.log("HEADERS: ", JSON.stringify(this.headers, null, 4));
|
|
875
|
-
}
|
|
876
|
-
else {
|
|
877
|
-
this.headers = null;
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
setAudioQuality(audioQualityID) {
|
|
991
|
+
};
|
|
992
|
+
MKBitmovinPlayer.prototype.setHttpHeaders = function (headers) {
|
|
993
|
+
this.headers = headers;
|
|
994
|
+
};
|
|
995
|
+
MKBitmovinPlayer.prototype.setAudioQuality = function (audioQualityID) {
|
|
881
996
|
this.player.setAudioQuality(audioQualityID);
|
|
882
|
-
}
|
|
883
|
-
setLogLevel(level) {
|
|
997
|
+
};
|
|
998
|
+
MKBitmovinPlayer.prototype.setLogLevel = function (level) {
|
|
884
999
|
this.player.setLogLevel(level);
|
|
885
|
-
}
|
|
886
|
-
setPlaybackSpeed(speed) {
|
|
1000
|
+
};
|
|
1001
|
+
MKBitmovinPlayer.prototype.setPlaybackSpeed = function (speed) {
|
|
887
1002
|
this.player.setPlaybackSpeed(speed);
|
|
888
|
-
}
|
|
889
|
-
setPosterImage(url, keepPersistent) {
|
|
1003
|
+
};
|
|
1004
|
+
MKBitmovinPlayer.prototype.setPosterImage = function (url, keepPersistent) {
|
|
890
1005
|
this.player.setPosterImage(url, keepPersistent);
|
|
891
|
-
}
|
|
892
|
-
setTargetBufferLevel(type, value, media) {
|
|
1006
|
+
};
|
|
1007
|
+
MKBitmovinPlayer.prototype.setTargetBufferLevel = function (type, value, media) {
|
|
893
1008
|
this.player.buffer.setTargetLevel(type, value, media);
|
|
894
|
-
}
|
|
895
|
-
setVideoElement(videoElement) {
|
|
1009
|
+
};
|
|
1010
|
+
MKBitmovinPlayer.prototype.setVideoElement = function (videoElement) {
|
|
896
1011
|
this.player.setVideoElement(videoElement);
|
|
897
|
-
}
|
|
898
|
-
setVideoQuality(videoQualityID) {
|
|
1012
|
+
};
|
|
1013
|
+
MKBitmovinPlayer.prototype.setVideoQuality = function (videoQualityID) {
|
|
899
1014
|
this.player.setVideoQuality(videoQualityID);
|
|
900
|
-
}
|
|
901
|
-
setViewMode(viewMode, options) {
|
|
902
|
-
|
|
1015
|
+
};
|
|
1016
|
+
MKBitmovinPlayer.prototype.setViewMode = function (viewMode, options) {
|
|
1017
|
+
var viewModeOptions = {};
|
|
903
1018
|
if (options)
|
|
904
1019
|
viewModeOptions;
|
|
905
1020
|
this.player.setViewMode(viewMode, viewModeOptions);
|
|
906
|
-
}
|
|
907
|
-
setVolume(volume, issuer) {
|
|
1021
|
+
};
|
|
1022
|
+
MKBitmovinPlayer.prototype.setVolume = function (volume, issuer) {
|
|
908
1023
|
this.player.setVolume(volume, issuer);
|
|
909
|
-
}
|
|
910
|
-
showAirplayTargetPicker() {
|
|
1024
|
+
};
|
|
1025
|
+
MKBitmovinPlayer.prototype.showAirplayTargetPicker = function () {
|
|
911
1026
|
this.player.showAirplayTargetPicker();
|
|
912
|
-
}
|
|
913
|
-
unload() {
|
|
1027
|
+
};
|
|
1028
|
+
MKBitmovinPlayer.prototype.unload = function () {
|
|
914
1029
|
var _a, _b, _c;
|
|
915
1030
|
(_a = this.subtitleOverlay) === null || _a === void 0 ? void 0 : _a.disable();
|
|
916
1031
|
(_b = this.subtitleOverlay) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
917
1032
|
this.subtitleOverlay = undefined;
|
|
918
1033
|
(_c = this.playerUI) === null || _c === void 0 ? void 0 : _c.release();
|
|
919
|
-
|
|
920
|
-
posters.forEach(poster
|
|
1034
|
+
var posters = document.querySelectorAll('.bitmovinplayer-poster');
|
|
1035
|
+
posters.forEach(function (poster) {
|
|
921
1036
|
poster.remove();
|
|
922
1037
|
});
|
|
923
1038
|
return this.player.unload();
|
|
924
|
-
}
|
|
925
|
-
unmute(issuer) {
|
|
1039
|
+
};
|
|
1040
|
+
MKBitmovinPlayer.prototype.unmute = function (issuer) {
|
|
926
1041
|
this.player.unmute(issuer);
|
|
927
|
-
}
|
|
928
|
-
getCatchupConfig() {
|
|
929
|
-
|
|
1042
|
+
};
|
|
1043
|
+
MKBitmovinPlayer.prototype.getCatchupConfig = function () {
|
|
1044
|
+
var config = this.player.lowlatency.getCatchupConfig();
|
|
930
1045
|
return config;
|
|
931
|
-
}
|
|
932
|
-
getFallbackConfig() {
|
|
933
|
-
|
|
1046
|
+
};
|
|
1047
|
+
MKBitmovinPlayer.prototype.getFallbackConfig = function () {
|
|
1048
|
+
var config = this.player.lowlatency.getFallbackConfig();
|
|
934
1049
|
return config;
|
|
935
|
-
}
|
|
936
|
-
getLatency() {
|
|
1050
|
+
};
|
|
1051
|
+
MKBitmovinPlayer.prototype.getLatency = function () {
|
|
937
1052
|
return this.player.lowlatency.getLatency();
|
|
938
|
-
}
|
|
939
|
-
getTargetLatency() {
|
|
1053
|
+
};
|
|
1054
|
+
MKBitmovinPlayer.prototype.getTargetLatency = function () {
|
|
940
1055
|
return this.player.lowlatency.getTargetLatency();
|
|
941
|
-
}
|
|
942
|
-
setCatchupConfig(config) {
|
|
1056
|
+
};
|
|
1057
|
+
MKBitmovinPlayer.prototype.setCatchupConfig = function (config) {
|
|
943
1058
|
this.player.lowlatency.setCatchupConfig(config);
|
|
944
|
-
}
|
|
945
|
-
setFallbackConfig(config) {
|
|
1059
|
+
};
|
|
1060
|
+
MKBitmovinPlayer.prototype.setFallbackConfig = function (config) {
|
|
946
1061
|
this.player.lowlatency.setFallbackConfig(config);
|
|
947
|
-
}
|
|
948
|
-
setTargetLatency(latency) {
|
|
1062
|
+
};
|
|
1063
|
+
MKBitmovinPlayer.prototype.setTargetLatency = function (latency) {
|
|
949
1064
|
this.player.lowlatency.setTargetLatency(latency);
|
|
950
|
-
}
|
|
951
|
-
getAdQuartileOffsets(adOffset, adDuration) {
|
|
952
|
-
|
|
1065
|
+
};
|
|
1066
|
+
MKBitmovinPlayer.prototype.getAdQuartileOffsets = function (adOffset, adDuration) {
|
|
1067
|
+
var quartileOffsets = [];
|
|
953
1068
|
if (adOffset.start >= 0 && adOffset.end > 0 && adDuration > 0) {
|
|
954
1069
|
quartileOffsets.push({
|
|
955
1070
|
quartile: enums_1.MKAdQuartile.FirstQuartile,
|
|
@@ -965,14 +1080,14 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
965
1080
|
});
|
|
966
1081
|
}
|
|
967
1082
|
return quartileOffsets;
|
|
968
|
-
}
|
|
969
|
-
emitAdEvents(currentTime) {
|
|
1083
|
+
};
|
|
1084
|
+
MKBitmovinPlayer.prototype.emitAdEvents = function (currentTime) {
|
|
970
1085
|
var _a, _b;
|
|
971
1086
|
if (this.adBreakStartedEvent && this.adStartedEvent) {
|
|
972
|
-
|
|
1087
|
+
var adQuartileOffsetsLength = this.adQuartileOffsets.length;
|
|
973
1088
|
while (adQuartileOffsetsLength--) {
|
|
974
1089
|
if (currentTime >= this.adQuartileOffsets[adQuartileOffsetsLength].startOffset) {
|
|
975
|
-
|
|
1090
|
+
var adQuartileEvent = {
|
|
976
1091
|
id: (_b = (_a = this.adStartedEvent) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "",
|
|
977
1092
|
quartile: this.adQuartileOffsets[adQuartileOffsetsLength].quartile,
|
|
978
1093
|
timestamp: common_1.MKUtils.getCurrentTimestamp(),
|
|
@@ -984,7 +1099,7 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
984
1099
|
}
|
|
985
1100
|
if (currentTime >= this.adBreakStartedEvent.offset.end) {
|
|
986
1101
|
if (this.adStartedEvent) {
|
|
987
|
-
|
|
1102
|
+
var adFinishedEvent = {
|
|
988
1103
|
id: this.adStartedEvent.id,
|
|
989
1104
|
timestamp: common_1.MKUtils.getCurrentTimestamp(),
|
|
990
1105
|
type: enums_1.MKPlayerEvent.AdFinished
|
|
@@ -993,8 +1108,8 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
993
1108
|
this.adStartedEvent = undefined;
|
|
994
1109
|
this.adQuartileOffsets = [];
|
|
995
1110
|
}
|
|
996
|
-
|
|
997
|
-
|
|
1111
|
+
var adType = this.adBreakStartedEvent.adType;
|
|
1112
|
+
var adBreakFinishedEvent = {
|
|
998
1113
|
id: this.adBreakStartedEvent.id,
|
|
999
1114
|
timestamp: common_1.MKUtils.getCurrentTimestamp(),
|
|
1000
1115
|
type: enums_1.MKPlayerEvent.AdBreakFinished
|
|
@@ -1008,34 +1123,35 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
1008
1123
|
this.seekToLiveEdge();
|
|
1009
1124
|
}
|
|
1010
1125
|
else {
|
|
1011
|
-
common_1.MKLog.debug(
|
|
1126
|
+
common_1.MKLog.debug("Will seek to given offset ".concat(this.playStart, " as preroll ended!"));
|
|
1012
1127
|
this.seek(this.playStart);
|
|
1013
1128
|
}
|
|
1014
1129
|
}
|
|
1015
1130
|
else {
|
|
1016
|
-
common_1.MKLog.debug(
|
|
1131
|
+
common_1.MKLog.debug("Will seek to given offset ".concat(this.playStart, " as preroll ended!"));
|
|
1017
1132
|
this.seek(this.playStart);
|
|
1018
1133
|
}
|
|
1019
1134
|
}
|
|
1020
1135
|
}
|
|
1021
1136
|
}
|
|
1022
|
-
}
|
|
1023
|
-
updateAdTrackingList(adUrls) {
|
|
1137
|
+
};
|
|
1138
|
+
MKBitmovinPlayer.prototype.updateAdTrackingList = function (adUrls) {
|
|
1139
|
+
var _this = this;
|
|
1024
1140
|
if (!!adUrls) {
|
|
1025
|
-
|
|
1026
|
-
urlParts.forEach((urlPart)
|
|
1027
|
-
|
|
1028
|
-
if (trackingInfoParts.length > 1 &&
|
|
1029
|
-
|
|
1141
|
+
var urlParts = adUrls.split(" ");
|
|
1142
|
+
urlParts.forEach(function (urlPart) {
|
|
1143
|
+
var trackingInfoParts = urlPart.split("|");
|
|
1144
|
+
if (trackingInfoParts.length > 1 && _this.adStartedEvent) {
|
|
1145
|
+
var offset = parseFloat(trackingInfoParts[0]);
|
|
1030
1146
|
if (isNaN(offset))
|
|
1031
1147
|
offset = 0;
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
for (
|
|
1148
|
+
var time = _this.adStartedEvent.offset.start + offset;
|
|
1149
|
+
var urls = [];
|
|
1150
|
+
for (var index = 1; index < trackingInfoParts.length; index++) {
|
|
1035
1151
|
urls.push(trackingInfoParts[index]);
|
|
1036
1152
|
}
|
|
1037
1153
|
if (urls.length > 0) {
|
|
1038
|
-
|
|
1154
|
+
_this.adTrackingList.push({
|
|
1039
1155
|
time: time,
|
|
1040
1156
|
urls: urls
|
|
1041
1157
|
});
|
|
@@ -1043,26 +1159,26 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
1043
1159
|
}
|
|
1044
1160
|
});
|
|
1045
1161
|
}
|
|
1046
|
-
}
|
|
1047
|
-
notifyAdTracking(currentTime) {
|
|
1048
|
-
|
|
1162
|
+
};
|
|
1163
|
+
MKBitmovinPlayer.prototype.notifyAdTracking = function (currentTime) {
|
|
1164
|
+
var index = this.adTrackingList.length;
|
|
1049
1165
|
while (index--) {
|
|
1050
1166
|
if (currentTime >= this.adTrackingList[index].time && this.adTrackingList[index].urls.length > 0) {
|
|
1051
|
-
this.adTrackingList[index].urls.forEach((url)
|
|
1052
|
-
|
|
1167
|
+
this.adTrackingList[index].urls.forEach(function (url) {
|
|
1168
|
+
var request = new request_1.MKHttpRequest();
|
|
1053
1169
|
request.get(url)
|
|
1054
|
-
.then(()
|
|
1170
|
+
.then(function () {
|
|
1055
1171
|
common_1.MKLog.debug("Ad tracking beacon notified successfully.");
|
|
1056
1172
|
})
|
|
1057
|
-
.catch(()
|
|
1173
|
+
.catch(function () {
|
|
1058
1174
|
common_1.MKLog.warn("Ad tracking beacon failed for url: ", url);
|
|
1059
1175
|
});
|
|
1060
1176
|
});
|
|
1061
1177
|
this.adTrackingList.splice(index, 1);
|
|
1062
1178
|
}
|
|
1063
1179
|
}
|
|
1064
|
-
}
|
|
1065
|
-
companionXMLToJson(xmlString) {
|
|
1180
|
+
};
|
|
1181
|
+
MKBitmovinPlayer.prototype.companionXMLToJson = function (xmlString) {
|
|
1066
1182
|
var obj = {};
|
|
1067
1183
|
if (xmlString.nodeType === 1) {
|
|
1068
1184
|
if (xmlString.attributes.length > 0) {
|
|
@@ -1151,8 +1267,8 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
1151
1267
|
}
|
|
1152
1268
|
}
|
|
1153
1269
|
return obj;
|
|
1154
|
-
}
|
|
1155
|
-
processCompanionAds(encodedCompanionAds) {
|
|
1270
|
+
};
|
|
1271
|
+
MKBitmovinPlayer.prototype.processCompanionAds = function (encodedCompanionAds) {
|
|
1156
1272
|
if (!encodedCompanionAds) {
|
|
1157
1273
|
return null;
|
|
1158
1274
|
}
|
|
@@ -1161,7 +1277,7 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
1161
1277
|
decodedCompanionAds = common_1.MKUtils.base64Decode(encodedCompanionAds);
|
|
1162
1278
|
}
|
|
1163
1279
|
catch (e) {
|
|
1164
|
-
common_1.MKLog.error(
|
|
1280
|
+
common_1.MKLog.error("Failed to decode the encoded companion ad string. Error: ".concat(e));
|
|
1165
1281
|
return null;
|
|
1166
1282
|
}
|
|
1167
1283
|
var parsedCompanionAds;
|
|
@@ -1169,26 +1285,41 @@ class MKBitmovinPlayer extends common_1.MKEventBase {
|
|
|
1169
1285
|
parsedCompanionAds = new DOMParser().parseFromString(decodedCompanionAds, "text/xml");
|
|
1170
1286
|
}
|
|
1171
1287
|
catch (e) {
|
|
1172
|
-
common_1.MKLog.error(
|
|
1288
|
+
common_1.MKLog.error("Failed to parse companion ad xml string. Error: ".concat(e));
|
|
1173
1289
|
return null;
|
|
1174
1290
|
}
|
|
1175
|
-
|
|
1291
|
+
var companionAdsJSON = this.companionXMLToJson(parsedCompanionAds);
|
|
1176
1292
|
return companionAdsJSON && companionAdsJSON.hasOwnProperty('companionAds') ? companionAdsJSON.companionAds : null;
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
};
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1293
|
+
};
|
|
1294
|
+
MKBitmovinPlayer.prototype.getAdVerificationData = function (attributes) {
|
|
1295
|
+
var _a, _b, _c;
|
|
1296
|
+
var verificationData;
|
|
1297
|
+
var adVerVendor = (_a = attributes.adVerVendor) !== null && _a !== void 0 ? _a : "";
|
|
1298
|
+
var adVerJS = (_b = attributes.adVerJs) !== null && _b !== void 0 ? _b : "";
|
|
1299
|
+
var adVerParams = (_c = attributes.adVerParams) !== null && _c !== void 0 ? _c : "";
|
|
1300
|
+
if (adVerVendor && adVerJS && adVerParams) {
|
|
1301
|
+
verificationData = {
|
|
1302
|
+
adVerVendor: adVerVendor,
|
|
1303
|
+
adVerJS: adVerJS,
|
|
1304
|
+
adVerParams: adVerParams
|
|
1305
|
+
};
|
|
1306
|
+
}
|
|
1307
|
+
return verificationData;
|
|
1308
|
+
};
|
|
1309
|
+
MKBitmovinPlayer.DEFAULT_BUFFER_CONFIG = {
|
|
1310
|
+
video: {
|
|
1311
|
+
forwardduration: 20,
|
|
1312
|
+
backwardduration: 12,
|
|
1313
|
+
},
|
|
1314
|
+
audio: {
|
|
1315
|
+
forwardduration: 20,
|
|
1316
|
+
backwardduration: 12,
|
|
1317
|
+
},
|
|
1318
|
+
};
|
|
1319
|
+
MKBitmovinPlayer.DEFAULT_PLAYBACK_CONFIG = {
|
|
1320
|
+
muted: true,
|
|
1321
|
+
autoplay: true
|
|
1322
|
+
};
|
|
1323
|
+
return MKBitmovinPlayer;
|
|
1324
|
+
}(common_1.MKEventBase));
|
|
1194
1325
|
//# sourceMappingURL=MKBitmovinPlayer.js.map
|