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