@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.
Files changed (116) hide show
  1. package/README.md +6 -6
  2. package/mkplayer.js +1 -1
  3. package/package.json +3 -3
  4. package/types/alias/index.d.ts +1 -1
  5. package/types/classes/common/MKAzukiResponseUtils.js +68 -59
  6. package/types/classes/common/MKAzukiResponseUtils.js.map +1 -1
  7. package/types/classes/common/MKEventBase.js +11 -10
  8. package/types/classes/common/MKEventBase.js.map +1 -1
  9. package/types/classes/common/MKLocalStorage.js +64 -58
  10. package/types/classes/common/MKLocalStorage.js.map +1 -1
  11. package/types/classes/common/MKLog.js +49 -22
  12. package/types/classes/common/MKLog.js.map +1 -1
  13. package/types/classes/common/MKPlatform.js +190 -101
  14. package/types/classes/common/MKPlatform.js.map +1 -1
  15. package/types/classes/common/MKProgramManager.js +37 -32
  16. package/types/classes/common/MKProgramManager.js.map +1 -1
  17. package/types/classes/common/MKSecureUrlManager.js +138 -109
  18. package/types/classes/common/MKSecureUrlManager.js.map +1 -1
  19. package/types/classes/common/MKSubtitleOverlay.js +69 -67
  20. package/types/classes/common/MKSubtitleOverlay.js.map +1 -1
  21. package/types/classes/common/MKThumbnailManager.js +264 -209
  22. package/types/classes/common/MKThumbnailManager.js.map +1 -1
  23. package/types/classes/common/MKUtils.js +164 -97
  24. package/types/classes/common/MKUtils.js.map +1 -1
  25. package/types/classes/error/MKAdobeSessionConcurrencyError.js +6 -5
  26. package/types/classes/error/MKAdobeSessionConcurrencyError.js.map +1 -1
  27. package/types/classes/error/MKAzukiRequestError.js +8 -7
  28. package/types/classes/error/MKAzukiRequestError.js.map +1 -1
  29. package/types/classes/error/MKBitmovinPlayerError.js +31 -12
  30. package/types/classes/error/MKBitmovinPlayerError.js.map +1 -1
  31. package/types/classes/error/MKHttpError.js +4 -3
  32. package/types/classes/error/MKHttpError.js.map +1 -1
  33. package/types/classes/error/MKPlayerError.js +5 -4
  34. package/types/classes/error/MKPlayerError.js.map +1 -1
  35. package/types/classes/error/MKProgramRestrictionError.js +11 -10
  36. package/types/classes/error/MKProgramRestrictionError.js.map +1 -1
  37. package/types/classes/player/MKBitmovinPlayer.js +665 -534
  38. package/types/classes/player/MKBitmovinPlayer.js.map +1 -1
  39. package/types/classes/player/MKPlayer.d.ts +5 -0
  40. package/types/classes/player/MKPlayer.js +790 -526
  41. package/types/classes/player/MKPlayer.js.map +1 -1
  42. package/types/classes/player/MKStubPlayer.d.ts +1 -0
  43. package/types/classes/player/MKStubPlayer.js +367 -0
  44. package/types/classes/player/MKStubPlayer.js.map +1 -0
  45. package/types/classes/request/MKAdobeSessionConcurrencyRequest.js +198 -126
  46. package/types/classes/request/MKAdobeSessionConcurrencyRequest.js.map +1 -1
  47. package/types/classes/request/MKAzukiRequest.js +385 -254
  48. package/types/classes/request/MKAzukiRequest.js.map +1 -1
  49. package/types/classes/request/MKHttpRequest.js +128 -89
  50. package/types/classes/request/MKHttpRequest.js.map +1 -1
  51. package/types/constants/MKAzukiRequestEndpoint.js +24 -24
  52. package/types/constants/MKAzukiRequestEndpoint.js.map +1 -1
  53. package/types/constants/MKConstants.js +1 -1
  54. package/types/enums/MKAnalyticsDataName.d.ts +8 -0
  55. package/types/enums/MKAnalyticsDataName.js +13 -0
  56. package/types/enums/MKAnalyticsDataName.js.map +1 -0
  57. package/types/enums/MKErrorCode.d.ts +1 -0
  58. package/types/enums/MKErrorCode.js +1 -0
  59. package/types/enums/MKErrorCode.js.map +1 -1
  60. package/types/enums/MKPlayerEvent.d.ts +7 -1
  61. package/types/enums/MKPlayerEvent.js +6 -0
  62. package/types/enums/MKPlayerEvent.js.map +1 -1
  63. package/types/enums/MKProgramRestrictionType.js.map +1 -1
  64. package/types/enums/index.d.ts +1 -0
  65. package/types/enums/index.js +3 -1
  66. package/types/enums/index.js.map +1 -1
  67. package/types/interfaces/MKAdVerification.d.ts +5 -0
  68. package/types/interfaces/MKAdVerification.js +3 -0
  69. package/types/interfaces/MKAdVerification.js.map +1 -0
  70. package/types/interfaces/MKAdaptationPlatformConfig.js +1 -1
  71. package/types/interfaces/MKAdaptationPlatformConfig.js.map +1 -1
  72. package/types/interfaces/MKBufferConfig.js +1 -1
  73. package/types/interfaces/MKBufferConfig.js.map +1 -1
  74. package/types/interfaces/MKBufferMediaTypeConfig.js +1 -1
  75. package/types/interfaces/MKBufferMediaTypeConfig.js.map +1 -1
  76. package/types/interfaces/MKDrmConfig.js +1 -1
  77. package/types/interfaces/MKDrmConfig.js.map +1 -1
  78. package/types/interfaces/MKPlayerConfig.d.ts +1 -0
  79. package/types/interfaces/MKRegisteredSource.d.ts +2 -1
  80. package/types/interfaces/events/MKAdVerificationEvent.d.ts +6 -0
  81. package/types/interfaces/events/MKAdVerificationEvent.js +3 -0
  82. package/types/interfaces/events/MKAdVerificationEvent.js.map +1 -0
  83. package/types/interfaces/events/MKAnalyticsDataEvent.d.ts +6 -0
  84. package/types/interfaces/events/MKAnalyticsDataEvent.js +3 -0
  85. package/types/interfaces/events/MKAnalyticsDataEvent.js.map +1 -0
  86. package/types/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +2 -1
  87. package/types/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +3 -3
  88. package/types/interfaces/events/MKVSPPSessionIdEvent.d.ts +4 -0
  89. package/types/interfaces/events/MKVSPPSessionIdEvent.js +3 -0
  90. package/types/interfaces/events/MKVSPPSessionIdEvent.js.map +1 -0
  91. package/types/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +2 -1
  92. package/types/interfaces/events/index.d.ts +3 -0
  93. package/types/interfaces/index.d.ts +2 -1
  94. package/types/src/alias/index.d.ts +1 -1
  95. package/types/src/classes/player/MKPlayer.d.ts +5 -0
  96. package/types/src/classes/player/MKStubPlayer.d.ts +1 -0
  97. package/types/src/enums/MKAnalyticsDataName.d.ts +8 -0
  98. package/types/src/enums/MKErrorCode.d.ts +1 -0
  99. package/types/src/enums/MKPlayerEvent.d.ts +7 -1
  100. package/types/src/enums/index.d.ts +1 -0
  101. package/types/src/interfaces/MKAdVerification.d.ts +5 -0
  102. package/types/src/interfaces/MKPlayerConfig.d.ts +1 -0
  103. package/types/src/interfaces/MKRegisteredSource.d.ts +2 -1
  104. package/types/src/interfaces/events/MKAdVerificationEvent.d.ts +6 -0
  105. package/types/src/interfaces/events/MKAnalyticsDataEvent.d.ts +6 -0
  106. package/types/src/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +2 -1
  107. package/types/src/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +3 -3
  108. package/types/src/interfaces/events/MKVSPPSessionIdEvent.d.ts +4 -0
  109. package/types/src/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +2 -1
  110. package/types/src/interfaces/events/index.d.ts +3 -0
  111. package/types/src/interfaces/index.d.ts +2 -1
  112. package/types/plugins/fmts/MKFMTSConfig.d.ts +0 -10
  113. package/types/plugins/fmts/MKFMTSController.d.ts +0 -39
  114. package/types/plugins/fmts/MKFMTSUtils.d.ts +0 -4
  115. package/types/plugins/fmts/index.d.ts +0 -2
  116. 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
