@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,4 +1,19 @@
|
|
|
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
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
18
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
19
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,223 +23,293 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
23
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
24
|
});
|
|
10
25
|
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
11
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
54
|
exports.MKPlayer = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
55
|
+
var MKUtils_1 = require("../common/MKUtils");
|
|
56
|
+
var common_1 = require("../common");
|
|
57
|
+
var MKBitmovinPlayer_1 = require("./MKBitmovinPlayer");
|
|
58
|
+
var MKAzukiRequest_1 = require("../request/MKAzukiRequest");
|
|
59
|
+
var enums_1 = require("../../enums");
|
|
60
|
+
var constants_1 = require("../../constants");
|
|
61
|
+
var request_1 = require("../request");
|
|
62
|
+
var MKSecureUrlManager_1 = require("../common/MKSecureUrlManager");
|
|
63
|
+
var MKPlayer = (function (_super) {
|
|
64
|
+
__extends(MKPlayer, _super);
|
|
65
|
+
function MKPlayer(videoContainer, playerConfig) {
|
|
66
|
+
var _this = this;
|
|
23
67
|
var _a, _b;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
68
|
+
_this = _super.call(this) || this;
|
|
69
|
+
_this.sourceLoaded = false;
|
|
70
|
+
_this.headers = null;
|
|
71
|
+
_this.playerConfig = playerConfig;
|
|
72
|
+
_this.videoContainer = videoContainer;
|
|
73
|
+
_this.thumbnailManager = new common_1.MKThumbnailManager();
|
|
74
|
+
_this.failOverUrl = '';
|
|
75
|
+
_this.cdnFailoverAttempted = false;
|
|
30
76
|
if (playerConfig.events) {
|
|
31
|
-
Object.entries(playerConfig.events).forEach((
|
|
32
|
-
|
|
77
|
+
Object.entries(playerConfig.events).forEach(function (_a) {
|
|
78
|
+
var key = _a[0], value = _a[1];
|
|
79
|
+
_this.on(key, value);
|
|
33
80
|
});
|
|
34
81
|
}
|
|
35
82
|
common_1.MKLog.setLogLevel((_b = (_a = playerConfig.log) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : enums_1.MKLogLevel.Debug);
|
|
36
|
-
console.log(
|
|
83
|
+
console.log("### MKPlayer v".concat(constants_1.MKConstants.SDK_VERSION));
|
|
84
|
+
return _this;
|
|
37
85
|
}
|
|
38
|
-
addCastMetadata(metadata) {
|
|
86
|
+
MKPlayer.prototype.addCastMetadata = function (metadata) {
|
|
87
|
+
var _a, _b;
|
|
39
88
|
if (!this.player) {
|
|
40
89
|
common_1.MKLog.error("Player not yet available!");
|
|
41
90
|
return false;
|
|
42
91
|
}
|
|
92
|
+
if (metadata === 0) {
|
|
93
|
+
var beaconData = (_a = this.azukiRequest) === null || _a === void 0 ? void 0 : _a.getBeaconData();
|
|
94
|
+
var fullUrl = MKUtils_1.MKUtils.updateURLQueryParams(beaconData.requestUrl, beaconData.requestOptions.queryParams);
|
|
95
|
+
var castMetadata = {
|
|
96
|
+
type: 0,
|
|
97
|
+
interval: 30000,
|
|
98
|
+
url: fullUrl,
|
|
99
|
+
headers: {
|
|
100
|
+
AuthorizationToken: beaconData.requestOptions.headers.AuthorizationToken,
|
|
101
|
+
DeviceProfile: beaconData.requestOptions.headers.DeviceProfile,
|
|
102
|
+
},
|
|
103
|
+
beaconRequestBody: {
|
|
104
|
+
beacon: {
|
|
105
|
+
complete: beaconData.requestOptions.body.beacon.complete,
|
|
106
|
+
inhome: beaconData.requestOptions.body.beacon.inhome,
|
|
107
|
+
live: beaconData.requestOptions.body.beacon.isLive,
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return this.player.addCastMetadata(castMetadata);
|
|
112
|
+
}
|
|
113
|
+
else if (metadata === 1) {
|
|
114
|
+
var adobePrimeTimeConfig = (_b = this.azukiRequest) === null || _b === void 0 ? void 0 : _b.getAdobeData();
|
|
115
|
+
var castMetadata = {
|
|
116
|
+
type: 1,
|
|
117
|
+
isProduction: adobePrimeTimeConfig.isProduction,
|
|
118
|
+
applicationId: adobePrimeTimeConfig.applicationId,
|
|
119
|
+
requesterId: adobePrimeTimeConfig.requesterId,
|
|
120
|
+
resourceId: adobePrimeTimeConfig.resourceId,
|
|
121
|
+
userId: adobePrimeTimeConfig.userId,
|
|
122
|
+
upStreamUserId: adobePrimeTimeConfig.upstreamUserId,
|
|
123
|
+
slmt: adobePrimeTimeConfig.slmt,
|
|
124
|
+
mvpd: adobePrimeTimeConfig.mvpd,
|
|
125
|
+
};
|
|
126
|
+
return this.player.addCastMetadata(castMetadata);
|
|
127
|
+
}
|
|
43
128
|
return this.player.addCastMetadata(metadata);
|
|
44
|
-
}
|
|
45
|
-
addSubtitle(subtitleTrack) {
|
|
129
|
+
};
|
|
130
|
+
MKPlayer.prototype.addSubtitle = function (subtitleTrack) {
|
|
46
131
|
if (!this.player) {
|
|
47
132
|
common_1.MKLog.error("Player not yet available!");
|
|
48
133
|
return;
|
|
49
134
|
}
|
|
50
135
|
this.player.addSubtitle(subtitleTrack);
|
|
51
|
-
}
|
|
52
|
-
castStop() {
|
|
136
|
+
};
|
|
137
|
+
MKPlayer.prototype.castStop = function () {
|
|
53
138
|
if (!this.player) {
|
|
54
139
|
common_1.MKLog.error("Player not yet available!");
|
|
55
140
|
return;
|
|
56
141
|
}
|
|
57
142
|
this.player.castStop();
|
|
58
|
-
}
|
|
59
|
-
castVideo() {
|
|
143
|
+
};
|
|
144
|
+
MKPlayer.prototype.castVideo = function () {
|
|
60
145
|
if (!this.player) {
|
|
61
146
|
common_1.MKLog.error("Player not yet available!");
|
|
62
147
|
return;
|
|
63
148
|
}
|
|
64
149
|
this.player.castVideo();
|
|
65
|
-
}
|
|
66
|
-
destroy() {
|
|
150
|
+
};
|
|
151
|
+
MKPlayer.prototype.destroy = function () {
|
|
67
152
|
if (!this.player) {
|
|
68
153
|
return Promise.reject(new Error("Player not yet available!"));
|
|
69
154
|
}
|
|
70
155
|
return this.player.destroy();
|
|
71
|
-
}
|
|
72
|
-
disableSubtitle(subtitleID) {
|
|
156
|
+
};
|
|
157
|
+
MKPlayer.prototype.disableSubtitle = function (subtitleID) {
|
|
73
158
|
if (!this.player) {
|
|
74
159
|
common_1.MKLog.error("Player not yet available!");
|
|
75
160
|
return;
|
|
76
161
|
}
|
|
77
162
|
this.player.disableSubtitle(subtitleID);
|
|
78
|
-
}
|
|
79
|
-
enableSubtitle(subtitleID) {
|
|
163
|
+
};
|
|
164
|
+
MKPlayer.prototype.enableSubtitle = function (subtitleID) {
|
|
80
165
|
if (!this.player) {
|
|
81
166
|
common_1.MKLog.error("Player not yet available!");
|
|
82
167
|
return;
|
|
83
168
|
}
|
|
84
169
|
this.player.enableSubtitle(subtitleID);
|
|
85
|
-
}
|
|
86
|
-
getAspectRatio() {
|
|
170
|
+
};
|
|
171
|
+
MKPlayer.prototype.getAspectRatio = function () {
|
|
87
172
|
if (!this.player) {
|
|
88
173
|
common_1.MKLog.error("Player not yet available!");
|
|
89
174
|
return 0;
|
|
90
175
|
}
|
|
91
176
|
return this.player.getAspectRatio();
|
|
92
|
-
}
|
|
93
|
-
getAudio() {
|
|
177
|
+
};
|
|
178
|
+
MKPlayer.prototype.getAudio = function () {
|
|
94
179
|
if (!this.player) {
|
|
95
180
|
common_1.MKLog.error("Player not yet available!");
|
|
96
181
|
return null;
|
|
97
182
|
}
|
|
98
183
|
return this.player.getAudio();
|
|
99
|
-
}
|
|
100
|
-
getAudioQuality() {
|
|
184
|
+
};
|
|
185
|
+
MKPlayer.prototype.getAudioQuality = function () {
|
|
101
186
|
if (!this.player) {
|
|
102
187
|
common_1.MKLog.error("Player not yet available!");
|
|
103
188
|
return null;
|
|
104
189
|
}
|
|
105
190
|
return this.player.getAudioQuality();
|
|
106
|
-
}
|
|
107
|
-
getAvailableAudio() {
|
|
191
|
+
};
|
|
192
|
+
MKPlayer.prototype.getAvailableAudio = function () {
|
|
108
193
|
if (!this.player) {
|
|
109
194
|
common_1.MKLog.error("Player not yet available!");
|
|
110
195
|
return [];
|
|
111
196
|
}
|
|
112
197
|
return this.player.getAvailableAudio();
|
|
113
|
-
}
|
|
114
|
-
getAvailableAudioQualities() {
|
|
198
|
+
};
|
|
199
|
+
MKPlayer.prototype.getAvailableAudioQualities = function () {
|
|
115
200
|
if (!this.player) {
|
|
116
201
|
common_1.MKLog.error("Player not yet available!");
|
|
117
202
|
return [];
|
|
118
203
|
}
|
|
119
204
|
return this.player.getAvailableAudioQualities();
|
|
120
|
-
}
|
|
121
|
-
getAvailableSubtitles() {
|
|
205
|
+
};
|
|
206
|
+
MKPlayer.prototype.getAvailableSubtitles = function () {
|
|
122
207
|
if (!this.player) {
|
|
123
208
|
common_1.MKLog.error("Player not yet available!");
|
|
124
209
|
return [];
|
|
125
210
|
}
|
|
126
211
|
return this.player.getAvailableSubtitles();
|
|
127
|
-
}
|
|
128
|
-
getAvailableVideoQualities() {
|
|
212
|
+
};
|
|
213
|
+
MKPlayer.prototype.getAvailableVideoQualities = function () {
|
|
129
214
|
if (!this.player) {
|
|
130
215
|
common_1.MKLog.error("Player not yet available!");
|
|
131
216
|
return [];
|
|
132
217
|
}
|
|
133
218
|
return this.player.getAvailableVideoQualities();
|
|
134
|
-
}
|
|
135
|
-
getBufferLevel(type, media) {
|
|
219
|
+
};
|
|
220
|
+
MKPlayer.prototype.getBufferLevel = function (type, media) {
|
|
136
221
|
if (!this.player) {
|
|
137
222
|
common_1.MKLog.error("Player not yet available!");
|
|
138
223
|
return null;
|
|
139
224
|
}
|
|
140
225
|
return this.player.getBufferLevel(type, media);
|
|
141
|
-
}
|
|
142
|
-
getBufferedRanges() {
|
|
226
|
+
};
|
|
227
|
+
MKPlayer.prototype.getBufferedRanges = function () {
|
|
143
228
|
if (!this.player) {
|
|
144
229
|
common_1.MKLog.error("Player not yet available!");
|
|
145
230
|
return [];
|
|
146
231
|
}
|
|
147
232
|
return this.player.getBufferedRanges();
|
|
148
|
-
}
|
|
149
|
-
getVersion() {
|
|
233
|
+
};
|
|
234
|
+
MKPlayer.prototype.getVersion = function () {
|
|
150
235
|
return constants_1.MKConstants.SDK_VERSION;
|
|
151
|
-
}
|
|
152
|
-
getVideoContainer() {
|
|
236
|
+
};
|
|
237
|
+
MKPlayer.prototype.getVideoContainer = function () {
|
|
153
238
|
if (!this.player)
|
|
154
239
|
return this.videoContainer;
|
|
155
240
|
return this.player.getVideoContainer();
|
|
156
|
-
}
|
|
157
|
-
getCurrentTime(mode) {
|
|
241
|
+
};
|
|
242
|
+
MKPlayer.prototype.getCurrentTime = function (mode) {
|
|
158
243
|
if (!this.player) {
|
|
159
244
|
common_1.MKLog.error("Player not yet available!");
|
|
160
245
|
return 0;
|
|
161
246
|
}
|
|
162
247
|
return this.player.getCurrentTime(mode);
|
|
163
|
-
}
|
|
164
|
-
getDownloadedAudioData() {
|
|
248
|
+
};
|
|
249
|
+
MKPlayer.prototype.getDownloadedAudioData = function () {
|
|
165
250
|
if (!this.player) {
|
|
166
251
|
common_1.MKLog.error("Player not yet available!");
|
|
167
252
|
return null;
|
|
168
253
|
}
|
|
169
254
|
return this.player.getDownloadedAudioData();
|
|
170
|
-
}
|
|
171
|
-
getDownloadedVideoData() {
|
|
255
|
+
};
|
|
256
|
+
MKPlayer.prototype.getDownloadedVideoData = function () {
|
|
172
257
|
if (!this.player) {
|
|
173
258
|
common_1.MKLog.error("Player not yet available!");
|
|
174
259
|
return null;
|
|
175
260
|
}
|
|
176
261
|
return this.player.getDownloadedVideoData();
|
|
177
|
-
}
|
|
178
|
-
getDroppedVideoFrames() {
|
|
262
|
+
};
|
|
263
|
+
MKPlayer.prototype.getDroppedVideoFrames = function () {
|
|
179
264
|
if (!this.player) {
|
|
180
265
|
common_1.MKLog.error("Player not yet available!");
|
|
181
266
|
return 0;
|
|
182
267
|
}
|
|
183
268
|
return this.player.getDroppedVideoFrames();
|
|
184
|
-
}
|
|
185
|
-
getDuration() {
|
|
269
|
+
};
|
|
270
|
+
MKPlayer.prototype.getDuration = function () {
|
|
186
271
|
if (!this.player) {
|
|
187
272
|
common_1.MKLog.error("Player not yet available!");
|
|
188
273
|
return 0;
|
|
189
274
|
}
|
|
190
275
|
return this.player.getDuration();
|
|
191
|
-
}
|
|
192
|
-
getMaxTimeShift() {
|
|
276
|
+
};
|
|
277
|
+
MKPlayer.prototype.getMaxTimeShift = function () {
|
|
193
278
|
if (!this.player) {
|
|
194
279
|
common_1.MKLog.error("Player not yet available!");
|
|
195
280
|
return 0;
|
|
196
281
|
}
|
|
197
282
|
return this.player.getMaxTimeShift();
|
|
198
|
-
}
|
|
199
|
-
getPlaybackAudioData() {
|
|
283
|
+
};
|
|
284
|
+
MKPlayer.prototype.getPlaybackAudioData = function () {
|
|
200
285
|
if (!this.player) {
|
|
201
286
|
common_1.MKLog.error("Player not yet available!");
|
|
202
287
|
return null;
|
|
203
288
|
}
|
|
204
289
|
return this.player.getPlaybackAudioData();
|
|
205
|
-
}
|
|
206
|
-
getPlaybackSpeed() {
|
|
290
|
+
};
|
|
291
|
+
MKPlayer.prototype.getPlaybackSpeed = function () {
|
|
207
292
|
if (!this.player) {
|
|
208
293
|
common_1.MKLog.error("Player not yet available!");
|
|
209
294
|
return 0;
|
|
210
295
|
}
|
|
211
296
|
return this.player.getPlaybackSpeed();
|
|
212
|
-
}
|
|
213
|
-
getPlaybackVideoData() {
|
|
297
|
+
};
|
|
298
|
+
MKPlayer.prototype.getPlaybackVideoData = function () {
|
|
214
299
|
if (!this.player) {
|
|
215
300
|
common_1.MKLog.error("Player not yet available!");
|
|
216
301
|
return null;
|
|
217
302
|
}
|
|
218
303
|
return this.player.getPlaybackVideoData();
|
|
219
|
-
}
|
|
220
|
-
getSeekableRange(mode) {
|
|
304
|
+
};
|
|
305
|
+
MKPlayer.prototype.getSeekableRange = function (mode) {
|
|
221
306
|
if (!this.player) {
|
|
222
307
|
common_1.MKLog.error("Player not yet available!");
|
|
223
308
|
return null;
|
|
224
309
|
}
|
|
225
310
|
return this.player.getSeekableRange(mode);
|
|
226
|
-
}
|
|
227
|
-
getThumbnail(time) {
|
|
311
|
+
};
|
|
312
|
+
MKPlayer.prototype.getThumbnail = function (time) {
|
|
228
313
|
var _a;
|
|
229
314
|
if (!this.player) {
|
|
230
315
|
common_1.MKLog.error("Player not yet available!");
|
|
@@ -237,471 +322,594 @@ class MKPlayer extends common_1.MKEventBase {
|
|
|
237
322
|
return this.thumbnailManager.getThumbnail(time);
|
|
238
323
|
}
|
|
239
324
|
return null;
|
|
240
|
-
}
|
|
241
|
-
getTimeShift() {
|
|
325
|
+
};
|
|
326
|
+
MKPlayer.prototype.getTimeShift = function () {
|
|
242
327
|
if (!this.player) {
|
|
243
328
|
common_1.MKLog.error("Player not yet available!");
|
|
244
329
|
return 0;
|
|
245
330
|
}
|
|
246
331
|
return this.player.getTimeShift();
|
|
247
|
-
}
|
|
248
|
-
getTotalStalledTime() {
|
|
332
|
+
};
|
|
333
|
+
MKPlayer.prototype.getTotalStalledTime = function () {
|
|
249
334
|
if (!this.player) {
|
|
250
335
|
common_1.MKLog.error("Player not yet available!");
|
|
251
336
|
return 0;
|
|
252
337
|
}
|
|
253
338
|
return this.player.getTotalStalledTime();
|
|
254
|
-
}
|
|
255
|
-
getVideoElement() {
|
|
339
|
+
};
|
|
340
|
+
MKPlayer.prototype.getVideoElement = function () {
|
|
256
341
|
if (!this.player) {
|
|
257
342
|
common_1.MKLog.error("Player not yet available!");
|
|
258
343
|
return undefined;
|
|
259
344
|
}
|
|
260
345
|
return this.player.getVideoElement();
|
|
261
|
-
}
|
|
262
|
-
getVideoQuality() {
|
|
346
|
+
};
|
|
347
|
+
MKPlayer.prototype.getVideoQuality = function () {
|
|
263
348
|
if (!this.player) {
|
|
264
349
|
common_1.MKLog.error("Player not yet available!");
|
|
265
350
|
return null;
|
|
266
351
|
}
|
|
267
352
|
return this.player.getVideoQuality();
|
|
268
|
-
}
|
|
269
|
-
getViewMode() {
|
|
353
|
+
};
|
|
354
|
+
MKPlayer.prototype.getViewMode = function () {
|
|
270
355
|
if (!this.player) {
|
|
271
356
|
common_1.MKLog.error("Player not yet available!");
|
|
272
357
|
return null;
|
|
273
358
|
}
|
|
274
359
|
return this.player.getViewMode();
|
|
275
|
-
}
|
|
276
|
-
getVolume() {
|
|
360
|
+
};
|
|
361
|
+
MKPlayer.prototype.getVolume = function () {
|
|
277
362
|
if (!this.player) {
|
|
278
363
|
common_1.MKLog.error("Player not yet available!");
|
|
279
364
|
return 0;
|
|
280
365
|
}
|
|
281
366
|
return this.player.getVolume();
|
|
282
|
-
}
|
|
283
|
-
hasEnded() {
|
|
367
|
+
};
|
|
368
|
+
MKPlayer.prototype.hasEnded = function () {
|
|
284
369
|
if (!this.player) {
|
|
285
370
|
common_1.MKLog.error("Player not yet available!");
|
|
286
371
|
return false;
|
|
287
372
|
}
|
|
288
373
|
return this.player.hasEnded();
|
|
289
|
-
}
|
|
290
|
-
isAirplayActive() {
|
|
374
|
+
};
|
|
375
|
+
MKPlayer.prototype.isAirplayActive = function () {
|
|
291
376
|
if (!this.player) {
|
|
292
377
|
common_1.MKLog.error("Player not yet available!");
|
|
293
378
|
return false;
|
|
294
379
|
}
|
|
295
380
|
return this.player.isAirplayActive();
|
|
296
|
-
}
|
|
297
|
-
isAirplayAvailable() {
|
|
381
|
+
};
|
|
382
|
+
MKPlayer.prototype.isAirplayAvailable = function () {
|
|
298
383
|
if (!this.player) {
|
|
299
384
|
common_1.MKLog.error("Player not yet available!");
|
|
300
385
|
return false;
|
|
301
386
|
}
|
|
302
387
|
return this.player.isAirplayAvailable();
|
|
303
|
-
}
|
|
304
|
-
isCastAvailable() {
|
|
388
|
+
};
|
|
389
|
+
MKPlayer.prototype.isCastAvailable = function () {
|
|
305
390
|
if (!this.player) {
|
|
306
391
|
common_1.MKLog.error("Player not yet available!");
|
|
307
392
|
return false;
|
|
308
393
|
}
|
|
309
394
|
return this.player.isCastAvailable();
|
|
310
|
-
}
|
|
311
|
-
isCasting() {
|
|
395
|
+
};
|
|
396
|
+
MKPlayer.prototype.isCasting = function () {
|
|
312
397
|
if (!this.player) {
|
|
313
398
|
common_1.MKLog.error("Player not yet available!");
|
|
314
399
|
return false;
|
|
315
400
|
}
|
|
316
401
|
return this.player.isCasting();
|
|
317
|
-
}
|
|
318
|
-
isLive() {
|
|
402
|
+
};
|
|
403
|
+
MKPlayer.prototype.isLive = function () {
|
|
319
404
|
if (!this.player) {
|
|
320
405
|
common_1.MKLog.error("Player not yet available!");
|
|
321
406
|
return false;
|
|
322
407
|
}
|
|
323
408
|
return this.player.isLive();
|
|
324
|
-
}
|
|
325
|
-
isMuted() {
|
|
409
|
+
};
|
|
410
|
+
MKPlayer.prototype.isMuted = function () {
|
|
326
411
|
if (!this.player) {
|
|
327
412
|
common_1.MKLog.error("Player not yet available!");
|
|
328
413
|
return false;
|
|
329
414
|
}
|
|
330
415
|
return this.player.isMuted();
|
|
331
|
-
}
|
|
332
|
-
isPaused() {
|
|
416
|
+
};
|
|
417
|
+
MKPlayer.prototype.isPaused = function () {
|
|
333
418
|
if (!this.player) {
|
|
334
419
|
common_1.MKLog.error("Player not yet available!");
|
|
335
420
|
return false;
|
|
336
421
|
}
|
|
337
422
|
return this.player.isPaused();
|
|
338
|
-
}
|
|
339
|
-
isPlaying() {
|
|
423
|
+
};
|
|
424
|
+
MKPlayer.prototype.isPlaying = function () {
|
|
340
425
|
if (!this.player) {
|
|
341
426
|
common_1.MKLog.error("Player not yet available!");
|
|
342
427
|
return false;
|
|
343
428
|
}
|
|
344
429
|
return this.player.isPlaying();
|
|
345
|
-
}
|
|
346
|
-
isStalled() {
|
|
430
|
+
};
|
|
431
|
+
MKPlayer.prototype.isStalled = function () {
|
|
347
432
|
if (!this.player) {
|
|
348
433
|
common_1.MKLog.error("Player not yet available!");
|
|
349
434
|
return false;
|
|
350
435
|
}
|
|
351
436
|
return this.player.isStalled();
|
|
352
|
-
}
|
|
353
|
-
isViewModeAvailable(viewMode) {
|
|
437
|
+
};
|
|
438
|
+
MKPlayer.prototype.isViewModeAvailable = function (viewMode) {
|
|
354
439
|
if (!this.player) {
|
|
355
440
|
common_1.MKLog.error("Player not yet available!");
|
|
356
441
|
return false;
|
|
357
442
|
}
|
|
358
443
|
return this.player.isViewModeAvailable(viewMode);
|
|
359
|
-
}
|
|
360
|
-
load(sourceConfig, disableSeeking) {
|
|
361
|
-
return __awaiter(this, void 0, void 0, function
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
return
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
if (rollInfo.asidInitToken && rollInfo.asidInitToken.length > 0) {
|
|
396
|
-
const fmtsASiDEventData = {
|
|
397
|
-
initToken: rollInfo.asidInitToken,
|
|
398
|
-
assetId: rollInfo.mediaId,
|
|
399
|
-
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp(),
|
|
400
|
-
type: enums_1.MKPlayerEvent.FMTSASiD,
|
|
401
|
-
};
|
|
402
|
-
this.emit(enums_1.MKPlayerEvent.FMTSASiD, fmtsASiDEventData);
|
|
403
|
-
}
|
|
404
|
-
if (rollInfo.programInfo.timeRange && rollInfo.isLive) {
|
|
405
|
-
this.emitProgramTimeChangedEvent(rollInfo.programInfo.timeRange);
|
|
406
|
-
(_a = this.programManager) === null || _a === void 0 ? void 0 : _a.updateProgramInfoList(rollInfo.programInfo);
|
|
407
|
-
}
|
|
408
|
-
if ((_b = sourceConfig.cdnOptions) === null || _b === void 0 ? void 0 : _b.cdnTokens) {
|
|
409
|
-
rollInfo.sourceUrl = MKUtils_1.MKUtils.updateURLQueryParams(rollInfo.sourceUrl, sourceConfig.cdnOptions.cdnTokens);
|
|
410
|
-
}
|
|
411
|
-
if (this.secureUrlManager) {
|
|
412
|
-
try {
|
|
413
|
-
const signature = yield this.secureUrlManager.getSignature(rollInfo.sourceUrl);
|
|
414
|
-
if (!!signature) {
|
|
415
|
-
this.updateHttpHeaders({
|
|
416
|
-
"X-MK-Signature": signature,
|
|
417
|
-
"AuthorizationToken": (_c = sourceConfig.registered) === null || _c === void 0 ? void 0 : _c.environmentConfig.authToken
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
else {
|
|
421
|
-
common_1.MKLog.warn("Invalid secureUrl signature!");
|
|
444
|
+
};
|
|
445
|
+
MKPlayer.prototype.load = function (sourceConfig, disableSeeking) {
|
|
446
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
447
|
+
var _this = this;
|
|
448
|
+
return __generator(this, function (_a) {
|
|
449
|
+
switch (_a.label) {
|
|
450
|
+
case 0:
|
|
451
|
+
this.emit(enums_1.MKPlayerEvent.TuneStarted, {
|
|
452
|
+
type: enums_1.MKPlayerEvent.TuneStarted,
|
|
453
|
+
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp()
|
|
454
|
+
});
|
|
455
|
+
if (!this.sourceLoaded) return [3, 2];
|
|
456
|
+
return [4, this.unload()];
|
|
457
|
+
case 1:
|
|
458
|
+
_a.sent();
|
|
459
|
+
_a.label = 2;
|
|
460
|
+
case 2: return [2, new Promise(function (resolve, reject) {
|
|
461
|
+
_this.sourceLoaded = false;
|
|
462
|
+
_this.azukiRequest = undefined;
|
|
463
|
+
_this.sourceConfig = undefined;
|
|
464
|
+
_this.programManager = undefined;
|
|
465
|
+
_this.sessionManager = undefined;
|
|
466
|
+
_this.secureUrlManager = undefined;
|
|
467
|
+
_this.adobeSessionConcurrencyRequest = undefined;
|
|
468
|
+
sourceConfig = Object.assign({}, sourceConfig);
|
|
469
|
+
if (sourceConfig.ull !== undefined) {
|
|
470
|
+
return reject(new Error("ULL source is not yet supported!"));
|
|
471
|
+
}
|
|
472
|
+
else if (sourceConfig.hls !== undefined || sourceConfig.dash !== undefined || sourceConfig.smooth !== undefined || sourceConfig.progressive !== undefined) {
|
|
473
|
+
_this.loadSource(sourceConfig, disableSeeking)
|
|
474
|
+
.then(function () { return resolve(); })
|
|
475
|
+
.catch(function (error) { return reject(error); });
|
|
476
|
+
}
|
|
477
|
+
else if (sourceConfig.registered !== undefined) {
|
|
478
|
+
if (sourceConfig.registered.environmentConfig.kssUrl) {
|
|
479
|
+
_this.secureUrlManager = new MKSecureUrlManager_1.MKSecureUrlManager(sourceConfig.registered.environmentConfig.authToken, sourceConfig.registered.environmentConfig.kssUrl);
|
|
422
480
|
}
|
|
481
|
+
_this.azukiRequest = new MKAzukiRequest_1.MKAzukiRequest(sourceConfig, _this.onSessionConcurrencyNotificationError.bind(_this));
|
|
482
|
+
_this.azukiRequest.rollRequest()
|
|
483
|
+
.then(function (rollInfo) { return __awaiter(_this, void 0, void 0, function () {
|
|
484
|
+
var controlBlockingRestrictions, fmtsASiDEventData, signature, _a, randomDecimal, randomNumber;
|
|
485
|
+
var _this = this;
|
|
486
|
+
var _b, _c, _d, _e;
|
|
487
|
+
return __generator(this, function (_f) {
|
|
488
|
+
switch (_f.label) {
|
|
489
|
+
case 0:
|
|
490
|
+
this.sendAnalyticsDataEvent(enums_1.MKAnalyticsDataName.Registration, MKAzukiRequest_1.MKAzukiRequest.responseTime.registration);
|
|
491
|
+
this.sendAnalyticsDataEvent(enums_1.MKAnalyticsDataName.Roll, MKAzukiRequest_1.MKAzukiRequest.responseTime.roll);
|
|
492
|
+
this.sendAnalyticsDataEvent(enums_1.MKAnalyticsDataName.DRMType, rollInfo.drmType);
|
|
493
|
+
if (rollInfo.beaconInterval > 0) {
|
|
494
|
+
this.sendAnalyticsDataEvent(enums_1.MKAnalyticsDataName.BeaconInterval, rollInfo.beaconInterval);
|
|
495
|
+
(_b = this.azukiRequest) === null || _b === void 0 ? void 0 : _b.setAnalyticsDataCallback(this.sendAnalyticsDataEvent.bind(this));
|
|
496
|
+
}
|
|
497
|
+
this.programManager = new common_1.MKProgramManager(this.azukiRequest);
|
|
498
|
+
controlBlockingRestrictions = this.programManager.validateProgramRestrictions(rollInfo.programInfo);
|
|
499
|
+
if (controlBlockingRestrictions.length > 0) {
|
|
500
|
+
this.emitProgramRestrictionsEvent(controlBlockingRestrictions);
|
|
501
|
+
}
|
|
502
|
+
if (rollInfo.asidInitToken && rollInfo.asidInitToken.length > 0) {
|
|
503
|
+
fmtsASiDEventData = {
|
|
504
|
+
initToken: rollInfo.asidInitToken,
|
|
505
|
+
assetId: rollInfo.mediaId,
|
|
506
|
+
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp(),
|
|
507
|
+
type: enums_1.MKPlayerEvent.FMTSASiD,
|
|
508
|
+
};
|
|
509
|
+
this.emit(enums_1.MKPlayerEvent.FMTSASiD, fmtsASiDEventData);
|
|
510
|
+
}
|
|
511
|
+
if (rollInfo.programInfo.timeRange && rollInfo.isLive) {
|
|
512
|
+
this.emitProgramTimeChangedEvent(rollInfo.programInfo.timeRange);
|
|
513
|
+
(_c = this.programManager) === null || _c === void 0 ? void 0 : _c.updateProgramInfoList(rollInfo.programInfo).then(function () {
|
|
514
|
+
_this.sendAnalyticsDataEvent(enums_1.MKAnalyticsDataName.ProgramQuery, MKAzukiRequest_1.MKAzukiRequest.responseTime.query);
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
if (rollInfo.failoverSourceUrl) {
|
|
518
|
+
this.failOverUrl = rollInfo.failoverSourceUrl;
|
|
519
|
+
}
|
|
520
|
+
if ((_d = sourceConfig.cdnOptions) === null || _d === void 0 ? void 0 : _d.cdnTokens) {
|
|
521
|
+
rollInfo.sourceUrl = MKUtils_1.MKUtils.updateURLQueryParams(rollInfo.sourceUrl, sourceConfig.cdnOptions.cdnTokens);
|
|
522
|
+
if (rollInfo.failoverSourceUrl) {
|
|
523
|
+
this.failOverUrl = MKUtils_1.MKUtils.updateURLQueryParams(rollInfo.failoverSourceUrl, sourceConfig.cdnOptions.cdnTokens);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
if (!this.secureUrlManager) return [3, 4];
|
|
527
|
+
_f.label = 1;
|
|
528
|
+
case 1:
|
|
529
|
+
_f.trys.push([1, 3, , 4]);
|
|
530
|
+
return [4, this.secureUrlManager.getSignature(rollInfo.sourceUrl)];
|
|
531
|
+
case 2:
|
|
532
|
+
signature = _f.sent();
|
|
533
|
+
this.updateHttpHeaders({
|
|
534
|
+
"X-MK-Signature": signature,
|
|
535
|
+
"AuthorizationToken": (_e = sourceConfig.registered) === null || _e === void 0 ? void 0 : _e.environmentConfig.authToken
|
|
536
|
+
});
|
|
537
|
+
return [3, 4];
|
|
538
|
+
case 3:
|
|
539
|
+
_a = _f.sent();
|
|
540
|
+
common_1.MKLog.warn("Failed to get signature from secureUrlManager!");
|
|
541
|
+
return [3, 4];
|
|
542
|
+
case 4:
|
|
543
|
+
if (rollInfo.analytics_publish_percent) {
|
|
544
|
+
randomDecimal = Math.random();
|
|
545
|
+
randomNumber = Math.floor(randomDecimal * 99) + 1;
|
|
546
|
+
if (randomNumber >= rollInfo.analytics_publish_percent && !!this.playerConfig.analytics) {
|
|
547
|
+
this.analyticsConfig = this.playerConfig.analytics;
|
|
548
|
+
this.playerConfig.analytics = false;
|
|
549
|
+
common_1.MKLog.warn("Disabled Bitmovin Analytics session: Generated random number - ".concat(randomNumber, " is greater than threshold value - ").concat(rollInfo.analytics_publish_percent));
|
|
550
|
+
}
|
|
551
|
+
else if (randomNumber < rollInfo.analytics_publish_percent && !this.playerConfig.analytics) {
|
|
552
|
+
this.playerConfig.analytics = this.analyticsConfig;
|
|
553
|
+
common_1.MKLog.log("Enabled Bitmovin Analytics session: Generated random number - ".concat(randomNumber, " is lesser than threshold value - ").concat(rollInfo.analytics_publish_percent));
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
this.loadSource(this.updateSourceConfigFromRollInfo(sourceConfig, rollInfo), disableSeeking)
|
|
557
|
+
.then(function () { return resolve(); })
|
|
558
|
+
.catch(function (error) { return reject(error); });
|
|
559
|
+
return [2];
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
}); })
|
|
563
|
+
.catch(function (error) {
|
|
564
|
+
return reject(_this.unloadAndEmitErrorEvent(error, false));
|
|
565
|
+
});
|
|
423
566
|
}
|
|
424
|
-
|
|
425
|
-
|
|
567
|
+
else {
|
|
568
|
+
return reject(new Error("Source type not supported!"));
|
|
426
569
|
}
|
|
427
|
-
}
|
|
428
|
-
this.loadSource(this.updateSourceConfigFromRollInfo(sourceConfig, rollInfo), disableSeeking)
|
|
429
|
-
.then(() => { return resolve(); })
|
|
430
|
-
.catch((error) => { return reject(error); });
|
|
431
|
-
}))
|
|
432
|
-
.catch((error) => {
|
|
433
|
-
return reject(this.unloadAndEmitErrorEvent(error, false));
|
|
434
|
-
});
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
return reject(new Error("Source type not supported!"));
|
|
570
|
+
})];
|
|
438
571
|
}
|
|
439
572
|
});
|
|
440
573
|
});
|
|
441
|
-
}
|
|
442
|
-
reload(start, sourceOptions) {
|
|
574
|
+
};
|
|
575
|
+
MKPlayer.prototype.reload = function (start, sourceOptions) {
|
|
443
576
|
if (!this.player) {
|
|
444
577
|
return Promise.reject(new Error("Player not yet available!"));
|
|
445
578
|
}
|
|
446
579
|
return this.player.reload(start, sourceOptions);
|
|
447
|
-
}
|
|
448
|
-
mute(issuer) {
|
|
580
|
+
};
|
|
581
|
+
MKPlayer.prototype.mute = function (issuer) {
|
|
449
582
|
if (!this.player) {
|
|
450
583
|
common_1.MKLog.error("Player not yet available!");
|
|
451
584
|
return;
|
|
452
585
|
}
|
|
453
586
|
this.player.mute(issuer);
|
|
454
|
-
}
|
|
455
|
-
pause(issuer) {
|
|
587
|
+
};
|
|
588
|
+
MKPlayer.prototype.pause = function (issuer) {
|
|
456
589
|
if (!this.player) {
|
|
457
590
|
common_1.MKLog.error("Player not yet available!");
|
|
458
591
|
return;
|
|
459
592
|
}
|
|
460
593
|
this.player.pause(issuer);
|
|
461
|
-
}
|
|
462
|
-
play(issuer) {
|
|
594
|
+
};
|
|
595
|
+
MKPlayer.prototype.play = function (issuer) {
|
|
463
596
|
if (!this.player) {
|
|
464
597
|
return Promise.reject(new Error("Player not yet available!"));
|
|
465
598
|
}
|
|
466
599
|
return this.player.play(issuer);
|
|
467
|
-
}
|
|
468
|
-
preload() {
|
|
600
|
+
};
|
|
601
|
+
MKPlayer.prototype.preload = function () {
|
|
469
602
|
if (!this.player) {
|
|
470
603
|
common_1.MKLog.error("Player not yet available!");
|
|
471
604
|
return;
|
|
472
605
|
}
|
|
473
606
|
this.player.preload();
|
|
474
|
-
}
|
|
475
|
-
removeSubtitle(subtitleID) {
|
|
607
|
+
};
|
|
608
|
+
MKPlayer.prototype.removeSubtitle = function (subtitleID) {
|
|
476
609
|
if (!this.player) {
|
|
477
610
|
common_1.MKLog.error("Player not yet available!");
|
|
478
611
|
return;
|
|
479
612
|
}
|
|
480
613
|
this.player.removeSubtitle(subtitleID);
|
|
481
|
-
}
|
|
482
|
-
seek(time, issuer) {
|
|
614
|
+
};
|
|
615
|
+
MKPlayer.prototype.seek = function (time, issuer) {
|
|
483
616
|
if (!this.player) {
|
|
484
617
|
common_1.MKLog.error("Player not yet available!");
|
|
485
618
|
return false;
|
|
486
619
|
}
|
|
487
620
|
return this.player.seek(time, issuer);
|
|
488
|
-
}
|
|
489
|
-
seekToLiveEdge(issuer) {
|
|
621
|
+
};
|
|
622
|
+
MKPlayer.prototype.seekToLiveEdge = function (issuer) {
|
|
490
623
|
if (!this.player) {
|
|
491
624
|
common_1.MKLog.error("Player not yet available!");
|
|
492
625
|
return;
|
|
493
626
|
}
|
|
494
627
|
this.player.seekToLiveEdge(issuer);
|
|
495
|
-
}
|
|
496
|
-
setAspectRatio(aspectratio) {
|
|
628
|
+
};
|
|
629
|
+
MKPlayer.prototype.setAspectRatio = function (aspectratio) {
|
|
497
630
|
if (!this.player) {
|
|
498
631
|
common_1.MKLog.error("Player not yet available!");
|
|
499
632
|
return;
|
|
500
633
|
}
|
|
501
634
|
this.player.setAspectRatio(aspectratio);
|
|
502
|
-
}
|
|
503
|
-
setAudio(trackID) {
|
|
635
|
+
};
|
|
636
|
+
MKPlayer.prototype.setAudio = function (trackID) {
|
|
504
637
|
if (!this.player) {
|
|
505
638
|
common_1.MKLog.error("Player not yet available!");
|
|
506
639
|
return;
|
|
507
640
|
}
|
|
508
641
|
this.player.setAudio(trackID);
|
|
509
|
-
}
|
|
510
|
-
setAudioQuality(audioQualityID) {
|
|
642
|
+
};
|
|
643
|
+
MKPlayer.prototype.setAudioQuality = function (audioQualityID) {
|
|
511
644
|
if (!this.player) {
|
|
512
645
|
common_1.MKLog.error("Player not yet available!");
|
|
513
646
|
return;
|
|
514
647
|
}
|
|
515
648
|
this.player.setAudioQuality(audioQualityID);
|
|
516
|
-
}
|
|
517
|
-
updateAuthToken(authToken) {
|
|
649
|
+
};
|
|
650
|
+
MKPlayer.prototype.updateAuthToken = function (authToken) {
|
|
651
|
+
var _this = this;
|
|
518
652
|
var _a;
|
|
519
653
|
if (!this.azukiRequest) {
|
|
520
654
|
common_1.MKLog.error("Available only for registered source and after source is loaded!");
|
|
521
655
|
return;
|
|
522
656
|
}
|
|
523
|
-
if (
|
|
657
|
+
if (!!!authToken) {
|
|
658
|
+
common_1.MKLog.error("Given authToken is not valid!");
|
|
659
|
+
return;
|
|
660
|
+
}
|
|
661
|
+
this.azukiRequest.updateAuthToken(authToken);
|
|
662
|
+
(_a = this.secureUrlManager) === null || _a === void 0 ? void 0 : _a.updateAuthToken(authToken).then(function (signature) {
|
|
663
|
+
var _a;
|
|
664
|
+
if (!!signature) {
|
|
665
|
+
_this.updateHttpHeaders({
|
|
666
|
+
"X-MK-Signature": signature,
|
|
667
|
+
"AuthorizationToken": authToken
|
|
668
|
+
});
|
|
669
|
+
(_a = _this.player) === null || _a === void 0 ? void 0 : _a.setHttpHeaders(_this.headers);
|
|
670
|
+
_this.thumbnailManager.setHttpHeaders(_this.headers);
|
|
671
|
+
}
|
|
672
|
+
}).catch(function (_error) {
|
|
673
|
+
common_1.MKLog.warn("Something went wrong while setting http headers on the player for secureUrl signature and authToken!");
|
|
674
|
+
});
|
|
675
|
+
};
|
|
676
|
+
MKPlayer.prototype.setHttpHeaders = function (headers) {
|
|
677
|
+
var _this = this;
|
|
678
|
+
var _a, _b;
|
|
679
|
+
if (headers === null) {
|
|
680
|
+
(_a = this.player) === null || _a === void 0 ? void 0 : _a.setHttpHeaders(headers);
|
|
681
|
+
this.headers = null;
|
|
682
|
+
return;
|
|
683
|
+
}
|
|
684
|
+
var authToken = MKUtils_1.MKUtils.pluckValue(headers, "AuthorizationToken");
|
|
685
|
+
if (this.azukiRequest && this.secureUrlManager && typeof (authToken) === "string" && !!authToken) {
|
|
524
686
|
this.azukiRequest.updateAuthToken(authToken);
|
|
525
|
-
|
|
687
|
+
this.secureUrlManager.updateAuthToken(authToken)
|
|
688
|
+
.then(function (signature) {
|
|
526
689
|
var _a;
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
690
|
+
headers["X-MK-Signature"] = signature;
|
|
691
|
+
_this.updateHttpHeaders(headers);
|
|
692
|
+
(_a = _this.player) === null || _a === void 0 ? void 0 : _a.setHttpHeaders(_this.headers);
|
|
693
|
+
_this.thumbnailManager.setHttpHeaders(_this.headers);
|
|
694
|
+
})
|
|
695
|
+
.catch(function (_) {
|
|
696
|
+
var _a;
|
|
697
|
+
common_1.MKLog.warn("Failed to get signature for the new authToken, setting the given headers on the player anyway!");
|
|
698
|
+
_this.updateHttpHeaders(headers);
|
|
699
|
+
(_a = _this.player) === null || _a === void 0 ? void 0 : _a.setHttpHeaders(_this.headers);
|
|
700
|
+
_this.thumbnailManager.setHttpHeaders(_this.headers);
|
|
536
701
|
});
|
|
537
702
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
return;
|
|
703
|
+
else {
|
|
704
|
+
this.updateHttpHeaders(headers);
|
|
705
|
+
(_b = this.player) === null || _b === void 0 ? void 0 : _b.setHttpHeaders(this.headers);
|
|
706
|
+
this.thumbnailManager.setHttpHeaders(this.headers);
|
|
543
707
|
}
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
}
|
|
547
|
-
setInhomeStatus(inhomeStatus) {
|
|
708
|
+
};
|
|
709
|
+
MKPlayer.prototype.setInhomeStatus = function (inhomeStatus) {
|
|
548
710
|
MKAzukiRequest_1.MKAzukiRequest.inhomeStatus = inhomeStatus;
|
|
549
|
-
}
|
|
550
|
-
setLocationDetail(locationDetail) {
|
|
711
|
+
};
|
|
712
|
+
MKPlayer.prototype.setLocationDetail = function (locationDetail) {
|
|
551
713
|
if (locationDetail) {
|
|
552
714
|
MKAzukiRequest_1.MKAzukiRequest.locationDetail = locationDetail;
|
|
553
715
|
}
|
|
554
716
|
else {
|
|
555
717
|
delete MKAzukiRequest_1.MKAzukiRequest.locationDetail;
|
|
556
718
|
}
|
|
557
|
-
}
|
|
558
|
-
setLogLevel(level) {
|
|
719
|
+
};
|
|
720
|
+
MKPlayer.prototype.setLogLevel = function (level) {
|
|
559
721
|
var _a;
|
|
560
722
|
common_1.MKLog.setLogLevel(level);
|
|
561
723
|
(_a = this.player) === null || _a === void 0 ? void 0 : _a.setLogLevel(level);
|
|
562
|
-
}
|
|
563
|
-
setPlaybackSpeed(speed) {
|
|
724
|
+
};
|
|
725
|
+
MKPlayer.prototype.setPlaybackSpeed = function (speed) {
|
|
564
726
|
if (!this.player) {
|
|
565
727
|
common_1.MKLog.error("Player not yet available!");
|
|
566
728
|
return;
|
|
567
729
|
}
|
|
568
730
|
this.player.setPlaybackSpeed(speed);
|
|
569
|
-
}
|
|
570
|
-
setPosterImage(url, keepPersistent) {
|
|
731
|
+
};
|
|
732
|
+
MKPlayer.prototype.setPosterImage = function (url, keepPersistent) {
|
|
571
733
|
if (!this.player) {
|
|
572
734
|
common_1.MKLog.error("Player not yet available!");
|
|
573
735
|
return;
|
|
574
736
|
}
|
|
575
737
|
this.player.setPosterImage(url, keepPersistent);
|
|
576
|
-
}
|
|
577
|
-
setTargetBufferLevel(type, value, media) {
|
|
738
|
+
};
|
|
739
|
+
MKPlayer.prototype.setTargetBufferLevel = function (type, value, media) {
|
|
578
740
|
if (!this.player) {
|
|
579
741
|
common_1.MKLog.error("Player not yet available!");
|
|
580
742
|
return;
|
|
581
743
|
}
|
|
582
744
|
this.player.setTargetBufferLevel(type, value, media);
|
|
583
|
-
}
|
|
584
|
-
setVideoElement(videoElement) {
|
|
745
|
+
};
|
|
746
|
+
MKPlayer.prototype.setVideoElement = function (videoElement) {
|
|
585
747
|
this.videoElement = videoElement;
|
|
586
|
-
}
|
|
587
|
-
setVideoQuality(videoQualityID) {
|
|
748
|
+
};
|
|
749
|
+
MKPlayer.prototype.setVideoQuality = function (videoQualityID) {
|
|
588
750
|
if (!this.player) {
|
|
589
751
|
common_1.MKLog.error("Player not yet available!");
|
|
590
752
|
return;
|
|
591
753
|
}
|
|
592
754
|
this.player.setVideoQuality(videoQualityID);
|
|
593
|
-
}
|
|
594
|
-
setViewMode(viewMode, options) {
|
|
755
|
+
};
|
|
756
|
+
MKPlayer.prototype.setViewMode = function (viewMode, options) {
|
|
595
757
|
if (!this.player) {
|
|
596
758
|
common_1.MKLog.error("Player not yet available!");
|
|
597
759
|
return;
|
|
598
760
|
}
|
|
599
761
|
this.player.setViewMode(viewMode, options);
|
|
600
|
-
}
|
|
601
|
-
setVolume(volume, issuer) {
|
|
762
|
+
};
|
|
763
|
+
MKPlayer.prototype.setVolume = function (volume, issuer) {
|
|
602
764
|
if (!this.player) {
|
|
603
765
|
common_1.MKLog.error("Player not yet available!");
|
|
604
766
|
return;
|
|
605
767
|
}
|
|
606
768
|
this.player.setVolume(volume, issuer);
|
|
607
|
-
}
|
|
608
|
-
showAirplayTargetPicker() {
|
|
769
|
+
};
|
|
770
|
+
MKPlayer.prototype.showAirplayTargetPicker = function () {
|
|
609
771
|
if (!this.player) {
|
|
610
772
|
common_1.MKLog.error("Player not yet available!");
|
|
611
773
|
return;
|
|
612
774
|
}
|
|
613
775
|
this.player.showAirplayTargetPicker();
|
|
614
|
-
}
|
|
615
|
-
unload() {
|
|
776
|
+
};
|
|
777
|
+
MKPlayer.prototype.unload = function () {
|
|
616
778
|
var _a;
|
|
617
|
-
return __awaiter(this, void 0, void 0, function
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
779
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
780
|
+
return __generator(this, function (_b) {
|
|
781
|
+
switch (_b.label) {
|
|
782
|
+
case 0:
|
|
783
|
+
if (!this.player) {
|
|
784
|
+
return [2, Promise.reject(new Error("Player not yet available!"))];
|
|
785
|
+
}
|
|
786
|
+
(_a = this.sessionManager) === null || _a === void 0 ? void 0 : _a.stopSession().catch(function (error) {
|
|
787
|
+
common_1.MKLog.warn("stopSession failed for sesison concurrency with error: ", JSON.stringify(error));
|
|
788
|
+
});
|
|
789
|
+
if (this.playerConfig.enableHlsImageMediaPlaylistSupport) {
|
|
790
|
+
this.thumbnailManager.disable();
|
|
791
|
+
}
|
|
792
|
+
if (!this.videoElement) return [3, 2];
|
|
793
|
+
this.videoElement.src = "";
|
|
794
|
+
return [4, this.videoElement.setMediaKeys(null)];
|
|
795
|
+
case 1:
|
|
796
|
+
_b.sent();
|
|
797
|
+
_b.label = 2;
|
|
798
|
+
case 2:
|
|
799
|
+
this.emit(enums_1.MKPlayerEvent.SourceUnload, {
|
|
800
|
+
type: enums_1.MKPlayerEvent.SourceUnload,
|
|
801
|
+
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp()
|
|
802
|
+
});
|
|
803
|
+
return [2, this.player.unload()];
|
|
804
|
+
}
|
|
623
805
|
});
|
|
624
|
-
if (this.playerConfig.enableHlsImageMediaPlaylistSupport) {
|
|
625
|
-
this.thumbnailManager.disable();
|
|
626
|
-
}
|
|
627
|
-
if (this.videoElement) {
|
|
628
|
-
this.videoElement.src = "";
|
|
629
|
-
yield this.videoElement.setMediaKeys(null);
|
|
630
|
-
}
|
|
631
|
-
return this.player.unload();
|
|
632
806
|
});
|
|
633
|
-
}
|
|
634
|
-
unmute(issuer) {
|
|
807
|
+
};
|
|
808
|
+
MKPlayer.prototype.unmute = function (issuer) {
|
|
635
809
|
if (!this.player) {
|
|
636
810
|
common_1.MKLog.error("Player not yet available!");
|
|
637
811
|
return;
|
|
638
812
|
}
|
|
639
813
|
this.player.unmute(issuer);
|
|
640
|
-
}
|
|
641
|
-
getCatchupConfig() {
|
|
814
|
+
};
|
|
815
|
+
MKPlayer.prototype.getCatchupConfig = function () {
|
|
642
816
|
if (!this.player) {
|
|
643
817
|
common_1.MKLog.error("Player not yet available!");
|
|
644
818
|
return null;
|
|
645
819
|
}
|
|
646
820
|
return this.player.getCatchupConfig();
|
|
647
|
-
}
|
|
648
|
-
getFallbackConfig() {
|
|
821
|
+
};
|
|
822
|
+
MKPlayer.prototype.getFallbackConfig = function () {
|
|
649
823
|
if (!this.player) {
|
|
650
824
|
common_1.MKLog.error("Player not yet available!");
|
|
651
825
|
return null;
|
|
652
826
|
}
|
|
653
827
|
return this.player.getFallbackConfig();
|
|
654
|
-
}
|
|
655
|
-
getLatency() {
|
|
828
|
+
};
|
|
829
|
+
MKPlayer.prototype.getLatency = function () {
|
|
656
830
|
if (!this.player) {
|
|
657
831
|
common_1.MKLog.error("Player not yet available!");
|
|
658
832
|
return 0;
|
|
659
833
|
}
|
|
660
834
|
return this.player.getLatency();
|
|
661
|
-
}
|
|
662
|
-
getTargetLatency() {
|
|
835
|
+
};
|
|
836
|
+
MKPlayer.prototype.getTargetLatency = function () {
|
|
663
837
|
if (!this.player) {
|
|
664
838
|
common_1.MKLog.error("Player not yet available!");
|
|
665
839
|
return 0;
|
|
666
840
|
}
|
|
667
841
|
return this.player.getTargetLatency();
|
|
668
|
-
}
|
|
669
|
-
setCatchupConfig(config) {
|
|
842
|
+
};
|
|
843
|
+
MKPlayer.prototype.setCatchupConfig = function (config) {
|
|
670
844
|
if (!this.player) {
|
|
671
845
|
common_1.MKLog.error("Player not yet available!");
|
|
672
846
|
return;
|
|
673
847
|
}
|
|
674
848
|
this.player.setCatchupConfig(config);
|
|
675
|
-
}
|
|
676
|
-
setFallbackConfig(config) {
|
|
849
|
+
};
|
|
850
|
+
MKPlayer.prototype.setFallbackConfig = function (config) {
|
|
677
851
|
if (!this.player) {
|
|
678
852
|
common_1.MKLog.error("Player not yet available!");
|
|
679
853
|
return;
|
|
680
854
|
}
|
|
681
855
|
this.player.setFallbackConfig(config);
|
|
682
|
-
}
|
|
683
|
-
setTargetLatency(latency) {
|
|
856
|
+
};
|
|
857
|
+
MKPlayer.prototype.setTargetLatency = function (latency) {
|
|
684
858
|
if (!this.player) {
|
|
685
859
|
common_1.MKLog.error("Player not yet available!");
|
|
686
860
|
return;
|
|
687
861
|
}
|
|
688
862
|
this.player.setTargetLatency(latency);
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
863
|
+
};
|
|
864
|
+
MKPlayer.prototype.switchCdn = function () {
|
|
865
|
+
var _a, _b, _c;
|
|
866
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
867
|
+
var signature, _d;
|
|
868
|
+
return __generator(this, function (_e) {
|
|
869
|
+
switch (_e.label) {
|
|
870
|
+
case 0:
|
|
871
|
+
if (!this.sourceConfig) return [3, 5];
|
|
872
|
+
if (!this.secureUrlManager) return [3, 4];
|
|
873
|
+
_e.label = 1;
|
|
874
|
+
case 1:
|
|
875
|
+
_e.trys.push([1, 3, , 4]);
|
|
876
|
+
return [4, this.secureUrlManager.getSignature(this.failOverUrl)];
|
|
877
|
+
case 2:
|
|
878
|
+
signature = _e.sent();
|
|
879
|
+
this.updateHttpHeaders({
|
|
880
|
+
"X-MK-Signature": signature,
|
|
881
|
+
"AuthorizationToken": (_a = this.sourceConfig.registered) === null || _a === void 0 ? void 0 : _a.environmentConfig.authToken
|
|
882
|
+
});
|
|
883
|
+
return [3, 4];
|
|
884
|
+
case 3:
|
|
885
|
+
_d = _e.sent();
|
|
886
|
+
common_1.MKLog.warn("Failed to get signature from secureUrlManager!");
|
|
887
|
+
return [3, 4];
|
|
888
|
+
case 4:
|
|
889
|
+
if ((_b = this.sourceConfig) === null || _b === void 0 ? void 0 : _b.dash) {
|
|
890
|
+
this.sourceConfig.dash = this.failOverUrl;
|
|
891
|
+
}
|
|
892
|
+
else if ((_c = this.sourceConfig) === null || _c === void 0 ? void 0 : _c.hls) {
|
|
893
|
+
this.sourceConfig.hls = this.failOverUrl;
|
|
894
|
+
}
|
|
895
|
+
this.loadSource(this.sourceConfig, false);
|
|
896
|
+
this.cdnFailoverAttempted = true;
|
|
897
|
+
_e.label = 5;
|
|
898
|
+
case 5: return [2];
|
|
899
|
+
}
|
|
900
|
+
});
|
|
901
|
+
});
|
|
902
|
+
};
|
|
903
|
+
MKPlayer.prototype.updateHttpHeaders = function (headers) {
|
|
904
|
+
var _a;
|
|
905
|
+
if (headers === null) {
|
|
906
|
+
this.headers = null;
|
|
699
907
|
}
|
|
700
908
|
else {
|
|
701
|
-
this.headers = null;
|
|
909
|
+
this.headers = Object.assign({}, (_a = this.headers) !== null && _a !== void 0 ? _a : {}, headers);
|
|
702
910
|
}
|
|
703
|
-
}
|
|
704
|
-
updateSourceConfigFromRollInfo(sourceConfig, rollInfo) {
|
|
911
|
+
};
|
|
912
|
+
MKPlayer.prototype.updateSourceConfigFromRollInfo = function (sourceConfig, rollInfo) {
|
|
705
913
|
sourceConfig.drm = rollInfo.drm;
|
|
706
914
|
if (sourceConfig.assetType !== enums_1.MKAssetType.Catchup && sourceConfig.assetType !== enums_1.MKAssetType.DVR) {
|
|
707
915
|
sourceConfig.assetType = rollInfo.isLive ? (rollInfo.isLiveEvent ? enums_1.MKAssetType.Event : enums_1.MKAssetType.Live) : enums_1.MKAssetType.VOD;
|
|
@@ -713,279 +921,316 @@ class MKPlayer extends common_1.MKEventBase {
|
|
|
713
921
|
sourceConfig.dash = rollInfo.sourceUrl;
|
|
714
922
|
}
|
|
715
923
|
return sourceConfig;
|
|
716
|
-
}
|
|
717
|
-
initializeBitmovinPlayerEngine() {
|
|
924
|
+
};
|
|
925
|
+
MKPlayer.prototype.initializeBitmovinPlayerEngine = function () {
|
|
718
926
|
this.player = new MKBitmovinPlayer_1.MKBitmovinPlayer(this.videoContainer, this.playerConfig);
|
|
719
927
|
this.addListeners();
|
|
720
|
-
}
|
|
721
|
-
initializePlayer(sourceConfig) {
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
928
|
+
};
|
|
929
|
+
MKPlayer.prototype.initializePlayer = function (sourceConfig) {
|
|
930
|
+
var _this = this;
|
|
931
|
+
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
932
|
+
var _a, error_1;
|
|
933
|
+
return __generator(this, function (_b) {
|
|
934
|
+
switch (_b.label) {
|
|
935
|
+
case 0:
|
|
936
|
+
_b.trys.push([0, 8, , 9]);
|
|
937
|
+
if (!sourceConfig)
|
|
938
|
+
return [2, reject(new Error("Invalid source configuration!"))];
|
|
939
|
+
if (!(!!sourceConfig.hls || !!sourceConfig.dash || !!sourceConfig.smooth || !!sourceConfig.progressive)) return [3, 6];
|
|
940
|
+
if (!(this.player && !(this.player instanceof MKBitmovinPlayer_1.MKBitmovinPlayer))) return [3, 5];
|
|
941
|
+
_b.label = 1;
|
|
942
|
+
case 1:
|
|
943
|
+
_b.trys.push([1, 3, , 4]);
|
|
944
|
+
return [4, this.player.destroy()];
|
|
945
|
+
case 2:
|
|
946
|
+
_b.sent();
|
|
947
|
+
return [3, 4];
|
|
948
|
+
case 3:
|
|
949
|
+
_a = _b.sent();
|
|
950
|
+
return [3, 4];
|
|
951
|
+
case 4:
|
|
733
952
|
this.player = undefined;
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
953
|
+
_b.label = 5;
|
|
954
|
+
case 5:
|
|
955
|
+
this.initializeBitmovinPlayerEngine();
|
|
956
|
+
return [2, resolve()];
|
|
957
|
+
case 6:
|
|
958
|
+
if (sourceConfig.ull) {
|
|
959
|
+
return [2, reject(new Error("ULL source not yet supported!"))];
|
|
960
|
+
}
|
|
961
|
+
_b.label = 7;
|
|
962
|
+
case 7: return [3, 9];
|
|
963
|
+
case 8:
|
|
964
|
+
error_1 = _b.sent();
|
|
965
|
+
return [2, reject(error_1)];
|
|
966
|
+
case 9: return [2];
|
|
740
967
|
}
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
}
|
|
747
|
-
addListeners() {
|
|
968
|
+
});
|
|
969
|
+
}); });
|
|
970
|
+
};
|
|
971
|
+
MKPlayer.prototype.addListeners = function () {
|
|
972
|
+
var _this = this;
|
|
748
973
|
if (this.player) {
|
|
749
|
-
this.player.on(enums_1.MKPlayerEvent.AdBreakFinished, (event)
|
|
750
|
-
|
|
974
|
+
this.player.on(enums_1.MKPlayerEvent.AdBreakFinished, function (event) {
|
|
975
|
+
_this.emit(enums_1.MKPlayerEvent.AdBreakFinished, event);
|
|
751
976
|
});
|
|
752
|
-
this.player.on(enums_1.MKPlayerEvent.AdBreakStarted, (event)
|
|
753
|
-
|
|
977
|
+
this.player.on(enums_1.MKPlayerEvent.AdBreakStarted, function (event) {
|
|
978
|
+
_this.emit(enums_1.MKPlayerEvent.AdBreakStarted, event);
|
|
754
979
|
});
|
|
755
|
-
this.player.on(enums_1.MKPlayerEvent.AdFinished, (event)
|
|
756
|
-
|
|
980
|
+
this.player.on(enums_1.MKPlayerEvent.AdFinished, function (event) {
|
|
981
|
+
_this.emit(enums_1.MKPlayerEvent.AdFinished, event);
|
|
757
982
|
});
|
|
758
|
-
this.player.on(enums_1.MKPlayerEvent.AdMarker, (event)
|
|
759
|
-
|
|
983
|
+
this.player.on(enums_1.MKPlayerEvent.AdMarker, function (event) {
|
|
984
|
+
_this.emit(enums_1.MKPlayerEvent.AdMarker, event);
|
|
760
985
|
});
|
|
761
|
-
this.player.on(enums_1.MKPlayerEvent.AdClickThrough, (event)
|
|
762
|
-
|
|
986
|
+
this.player.on(enums_1.MKPlayerEvent.AdClickThrough, function (event) {
|
|
987
|
+
_this.emit(enums_1.MKPlayerEvent.AdClickThrough, event);
|
|
763
988
|
});
|
|
764
|
-
this.player.on(enums_1.MKPlayerEvent.AdCompanion, (event)
|
|
765
|
-
|
|
989
|
+
this.player.on(enums_1.MKPlayerEvent.AdCompanion, function (event) {
|
|
990
|
+
_this.emit(enums_1.MKPlayerEvent.AdCompanion, event);
|
|
766
991
|
});
|
|
767
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
768
|
-
|
|
992
|
+
this.player.on(enums_1.MKPlayerEvent.AdVerification, function (event) {
|
|
993
|
+
_this.emit(enums_1.MKPlayerEvent.AdVerification, event);
|
|
769
994
|
});
|
|
770
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
771
|
-
|
|
995
|
+
this.player.on(enums_1.MKPlayerEvent.AdQuartile, function (event) {
|
|
996
|
+
_this.emit(enums_1.MKPlayerEvent.AdQuartile, event);
|
|
772
997
|
});
|
|
773
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
774
|
-
|
|
998
|
+
this.player.on(enums_1.MKPlayerEvent.AdStarted, function (event) {
|
|
999
|
+
_this.emit(enums_1.MKPlayerEvent.AdStarted, event);
|
|
775
1000
|
});
|
|
776
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
777
|
-
|
|
1001
|
+
this.player.on(enums_1.MKPlayerEvent.AirplayAvailable, function (event) {
|
|
1002
|
+
_this.emit(enums_1.MKPlayerEvent.AirplayAvailable, event);
|
|
778
1003
|
});
|
|
779
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
780
|
-
|
|
1004
|
+
this.player.on(enums_1.MKPlayerEvent.AirplayChanged, function (event) {
|
|
1005
|
+
_this.emit(enums_1.MKPlayerEvent.AirplayChanged, event);
|
|
781
1006
|
});
|
|
782
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
783
|
-
|
|
1007
|
+
this.player.on(enums_1.MKPlayerEvent.AspectRatioChanged, function (event) {
|
|
1008
|
+
_this.emit(enums_1.MKPlayerEvent.AspectRatioChanged, event);
|
|
784
1009
|
});
|
|
785
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
786
|
-
|
|
1010
|
+
this.player.on(enums_1.MKPlayerEvent.AudioAdaptation, function (event) {
|
|
1011
|
+
_this.emit(enums_1.MKPlayerEvent.AudioAdaptation, event);
|
|
787
1012
|
});
|
|
788
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
789
|
-
|
|
1013
|
+
this.player.on(enums_1.MKPlayerEvent.AudioAdded, function (event) {
|
|
1014
|
+
_this.emit(enums_1.MKPlayerEvent.AudioAdded, event);
|
|
790
1015
|
});
|
|
791
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
792
|
-
|
|
1016
|
+
this.player.on(enums_1.MKPlayerEvent.AudioChanged, function (event) {
|
|
1017
|
+
_this.emit(enums_1.MKPlayerEvent.AudioChanged, event);
|
|
793
1018
|
});
|
|
794
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
795
|
-
|
|
1019
|
+
this.player.on(enums_1.MKPlayerEvent.AudioDownloadQualityChange, function (event) {
|
|
1020
|
+
_this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChange, event);
|
|
796
1021
|
});
|
|
797
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
798
|
-
|
|
1022
|
+
this.player.on(enums_1.MKPlayerEvent.AudioDownloadQualityChanged, function (event) {
|
|
1023
|
+
_this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChanged, event);
|
|
799
1024
|
});
|
|
800
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
801
|
-
|
|
1025
|
+
this.player.on(enums_1.MKPlayerEvent.AudioPlaybackQualityChanged, function (event) {
|
|
1026
|
+
_this.emit(enums_1.MKPlayerEvent.AudioPlaybackQualityChanged, event);
|
|
802
1027
|
});
|
|
803
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
804
|
-
|
|
1028
|
+
this.player.on(enums_1.MKPlayerEvent.AudioQualityAdded, function (event) {
|
|
1029
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityAdded, event);
|
|
805
1030
|
});
|
|
806
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
807
|
-
|
|
1031
|
+
this.player.on(enums_1.MKPlayerEvent.AudioQualityChanged, function (event) {
|
|
1032
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityChanged, event);
|
|
808
1033
|
});
|
|
809
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
810
|
-
|
|
1034
|
+
this.player.on(enums_1.MKPlayerEvent.AudioQualityRemoved, function (event) {
|
|
1035
|
+
_this.emit(enums_1.MKPlayerEvent.AudioQualityRemoved, event);
|
|
811
1036
|
});
|
|
812
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
813
|
-
|
|
1037
|
+
this.player.on(enums_1.MKPlayerEvent.AudioRemoved, function (event) {
|
|
1038
|
+
_this.emit(enums_1.MKPlayerEvent.AudioRemoved, event);
|
|
814
1039
|
});
|
|
815
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
816
|
-
|
|
1040
|
+
this.player.on(enums_1.MKPlayerEvent.CastAvailable, function (event) {
|
|
1041
|
+
_this.emit(enums_1.MKPlayerEvent.CastAvailable, event);
|
|
817
1042
|
});
|
|
818
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
819
|
-
|
|
1043
|
+
this.player.on(enums_1.MKPlayerEvent.CastStart, function (event) {
|
|
1044
|
+
_this.emit(enums_1.MKPlayerEvent.CastStart, event);
|
|
820
1045
|
});
|
|
821
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
822
|
-
|
|
1046
|
+
this.player.on(enums_1.MKPlayerEvent.CastStarted, function (event) {
|
|
1047
|
+
var _a;
|
|
1048
|
+
if (_this.sessionManager) {
|
|
1049
|
+
(_a = _this.sessionManager) === null || _a === void 0 ? void 0 : _a.PauseSession();
|
|
1050
|
+
_this.addCastMetadata(_this.sessionManager.sessionManager === "azuki" ? 0 : 1);
|
|
1051
|
+
}
|
|
1052
|
+
_this.emit(enums_1.MKPlayerEvent.CastStarted, event);
|
|
823
1053
|
});
|
|
824
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
825
|
-
|
|
1054
|
+
this.player.on(enums_1.MKPlayerEvent.CastStopped, function (event) {
|
|
1055
|
+
var _a;
|
|
1056
|
+
_this.emit(enums_1.MKPlayerEvent.CastStopped, event);
|
|
1057
|
+
(_a = _this.sessionManager) === null || _a === void 0 ? void 0 : _a.startSession();
|
|
826
1058
|
});
|
|
827
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
828
|
-
|
|
1059
|
+
this.player.on(enums_1.MKPlayerEvent.CastWaitingForDevice, function (event) {
|
|
1060
|
+
_this.emit(enums_1.MKPlayerEvent.CastWaitingForDevice, event);
|
|
1061
|
+
});
|
|
1062
|
+
this.player.on(enums_1.MKPlayerEvent.CueEnter, function (event) {
|
|
1063
|
+
_this.emit(enums_1.MKPlayerEvent.CueEnter, event);
|
|
829
1064
|
}),
|
|
830
|
-
this.player.on(enums_1.MKPlayerEvent.CueExit, (event)
|
|
831
|
-
|
|
1065
|
+
this.player.on(enums_1.MKPlayerEvent.CueExit, function (event) {
|
|
1066
|
+
_this.emit(enums_1.MKPlayerEvent.CueExit, event);
|
|
832
1067
|
}),
|
|
833
|
-
this.player.on(enums_1.MKPlayerEvent.CueParsed, (event)
|
|
834
|
-
|
|
1068
|
+
this.player.on(enums_1.MKPlayerEvent.CueParsed, function (event) {
|
|
1069
|
+
_this.emit(enums_1.MKPlayerEvent.CueParsed, event);
|
|
835
1070
|
}),
|
|
836
|
-
this.player.on(enums_1.MKPlayerEvent.CueUpdate, (event)
|
|
837
|
-
|
|
1071
|
+
this.player.on(enums_1.MKPlayerEvent.CueUpdate, function (event) {
|
|
1072
|
+
_this.emit(enums_1.MKPlayerEvent.CueUpdate, event);
|
|
838
1073
|
}),
|
|
839
|
-
this.player.on(enums_1.MKPlayerEvent.DVRWindowExceeded, (event)
|
|
840
|
-
|
|
1074
|
+
this.player.on(enums_1.MKPlayerEvent.DVRWindowExceeded, function (event) {
|
|
1075
|
+
_this.emit(enums_1.MKPlayerEvent.DVRWindowExceeded, event);
|
|
841
1076
|
});
|
|
842
|
-
this.player.on(enums_1.MKPlayerEvent.Destroy, (event)
|
|
843
|
-
|
|
1077
|
+
this.player.on(enums_1.MKPlayerEvent.Destroy, function (event) {
|
|
1078
|
+
_this.emit(enums_1.MKPlayerEvent.Destroy, event);
|
|
844
1079
|
});
|
|
845
|
-
this.player.on(enums_1.MKPlayerEvent.DownloadFinished, (event)
|
|
846
|
-
|
|
1080
|
+
this.player.on(enums_1.MKPlayerEvent.DownloadFinished, function (event) {
|
|
1081
|
+
_this.emit(enums_1.MKPlayerEvent.DownloadFinished, event);
|
|
847
1082
|
});
|
|
848
|
-
this.player.on(enums_1.MKPlayerEvent.DrmLicenseAdded, (event)
|
|
849
|
-
|
|
1083
|
+
this.player.on(enums_1.MKPlayerEvent.DrmLicenseAdded, function (event) {
|
|
1084
|
+
_this.emit(enums_1.MKPlayerEvent.DrmLicenseAdded, event);
|
|
850
1085
|
});
|
|
851
|
-
this.player.on(enums_1.MKPlayerEvent.DurationChanged, (event)
|
|
852
|
-
|
|
1086
|
+
this.player.on(enums_1.MKPlayerEvent.DurationChanged, function (event) {
|
|
1087
|
+
_this.emit(enums_1.MKPlayerEvent.DurationChanged, event);
|
|
853
1088
|
});
|
|
854
|
-
this.player.on(enums_1.MKPlayerEvent.Error, (event)
|
|
855
|
-
|
|
1089
|
+
this.player.on(enums_1.MKPlayerEvent.Error, function (event) {
|
|
1090
|
+
var mkError = event;
|
|
1091
|
+
if ((mkError.code == enums_1.MKErrorCode.PLAYER_NETWORK_MANIFEST_DOWNLOAD_TIMEOUT ||
|
|
1092
|
+
mkError.code == enums_1.MKErrorCode.PLAYER_SOURCE_MANIFEST_INVALID ||
|
|
1093
|
+
mkError.code == enums_1.MKErrorCode.PLAYER_SOURCE_COULD_NOT_LOAD_MANIFEST ||
|
|
1094
|
+
mkError.code == enums_1.MKErrorCode.NETWORK_ERROR) && !_this.cdnFailoverAttempted) {
|
|
1095
|
+
_this.switchCdn();
|
|
1096
|
+
}
|
|
1097
|
+
else {
|
|
1098
|
+
_this.emit(enums_1.MKPlayerEvent.Error, event);
|
|
1099
|
+
}
|
|
1100
|
+
;
|
|
856
1101
|
});
|
|
857
|
-
this.player.on(enums_1.MKPlayerEvent.LatencyModeChanged, (event)
|
|
858
|
-
|
|
1102
|
+
this.player.on(enums_1.MKPlayerEvent.LatencyModeChanged, function (event) {
|
|
1103
|
+
_this.emit(enums_1.MKPlayerEvent.LatencyModeChanged, event);
|
|
859
1104
|
});
|
|
860
|
-
this.player.on(enums_1.MKPlayerEvent.Metadata, (event)
|
|
861
|
-
|
|
1105
|
+
this.player.on(enums_1.MKPlayerEvent.Metadata, function (event) {
|
|
1106
|
+
_this.emit(enums_1.MKPlayerEvent.Metadata, event);
|
|
862
1107
|
});
|
|
863
|
-
this.player.on(enums_1.MKPlayerEvent.MetadataChanged, (event)
|
|
864
|
-
|
|
1108
|
+
this.player.on(enums_1.MKPlayerEvent.MetadataChanged, function (event) {
|
|
1109
|
+
_this.emit(enums_1.MKPlayerEvent.MetadataChanged, event);
|
|
865
1110
|
});
|
|
866
|
-
this.player.on(enums_1.MKPlayerEvent.MetadataParsed, (event)
|
|
867
|
-
|
|
1111
|
+
this.player.on(enums_1.MKPlayerEvent.MetadataParsed, function (event) {
|
|
1112
|
+
_this.emit(enums_1.MKPlayerEvent.MetadataParsed, event);
|
|
868
1113
|
});
|
|
869
|
-
this.player.on(enums_1.MKPlayerEvent.Muted, (event)
|
|
870
|
-
|
|
1114
|
+
this.player.on(enums_1.MKPlayerEvent.Muted, function (event) {
|
|
1115
|
+
_this.emit(enums_1.MKPlayerEvent.Muted, event);
|
|
871
1116
|
});
|
|
872
|
-
this.player.on(enums_1.MKPlayerEvent.Paused, (event)
|
|
873
|
-
|
|
1117
|
+
this.player.on(enums_1.MKPlayerEvent.Paused, function (event) {
|
|
1118
|
+
_this.emit(enums_1.MKPlayerEvent.Paused, event);
|
|
874
1119
|
});
|
|
875
|
-
this.player.on(enums_1.MKPlayerEvent.PeriodSwitch, (event)
|
|
876
|
-
|
|
1120
|
+
this.player.on(enums_1.MKPlayerEvent.PeriodSwitch, function (event) {
|
|
1121
|
+
_this.emit(enums_1.MKPlayerEvent.PeriodSwitch, event);
|
|
877
1122
|
});
|
|
878
|
-
this.player.on(enums_1.MKPlayerEvent.PeriodSwitched, (event)
|
|
879
|
-
|
|
1123
|
+
this.player.on(enums_1.MKPlayerEvent.PeriodSwitched, function (event) {
|
|
1124
|
+
_this.emit(enums_1.MKPlayerEvent.PeriodSwitched, event);
|
|
880
1125
|
});
|
|
881
|
-
this.player.on(enums_1.MKPlayerEvent.Play, (event)
|
|
882
|
-
|
|
1126
|
+
this.player.on(enums_1.MKPlayerEvent.Play, function (event) {
|
|
1127
|
+
_this.emit(enums_1.MKPlayerEvent.Play, event);
|
|
883
1128
|
});
|
|
884
|
-
this.player.on(enums_1.MKPlayerEvent.PlaybackFinished, (event)
|
|
885
|
-
|
|
1129
|
+
this.player.on(enums_1.MKPlayerEvent.PlaybackFinished, function (event) {
|
|
1130
|
+
_this.emit(enums_1.MKPlayerEvent.PlaybackFinished, event);
|
|
886
1131
|
});
|
|
887
|
-
this.player.on(enums_1.MKPlayerEvent.PlaybackSpeedChanged, (event)
|
|
888
|
-
|
|
1132
|
+
this.player.on(enums_1.MKPlayerEvent.PlaybackSpeedChanged, function (event) {
|
|
1133
|
+
_this.emit(enums_1.MKPlayerEvent.PlaybackSpeedChanged, event);
|
|
889
1134
|
});
|
|
890
|
-
this.player.on(enums_1.MKPlayerEvent.PlayerResized, (event)
|
|
891
|
-
|
|
1135
|
+
this.player.on(enums_1.MKPlayerEvent.PlayerResized, function (event) {
|
|
1136
|
+
_this.emit(enums_1.MKPlayerEvent.PlayerResized, event);
|
|
892
1137
|
});
|
|
893
|
-
this.player.on(enums_1.MKPlayerEvent.Playing, (event)
|
|
894
|
-
|
|
1138
|
+
this.player.on(enums_1.MKPlayerEvent.Playing, function (event) {
|
|
1139
|
+
_this.emit(enums_1.MKPlayerEvent.Playing, event);
|
|
895
1140
|
});
|
|
896
|
-
this.player.on(enums_1.MKPlayerEvent.Ready, (event)
|
|
897
|
-
|
|
898
|
-
|
|
1141
|
+
this.player.on(enums_1.MKPlayerEvent.Ready, function (event) {
|
|
1142
|
+
_this.videoElement = _this.getVideoElement();
|
|
1143
|
+
_this.emit(enums_1.MKPlayerEvent.Ready, event);
|
|
899
1144
|
});
|
|
900
|
-
this.player.on(enums_1.MKPlayerEvent.Seek, (event)
|
|
901
|
-
|
|
1145
|
+
this.player.on(enums_1.MKPlayerEvent.Seek, function (event) {
|
|
1146
|
+
_this.emit(enums_1.MKPlayerEvent.Seek, event);
|
|
902
1147
|
});
|
|
903
|
-
this.player.on(enums_1.MKPlayerEvent.Seeked, (event)
|
|
904
|
-
|
|
1148
|
+
this.player.on(enums_1.MKPlayerEvent.Seeked, function (event) {
|
|
1149
|
+
_this.emit(enums_1.MKPlayerEvent.Seeked, event);
|
|
905
1150
|
});
|
|
906
|
-
this.player.on(enums_1.MKPlayerEvent.SegmentPlayback, (event)
|
|
907
|
-
|
|
1151
|
+
this.player.on(enums_1.MKPlayerEvent.SegmentPlayback, function (event) {
|
|
1152
|
+
_this.emit(enums_1.MKPlayerEvent.SegmentPlayback, event);
|
|
908
1153
|
});
|
|
909
|
-
this.player.on(enums_1.MKPlayerEvent.SegmentRequestFinished, (event)
|
|
910
|
-
|
|
1154
|
+
this.player.on(enums_1.MKPlayerEvent.SegmentRequestFinished, function (event) {
|
|
1155
|
+
_this.emit(enums_1.MKPlayerEvent.SegmentRequestFinished, event);
|
|
911
1156
|
});
|
|
912
|
-
this.player.on(enums_1.MKPlayerEvent.ShowAirplayTargetPicker, (event)
|
|
913
|
-
|
|
1157
|
+
this.player.on(enums_1.MKPlayerEvent.ShowAirplayTargetPicker, function (event) {
|
|
1158
|
+
_this.emit(enums_1.MKPlayerEvent.ShowAirplayTargetPicker, event);
|
|
914
1159
|
});
|
|
915
|
-
this.player.on(enums_1.MKPlayerEvent.SourceLoaded, (event)
|
|
916
|
-
var _a, _b, _c, _d, _e;
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
if ((_b = (_a =
|
|
1160
|
+
this.player.on(enums_1.MKPlayerEvent.SourceLoaded, function (event) {
|
|
1161
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1162
|
+
_this.sourceLoaded = true;
|
|
1163
|
+
_this.emit(enums_1.MKPlayerEvent.SourceLoaded, event);
|
|
1164
|
+
if ((_b = (_a = _this.sourceConfig) === null || _a === void 0 ? void 0 : _a.registered) === null || _b === void 0 ? void 0 : _b.adobePrimetimeConfig) {
|
|
920
1165
|
try {
|
|
921
|
-
|
|
922
|
-
|
|
1166
|
+
_this.adobeSessionConcurrencyRequest = new request_1.MKAdobeSessionConcurrencyRequest(_this.sourceConfig.registered.adobePrimetimeConfig, _this.onSessionConcurrencyNotificationError.bind(_this));
|
|
1167
|
+
_this.sessionManager = _this.adobeSessionConcurrencyRequest;
|
|
923
1168
|
}
|
|
924
1169
|
catch (error) {
|
|
925
1170
|
common_1.MKLog.warn("Failed to initialize session manager due to error: ", JSON.stringify(error));
|
|
926
1171
|
}
|
|
927
1172
|
}
|
|
928
1173
|
else {
|
|
929
|
-
|
|
1174
|
+
_this.sessionManager = _this.azukiRequest;
|
|
930
1175
|
}
|
|
931
|
-
(_c =
|
|
1176
|
+
(_c = _this.sessionManager) === null || _c === void 0 ? void 0 : _c.startSession().catch(function (error) {
|
|
932
1177
|
common_1.MKLog.warn("startSession failed for session concurrency with error: ", JSON.stringify(error));
|
|
933
1178
|
});
|
|
934
|
-
if (
|
|
935
|
-
((_d =
|
|
936
|
-
|
|
1179
|
+
if (_this.playerConfig.enableHlsImageMediaPlaylistSupport &&
|
|
1180
|
+
((_d = _this.sourceConfig) === null || _d === void 0 ? void 0 : _d.hls) && !((_e = _this.sourceConfig) === null || _e === void 0 ? void 0 : _e.thumbnailTrack)) {
|
|
1181
|
+
_this.thumbnailManager.enable(_this.sourceConfig.hls, (_f = _this.headers) !== null && _f !== void 0 ? _f : undefined);
|
|
937
1182
|
}
|
|
938
1183
|
});
|
|
939
|
-
this.player.on(enums_1.MKPlayerEvent.SourceUnloaded, (event)
|
|
940
|
-
|
|
941
|
-
|
|
1184
|
+
this.player.on(enums_1.MKPlayerEvent.SourceUnloaded, function (event) {
|
|
1185
|
+
_this.sourceLoaded = false;
|
|
1186
|
+
_this.emit(enums_1.MKPlayerEvent.SourceUnloaded, event);
|
|
942
1187
|
});
|
|
943
|
-
this.player.on(enums_1.MKPlayerEvent.StallEnded, (event)
|
|
944
|
-
|
|
1188
|
+
this.player.on(enums_1.MKPlayerEvent.StallEnded, function (event) {
|
|
1189
|
+
_this.emit(enums_1.MKPlayerEvent.StallEnded, event);
|
|
945
1190
|
});
|
|
946
|
-
this.player.on(enums_1.MKPlayerEvent.StallStarted, (event)
|
|
947
|
-
|
|
1191
|
+
this.player.on(enums_1.MKPlayerEvent.StallStarted, function (event) {
|
|
1192
|
+
_this.emit(enums_1.MKPlayerEvent.StallStarted, event);
|
|
948
1193
|
});
|
|
949
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleAdded, (event)
|
|
950
|
-
|
|
1194
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleAdded, function (event) {
|
|
1195
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleAdded, event);
|
|
951
1196
|
});
|
|
952
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleDisable, (event)
|
|
953
|
-
|
|
1197
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleDisable, function (event) {
|
|
1198
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleDisable, event);
|
|
954
1199
|
});
|
|
955
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleDisabled, (event)
|
|
956
|
-
|
|
1200
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleDisabled, function (event) {
|
|
1201
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleDisabled, event);
|
|
957
1202
|
});
|
|
958
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleEnable, (event)
|
|
959
|
-
|
|
1203
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleEnable, function (event) {
|
|
1204
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleEnable, event);
|
|
960
1205
|
});
|
|
961
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleEnabled, (event)
|
|
962
|
-
|
|
1206
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleEnabled, function (event) {
|
|
1207
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleEnabled, event);
|
|
963
1208
|
});
|
|
964
|
-
this.player.on(enums_1.MKPlayerEvent.SubtitleRemoved, (event)
|
|
965
|
-
|
|
1209
|
+
this.player.on(enums_1.MKPlayerEvent.SubtitleRemoved, function (event) {
|
|
1210
|
+
_this.emit(enums_1.MKPlayerEvent.SubtitleRemoved, event);
|
|
966
1211
|
});
|
|
967
|
-
this.player.on(enums_1.MKPlayerEvent.TargetLatencyChanged, (event)
|
|
968
|
-
|
|
1212
|
+
this.player.on(enums_1.MKPlayerEvent.TargetLatencyChanged, function (event) {
|
|
1213
|
+
_this.emit(enums_1.MKPlayerEvent.TargetLatencyChanged, event);
|
|
969
1214
|
});
|
|
970
|
-
this.player.on(enums_1.MKPlayerEvent.TimeChanged, (event)
|
|
1215
|
+
this.player.on(enums_1.MKPlayerEvent.TimeChanged, function (event) {
|
|
971
1216
|
var _a;
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
if (
|
|
975
|
-
|
|
1217
|
+
_this.emit(enums_1.MKPlayerEvent.TimeChanged, event);
|
|
1218
|
+
var timeChangedEvent = event;
|
|
1219
|
+
if (_this.programManager && ((_a = _this.sourceConfig) === null || _a === void 0 ? void 0 : _a.assetType) === enums_1.MKAssetType.Live) {
|
|
1220
|
+
var programInfo = _this.programManager.checkProgramBoundary(timeChangedEvent.time);
|
|
976
1221
|
if (programInfo) {
|
|
977
1222
|
try {
|
|
978
|
-
|
|
1223
|
+
var controlBlockingRestrictions = _this.programManager.validateProgramRestrictions(programInfo);
|
|
979
1224
|
if (controlBlockingRestrictions.length > 0) {
|
|
980
|
-
|
|
1225
|
+
_this.emitProgramRestrictionsEvent(controlBlockingRestrictions);
|
|
981
1226
|
}
|
|
982
1227
|
if (programInfo.timeRange) {
|
|
983
|
-
|
|
1228
|
+
_this.emitProgramTimeChangedEvent(programInfo.timeRange);
|
|
984
1229
|
}
|
|
985
1230
|
}
|
|
986
1231
|
catch (error) {
|
|
987
1232
|
if (MKUtils_1.MKUtils.isMKError(error)) {
|
|
988
|
-
|
|
1233
|
+
_this.unloadAndEmitErrorEvent(error);
|
|
989
1234
|
}
|
|
990
1235
|
else {
|
|
991
1236
|
common_1.MKLog.error("Unhandled error: ", error);
|
|
@@ -994,50 +1239,54 @@ class MKPlayer extends common_1.MKEventBase {
|
|
|
994
1239
|
}
|
|
995
1240
|
}
|
|
996
1241
|
});
|
|
997
|
-
this.player.on(enums_1.MKPlayerEvent.Unmuted, (event)
|
|
998
|
-
|
|
1242
|
+
this.player.on(enums_1.MKPlayerEvent.Unmuted, function (event) {
|
|
1243
|
+
_this.emit(enums_1.MKPlayerEvent.Unmuted, event);
|
|
1244
|
+
});
|
|
1245
|
+
this.player.on(enums_1.MKPlayerEvent.VideoAdaptation, function (event) {
|
|
1246
|
+
_this.emit(enums_1.MKPlayerEvent.VideoAdaptation, event);
|
|
999
1247
|
});
|
|
1000
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1001
|
-
|
|
1248
|
+
this.player.on(enums_1.MKPlayerEvent.VideoDownloadQualityChange, function (event) {
|
|
1249
|
+
_this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChange, event);
|
|
1002
1250
|
});
|
|
1003
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1004
|
-
|
|
1251
|
+
this.player.on(enums_1.MKPlayerEvent.VideoDownloadQualityChanged, function (event) {
|
|
1252
|
+
_this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChanged, event);
|
|
1005
1253
|
});
|
|
1006
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1007
|
-
|
|
1254
|
+
this.player.on(enums_1.MKPlayerEvent.VideoPlaybackQualityChanged, function (event) {
|
|
1255
|
+
_this.emit(enums_1.MKPlayerEvent.VideoPlaybackQualityChanged, event);
|
|
1008
1256
|
});
|
|
1009
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1010
|
-
|
|
1257
|
+
this.player.on(enums_1.MKPlayerEvent.VideoQualityAdded, function (event) {
|
|
1258
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityAdded, event);
|
|
1011
1259
|
});
|
|
1012
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1013
|
-
|
|
1260
|
+
this.player.on(enums_1.MKPlayerEvent.VideoQualityChanged, function (event) {
|
|
1261
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityChanged, event);
|
|
1014
1262
|
});
|
|
1015
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1016
|
-
|
|
1263
|
+
this.player.on(enums_1.MKPlayerEvent.VideoQualityRemoved, function (event) {
|
|
1264
|
+
_this.emit(enums_1.MKPlayerEvent.VideoQualityRemoved, event);
|
|
1017
1265
|
});
|
|
1018
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1019
|
-
|
|
1266
|
+
this.player.on(enums_1.MKPlayerEvent.ViewModeChanged, function (event) {
|
|
1267
|
+
_this.emit(enums_1.MKPlayerEvent.ViewModeChanged, event);
|
|
1020
1268
|
});
|
|
1021
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1022
|
-
|
|
1269
|
+
this.player.on(enums_1.MKPlayerEvent.VolumeChanged, function (event) {
|
|
1270
|
+
_this.emit(enums_1.MKPlayerEvent.VolumeChanged, event);
|
|
1023
1271
|
});
|
|
1024
|
-
this.player.on(enums_1.MKPlayerEvent.
|
|
1025
|
-
|
|
1272
|
+
this.player.on(enums_1.MKPlayerEvent.VSPPSessionIdAvailable, function (event) {
|
|
1273
|
+
_this.emit(enums_1.MKPlayerEvent.VSPPSessionIdAvailable, event);
|
|
1026
1274
|
});
|
|
1027
1275
|
}
|
|
1028
|
-
}
|
|
1029
|
-
emitProgramTimeChangedEvent(timeRange) {
|
|
1030
|
-
|
|
1276
|
+
};
|
|
1277
|
+
MKPlayer.prototype.emitProgramTimeChangedEvent = function (timeRange) {
|
|
1278
|
+
var programTimeChangedEventData = {
|
|
1031
1279
|
timeRange: timeRange,
|
|
1032
1280
|
type: enums_1.MKPlayerEvent.ProgramTimeChanged,
|
|
1033
1281
|
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp()
|
|
1034
1282
|
};
|
|
1035
1283
|
this.emit(enums_1.MKPlayerEvent.ProgramTimeChanged, programTimeChangedEventData);
|
|
1036
|
-
}
|
|
1037
|
-
unloadAndEmitErrorEvent(error, unloadPlayer
|
|
1284
|
+
};
|
|
1285
|
+
MKPlayer.prototype.unloadAndEmitErrorEvent = function (error, unloadPlayer) {
|
|
1286
|
+
if (unloadPlayer === void 0) { unloadPlayer = true; }
|
|
1038
1287
|
if (unloadPlayer)
|
|
1039
1288
|
this.unload();
|
|
1040
|
-
|
|
1289
|
+
var errorEvent = {
|
|
1041
1290
|
name: error.name,
|
|
1042
1291
|
code: error.code,
|
|
1043
1292
|
message: error.message,
|
|
@@ -1046,49 +1295,54 @@ class MKPlayer extends common_1.MKEventBase {
|
|
|
1046
1295
|
};
|
|
1047
1296
|
this.emit(enums_1.MKPlayerEvent.Error, errorEvent);
|
|
1048
1297
|
return errorEvent;
|
|
1049
|
-
}
|
|
1050
|
-
emitProgramRestrictionsEvent(restrictions) {
|
|
1298
|
+
};
|
|
1299
|
+
MKPlayer.prototype.emitProgramRestrictionsEvent = function (restrictions) {
|
|
1051
1300
|
if (restrictions.length > 0) {
|
|
1052
|
-
|
|
1301
|
+
var event_1 = {
|
|
1053
1302
|
type: enums_1.MKPlayerEvent.ProgramRestrictions,
|
|
1054
1303
|
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp(),
|
|
1055
1304
|
programRestrictions: restrictions,
|
|
1056
1305
|
};
|
|
1057
|
-
this.emit(enums_1.MKPlayerEvent.ProgramRestrictions,
|
|
1306
|
+
this.emit(enums_1.MKPlayerEvent.ProgramRestrictions, event_1);
|
|
1058
1307
|
}
|
|
1059
|
-
}
|
|
1060
|
-
loadSource(sourceConfig, disableSeeking) {
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1308
|
+
};
|
|
1309
|
+
MKPlayer.prototype.loadSource = function (sourceConfig, disableSeeking) {
|
|
1310
|
+
var _this = this;
|
|
1311
|
+
this.emit(enums_1.MKPlayerEvent.SourceLoad, {
|
|
1312
|
+
type: enums_1.MKPlayerEvent.SourceLoad,
|
|
1313
|
+
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp()
|
|
1314
|
+
});
|
|
1315
|
+
return new Promise(function (resolve, reject) {
|
|
1316
|
+
_this.initializePlayer(sourceConfig)
|
|
1317
|
+
.then(function () {
|
|
1318
|
+
_this.sourceConfig = sourceConfig;
|
|
1319
|
+
if (_this.player) {
|
|
1320
|
+
if (_this.videoElement) {
|
|
1321
|
+
_this.player.setVideoElement(_this.videoElement);
|
|
1068
1322
|
}
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
.then(()
|
|
1072
|
-
.catch((error)
|
|
1323
|
+
_this.player.setHttpHeaders(_this.headers);
|
|
1324
|
+
_this.player.load(_this.sourceConfig, disableSeeking)
|
|
1325
|
+
.then(function () { return resolve(); })
|
|
1326
|
+
.catch(function (error) { return reject(error); });
|
|
1073
1327
|
}
|
|
1074
1328
|
else {
|
|
1075
1329
|
return reject(new Error("Invalid player instance!"));
|
|
1076
1330
|
}
|
|
1077
1331
|
})
|
|
1078
|
-
.catch((error)
|
|
1332
|
+
.catch(function (error) {
|
|
1079
1333
|
return reject(error);
|
|
1080
1334
|
});
|
|
1081
1335
|
});
|
|
1082
|
-
}
|
|
1083
|
-
onSessionConcurrencyNotificationError(error) {
|
|
1336
|
+
};
|
|
1337
|
+
MKPlayer.prototype.onSessionConcurrencyNotificationError = function (error) {
|
|
1084
1338
|
var _a;
|
|
1085
|
-
|
|
1339
|
+
var errorCodes = [
|
|
1086
1340
|
"4-63-2430",
|
|
1087
1341
|
"4-63-3736",
|
|
1088
1342
|
"4-81-409",
|
|
1089
1343
|
];
|
|
1090
1344
|
if (errorCodes.includes(error.code)) {
|
|
1091
|
-
(_a = this.sessionManager) === null || _a === void 0 ? void 0 : _a.stopSession().catch((error)
|
|
1345
|
+
(_a = this.sessionManager) === null || _a === void 0 ? void 0 : _a.stopSession().catch(function (error) {
|
|
1092
1346
|
common_1.MKLog.warn("stopSession failed for sesison concurrency with error: ", JSON.stringify(error));
|
|
1093
1347
|
});
|
|
1094
1348
|
this.unloadAndEmitErrorEvent(error, true);
|
|
@@ -1096,7 +1350,17 @@ class MKPlayer extends common_1.MKEventBase {
|
|
|
1096
1350
|
else {
|
|
1097
1351
|
common_1.MKLog.warn("Session concurrency notification failed with error: ", JSON.stringify(error));
|
|
1098
1352
|
}
|
|
1099
|
-
}
|
|
1100
|
-
|
|
1353
|
+
};
|
|
1354
|
+
MKPlayer.prototype.sendAnalyticsDataEvent = function (name, value) {
|
|
1355
|
+
var event = {
|
|
1356
|
+
dataName: name,
|
|
1357
|
+
dataValue: value,
|
|
1358
|
+
type: enums_1.MKPlayerEvent.AnalyticsDataAvailable,
|
|
1359
|
+
timestamp: MKUtils_1.MKUtils.getCurrentTimestamp()
|
|
1360
|
+
};
|
|
1361
|
+
this.emit(enums_1.MKPlayerEvent.AnalyticsDataAvailable, event);
|
|
1362
|
+
};
|
|
1363
|
+
return MKPlayer;
|
|
1364
|
+
}(common_1.MKEventBase));
|
|
1101
1365
|
exports.MKPlayer = MKPlayer;
|
|
1102
1366
|
//# sourceMappingURL=MKPlayer.js.map
|