- 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) {
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
- if (this.sourceLoaded) {
363
- yield this.unload();
364
- }
365
- return new Promise((resolve, reject) => {
366
- this.sourceLoaded = false;
367
- this.azukiRequest = undefined;
368
- this.sourceConfig = undefined;
369
- this.programManager = undefined;
370
- this.sessionManager = undefined;
371
- this.secureUrlManager = undefined;
372
- this.adobeSessionConcurrencyRequest = undefined;
373
- sourceConfig = Object.assign({}, sourceConfig);
374
- if (sourceConfig.ull !== undefined) {
375
- return reject(new Error("ULL source is not yet supported!"));
376
- }
377
- else if (sourceConfig.hls !== undefined || sourceConfig.dash !== undefined || sourceConfig.smooth !== undefined || sourceConfig.progressive !== undefined) {
378
- this.loadSource(sourceConfig, disableSeeking)
379
- .then(() => { return resolve(); })
380
- .catch((error) => { return reject(error); });
381
- }
382
- else if (sourceConfig.registered !== undefined) {
383
- if (sourceConfig.registered.environmentConfig.kssUrl) {
384
- this.secureUrlManager = new MKSecureUrlManager_1.MKSecureUrlManager(sourceConfig.registered.environmentConfig.authToken, sourceConfig.registered.environmentConfig.kssUrl);
385
- }
386
- this.azukiRequest = new MKAzukiRequest_1.MKAzukiRequest(sourceConfig, this.onSessionConcurrencyNotificationError.bind(this));
387
- this.azukiRequest.rollRequest()
388
- .then((rollInfo) => __awaiter(this, void 0, void 0, function* () {
389
- var _a, _b, _c;
390
- this.programManager = new common_1.MKProgramManager(this.azukiRequest);
391
- const controlBlockingRestrictions = this.programManager.validateProgramRestrictions(rollInfo.programInfo);
392
- if (controlBlockingRestrictions.length > 0) {
393
- this.emitProgramRestrictionsEvent(controlBlockingRestrictions);
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
- catch (_d) {
425
- common_1.MKLog.warn("Failed to get signature from secureUrlManager!");
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 (!!authToken) {
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
- (_a = this.secureUrlManager) === null || _a === void 0 ? void 0 : _a.updateAuthToken(authToken).then((signature) => {
687
+ this.secureUrlManager.updateAuthToken(authToken)
688
+ .then(function (signature) {
526
689
  var _a;
527
- if (!!signature) {
528
- this.updateHttpHeaders({
529
- "X-MK-Signature": signature,
530
- "AuthorizationToken": authToken
531
- });
532
- (_a = this.player) === null || _a === void 0 ? void 0 : _a.setHttpHeaders(this.headers);
533
- }
534
- }).catch((_error) => {
535
- common_1.MKLog.warn("Something went wrong while setting http headers on the player for secureUrl signature and authToken!");
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
- setHttpHeaders(headers) {
540
- if (!this.player) {
541
- common_1.MKLog.error("Player not yet available!");
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
- this.updateHttpHeaders(headers);
545
- this.player.setHttpHeaders(headers);
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
- if (!this.player) {
619
- return Promise.reject(new Error("Player not yet available!"));
620
- }
621
- (_a = this.sessionManager) === null || _a === void 0 ? void 0 : _a.stopSession().catch((error) => {
622
- 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
+ }
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
- updateHttpHeaders(headers) {
691
- if (headers !== null && Object.keys(headers).length > 0) {
692
- if (this.headers && Object.keys(this.headers).length > 0) {
693
- const existingHeaders = this.headers;
694
- this.headers = Object.assign({}, existingHeaders, headers);
695
- }
696
- else {
697
- this.headers = headers;
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
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
723
- try {
724
- if (!sourceConfig)
725
- return reject(new Error("Invalid source configuration!"));
726
- if (!!sourceConfig.hls || !!sourceConfig.dash || !!sourceConfig.smooth || !!sourceConfig.progressive) {
727
- if (this.player && !(this.player instanceof MKBitmovinPlayer_1.MKBitmovinPlayer)) {
728
- try {
729
- yield this.player.destroy();
730
- }
731
- catch (_a) {
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
- this.initializeBitmovinPlayerEngine();
736
- return resolve();
737
- }
738
- else if (sourceConfig.ull) {
739
- 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];
740
967
  }
741
- }
742
- catch (error) {
743
- return reject(error);
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
- 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);
751
976
  });
752
- this.player.on(enums_1.MKPlayerEvent.AdBreakStarted, (event) => {
753
- 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);
754
979
  });
755
- this.player.on(enums_1.MKPlayerEvent.AdFinished, (event) => {
756
- 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);
757
982
  });
758
- this.player.on(enums_1.MKPlayerEvent.AdMarker, (event) => {
759
- 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);
760
985
  });
761
- this.player.on(enums_1.MKPlayerEvent.AdClickThrough, (event) => {
762
- 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);
763
988
  });
764
- this.player.on(enums_1.MKPlayerEvent.AdCompanion, (event) => {
765
- 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);
766
991
  });
767
- this.player.on(enums_1.MKPlayerEvent.AdQuartile, (event) => {
768
- this.emit(enums_1.MKPlayerEvent.AdQuartile, event);
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.AdStarted, (event) => {
771
- this.emit(enums_1.MKPlayerEvent.AdStarted, event);
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.AirplayAvailable, (event) => {
774
- this.emit(enums_1.MKPlayerEvent.AirplayAvailable, event);
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.AirplayChanged, (event) => {
777
- this.emit(enums_1.MKPlayerEvent.AirplayChanged, event);
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.AspectRatioChanged, (event) => {
780
- this.emit(enums_1.MKPlayerEvent.AspectRatioChanged, event);
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.AudioAdaptation, (event) => {
783
- this.emit(enums_1.MKPlayerEvent.AudioAdaptation, event);
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.AudioAdded, (event) => {
786
- this.emit(enums_1.MKPlayerEvent.AudioAdded, event);
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.AudioChanged, (event) => {
789
- this.emit(enums_1.MKPlayerEvent.AudioChanged, event);
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.AudioDownloadQualityChange, (event) => {
792
- this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChange, event);
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.AudioDownloadQualityChanged, (event) => {
795
- this.emit(enums_1.MKPlayerEvent.AudioDownloadQualityChanged, event);
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.AudioPlaybackQualityChanged, (event) => {
798
- this.emit(enums_1.MKPlayerEvent.AudioPlaybackQualityChanged, event);
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.AudioQualityAdded, (event) => {
801
- this.emit(enums_1.MKPlayerEvent.AudioQualityAdded, event);
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.AudioQualityChanged, (event) => {
804
- this.emit(enums_1.MKPlayerEvent.AudioQualityChanged, event);
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.AudioQualityRemoved, (event) => {
807
- this.emit(enums_1.MKPlayerEvent.AudioQualityRemoved, event);
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.AudioRemoved, (event) => {
810
- this.emit(enums_1.MKPlayerEvent.AudioRemoved, event);
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.CastAvailable, (event) => {
813
- this.emit(enums_1.MKPlayerEvent.CastAvailable, event);
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.CastStart, (event) => {
816
- this.emit(enums_1.MKPlayerEvent.CastStart, event);
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.CastStarted, (event) => {
819
- this.emit(enums_1.MKPlayerEvent.CastStarted, event);
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.CastStopped, (event) => {
822
- this.emit(enums_1.MKPlayerEvent.CastStopped, event);
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.CastWaitingForDevice, (event) => {
825
- this.emit(enums_1.MKPlayerEvent.CastWaitingForDevice, 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();
826
1058
  });
827
- this.player.on(enums_1.MKPlayerEvent.CueEnter, (event) => {
828
- this.emit(enums_1.MKPlayerEvent.CueEnter, event);
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
- 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);
832
1067
  }),
833
- this.player.on(enums_1.MKPlayerEvent.CueParsed, (event) => {
834
- 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);
835
1070
  }),
836
- this.player.on(enums_1.MKPlayerEvent.CueUpdate, (event) => {
837
- 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);
838
1073
  }),
839
- this.player.on(enums_1.MKPlayerEvent.DVRWindowExceeded, (event) => {
840
- 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);
841
1076
  });
842
- this.player.on(enums_1.MKPlayerEvent.Destroy, (event) => {
843
- 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);
844
1079
  });
845
- this.player.on(enums_1.MKPlayerEvent.DownloadFinished, (event) => {
846
- 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);
847
1082
  });
848
- this.player.on(enums_1.MKPlayerEvent.DrmLicenseAdded, (event) => {
849
- 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);
850
1085
  });
851
- this.player.on(enums_1.MKPlayerEvent.DurationChanged, (event) => {
852
- 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);
853
1088
  });
854
- this.player.on(enums_1.MKPlayerEvent.Error, (event) => {
855
- 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
+ ;
856
1101
  });
857
- this.player.on(enums_1.MKPlayerEvent.LatencyModeChanged, (event) => {
858
- 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);
859
1104
  });
860
- this.player.on(enums_1.MKPlayerEvent.Metadata, (event) => {
861
- 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);
862
1107
  });
863
- this.player.on(enums_1.MKPlayerEvent.MetadataChanged, (event) => {
864
- 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);
865
1110
  });
866
- this.player.on(enums_1.MKPlayerEvent.MetadataParsed, (event) => {
867
- 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);
868
1113
  });
869
- this.player.on(enums_1.MKPlayerEvent.Muted, (event) => {
870
- 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);
871
1116
  });
872
- this.player.on(enums_1.MKPlayerEvent.Paused, (event) => {
873
- 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);
874
1119
  });
875
- this.player.on(enums_1.MKPlayerEvent.PeriodSwitch, (event) => {
876
- 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);
877
1122
  });
878
- this.player.on(enums_1.MKPlayerEvent.PeriodSwitched, (event) => {
879
- 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);
880
1125
  });
881
- this.player.on(enums_1.MKPlayerEvent.Play, (event) => {
882
- 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);
883
1128
  });
884
- this.player.on(enums_1.MKPlayerEvent.PlaybackFinished, (event) => {
885
- 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);
886
1131
  });
887
- this.player.on(enums_1.MKPlayerEvent.PlaybackSpeedChanged, (event) => {
888
- 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);
889
1134
  });
890
- this.player.on(enums_1.MKPlayerEvent.PlayerResized, (event) => {
891
- 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);
892
1137
  });
893
- this.player.on(enums_1.MKPlayerEvent.Playing, (event) => {
894
- 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);
895
1140
  });
896
- this.player.on(enums_1.MKPlayerEvent.Ready, (event) => {
897
- this.videoElement = this.getVideoElement();
898
- 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);
899
1144
  });
900
- this.player.on(enums_1.MKPlayerEvent.Seek, (event) => {
901
- 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);
902
1147
  });
903
- this.player.on(enums_1.MKPlayerEvent.Seeked, (event) => {
904
- 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);
905
1150
  });
906
- this.player.on(enums_1.MKPlayerEvent.SegmentPlayback, (event) => {
907
- 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);
908
1153
  });
909
- this.player.on(enums_1.MKPlayerEvent.SegmentRequestFinished, (event) => {
910
- 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);
911
1156
  });
912
- this.player.on(enums_1.MKPlayerEvent.ShowAirplayTargetPicker, (event) => {
913
- 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);
914
1159
  });
915
- this.player.on(enums_1.MKPlayerEvent.SourceLoaded, (event) => {
916
- var _a, _b, _c, _d, _e;
917
- this.sourceLoaded = true;
918
- this.emit(enums_1.MKPlayerEvent.SourceLoaded, event);
919
- if ((_b = (_a = this.sourceConfig) === null || _a === void 0 ? void 0 : _a.registered) === null || _b === void 0 ? void 0 : _b.adobePrimetimeConfig) {
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
- this.adobeSessionConcurrencyRequest = new request_1.MKAdobeSessionConcurrencyRequest(this.sourceConfig.registered.adobePrimetimeConfig, this.onSessionConcurrencyNotificationError.bind(this));
922
- this.sessionManager = this.adobeSessionConcurrencyRequest;
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
- this.sessionManager = this.azukiRequest;
1174
+ _this.sessionManager = _this.azukiRequest;
930
1175
  }
931
- (_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) {
932
1177
  common_1.MKLog.warn("startSession failed for session concurrency with error: ", JSON.stringify(error));
933
1178
  });
934
- if (this.playerConfig.enableHlsImageMediaPlaylistSupport &&
935
- ((_d = this.sourceConfig) === null || _d === void 0 ? void 0 : _d.hls) && !((_e = this.sourceConfig) === null || _e === void 0 ? void 0 : _e.thumbnailTrack)) {
936
- this.thumbnailManager.enable(this.sourceConfig.hls);
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
- this.sourceLoaded = false;
941
- 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);
942
1187
  });
943
- this.player.on(enums_1.MKPlayerEvent.StallEnded, (event) => {
944
- 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);
945
1190
  });
946
- this.player.on(enums_1.MKPlayerEvent.StallStarted, (event) => {
947
- 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);
948
1193
  });
949
- this.player.on(enums_1.MKPlayerEvent.SubtitleAdded, (event) => {
950
- 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);
951
1196
  });
952
- this.player.on(enums_1.MKPlayerEvent.SubtitleDisable, (event) => {
953
- 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);
954
1199
  });
955
- this.player.on(enums_1.MKPlayerEvent.SubtitleDisabled, (event) => {
956
- 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);
957
1202
  });
958
- this.player.on(enums_1.MKPlayerEvent.SubtitleEnable, (event) => {
959
- 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);
960
1205
  });
961
- this.player.on(enums_1.MKPlayerEvent.SubtitleEnabled, (event) => {
962
- 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);
963
1208
  });
964
- this.player.on(enums_1.MKPlayerEvent.SubtitleRemoved, (event) => {
965
- 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);
966
1211
  });
967
- this.player.on(enums_1.MKPlayerEvent.TargetLatencyChanged, (event) => {
968
- 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);
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
- this.emit(enums_1.MKPlayerEvent.TimeChanged, event);
973
- const timeChangedEvent = event;
974
- if (this.programManager && ((_a = this.sourceConfig) === null || _a === void 0 ? void 0 : _a.assetType) === enums_1.MKAssetType.Live) {
975
- 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);
976
1221
  if (programInfo) {
977
1222
  try {
978
- const controlBlockingRestrictions = this.programManager.validateProgramRestrictions(programInfo);
1223
+ var controlBlockingRestrictions = _this.programManager.validateProgramRestrictions(programInfo);
979
1224
  if (controlBlockingRestrictions.length > 0) {
980
- this.emitProgramRestrictionsEvent(controlBlockingRestrictions);
1225
+ _this.emitProgramRestrictionsEvent(controlBlockingRestrictions);
981
1226
  }
982
1227
  if (programInfo.timeRange) {
983
- this.emitProgramTimeChangedEvent(programInfo.timeRange);
1228
+ _this.emitProgramTimeChangedEvent(programInfo.timeRange);
984
1229
  }
985
1230
  }
986
1231
  catch (error) {
987
1232
  if (MKUtils_1.MKUtils.isMKError(error)) {
988
- this.unloadAndEmitErrorEvent(error);
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
- 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);
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.VideoAdaptation, (event) => {
1001
- this.emit(enums_1.MKPlayerEvent.VideoAdaptation, event);
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.VideoDownloadQualityChange, (event) => {
1004
- this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChange, event);
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.VideoDownloadQualityChanged, (event) => {
1007
- this.emit(enums_1.MKPlayerEvent.VideoDownloadQualityChanged, event);
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.VideoPlaybackQualityChanged, (event) => {
1010
- this.emit(enums_1.MKPlayerEvent.VideoPlaybackQualityChanged, event);
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.VideoQualityAdded, (event) => {
1013
- this.emit(enums_1.MKPlayerEvent.VideoQualityAdded, event);
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.VideoQualityChanged, (event) => {
1016
- this.emit(enums_1.MKPlayerEvent.VideoQualityChanged, event);
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.VideoQualityRemoved, (event) => {
1019
- this.emit(enums_1.MKPlayerEvent.VideoQualityRemoved, event);
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.ViewModeChanged, (event) => {
1022
- this.emit(enums_1.MKPlayerEvent.ViewModeChanged, event);
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.VolumeChanged, (event) => {
1025
- this.emit(enums_1.MKPlayerEvent.VolumeChanged, event);
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
- const programTimeChangedEventData = {
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 = true) {
1284
+ };
1285
+ MKPlayer.prototype.unloadAndEmitErrorEvent = function (error, unloadPlayer) {
1286
+ if (unloadPlayer === void 0) { unloadPlayer = true; }
1038
1287
  if (unloadPlayer)
1039
1288
  this.unload();
1040
- const errorEvent = {
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
- const event = {
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, event);
1306
+ this.emit(enums_1.MKPlayerEvent.ProgramRestrictions, event_1);
1058
1307
  }
1059
- }
1060
- loadSource(sourceConfig, disableSeeking) {
1061
- return new Promise((resolve, reject) => {
1062
- this.initializePlayer(sourceConfig)
1063
- .then(() => {
1064
- this.sourceConfig = sourceConfig;
1065
- if (this.player) {
1066
- if (this.videoElement) {
1067
- 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);
1068
1322
  }
1069
- this.player.setHttpHeaders(this.headers);
1070
- this.player.load(this.sourceConfig, disableSeeking)
1071
- .then(() => { return resolve(); })
1072
- .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); });
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
- const errorCodes = [
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