@mediakind/mkplayer 1.0.13 → 1.0.15

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 (51) hide show
  1. package/README.md +17 -1
  2. package/dist/MKPlayer.d.ts +3 -0
  3. package/dist/MKPlayerConfiguration.d.ts +2 -0
  4. package/dist/MKStream.d.ts +13 -1
  5. package/dist/URLHelper.d.ts +4 -0
  6. package/dist/events/RequestType.d.ts +4 -0
  7. package/dist/lib/MKPlayer.d.ts +3 -0
  8. package/dist/lib/MKPlayer.js +71 -9
  9. package/dist/lib/MKPlayer.js.map +1 -1
  10. package/dist/lib/MKPlayerConfiguration.d.ts +2 -0
  11. package/dist/lib/MKStream.d.ts +13 -1
  12. package/dist/lib/MKStream.js +49 -1
  13. package/dist/lib/MKStream.js.map +1 -1
  14. package/dist/lib/URLHelper.d.ts +4 -0
  15. package/dist/lib/URLHelper.js +51 -0
  16. package/dist/lib/URLHelper.js.map +1 -0
  17. package/dist/lib/events/RequestType.d.ts +4 -0
  18. package/dist/lib/events/RequestType.js +9 -0
  19. package/dist/lib/events/RequestType.js.map +1 -0
  20. package/dist/lib-esm/MKPlayer.d.ts +3 -0
  21. package/dist/lib-esm/MKPlayer.js +71 -9
  22. package/dist/lib-esm/MKPlayer.js.map +1 -1
  23. package/dist/lib-esm/MKPlayerConfiguration.d.ts +2 -0
  24. package/dist/lib-esm/MKStream.d.ts +13 -1
  25. package/dist/lib-esm/MKStream.js +49 -1
  26. package/dist/lib-esm/MKStream.js.map +1 -1
  27. package/dist/lib-esm/URLHelper.d.ts +4 -0
  28. package/dist/lib-esm/URLHelper.js +48 -0
  29. package/dist/lib-esm/URLHelper.js.map +1 -0
  30. package/dist/lib-esm/events/RequestType.d.ts +4 -0
  31. package/dist/lib-esm/events/RequestType.js +6 -0
  32. package/dist/lib-esm/events/RequestType.js.map +1 -0
  33. package/dist/mkplayer.js +1 -1
  34. package/doc/assets/js/search.json +1 -1
  35. package/doc/classes/mkplayer.html +19 -22
  36. package/doc/enums/mkevent.html +0 -3
  37. package/doc/globals.html +0 -4
  38. package/doc/index.html +17 -4
  39. package/doc/interfaces/bufferlevel.html +0 -3
  40. package/doc/interfaces/mkplayereventcallback.html +0 -3
  41. package/doc/interfaces/subtitletrack.html +0 -3
  42. package/index.html +64 -17
  43. package/multi-camera.html +19 -19
  44. package/package.json +3 -3
  45. package/src/MKPlayer.ts +74 -15
  46. package/src/MKPlayerConfiguration.ts +7 -0
  47. package/src/MKStream.ts +55 -1
  48. package/src/URLHelper.ts +63 -0
  49. package/src/events/RequestType.ts +5 -0
  50. package/doc/interfaces/mkplayerconfiguration.html +0 -290
  51. package/mkplayer-ui.js +0 -12052
package/README.md CHANGED
@@ -23,7 +23,15 @@ var mkPlayerConfiguration = {
23
23
  debug: true,
24
24
  autoplay: true,
25
25
  muted: true,
26
- key: 'YOUR-KEY'
26
+ key: 'YOUR-KEY',
27
+
28
+ refreshToken: (type) => {
29
+ if (type === 'master') {
30
+ return 'hdnts=1234566787888'
31
+ }else if (type === 'variant') {
32
+ return 'hdnts=jadfjahdfjahdsfjh'
33
+ }
34
+ },
27
35
  };
28
36
 
29
37
  var playerContainer = document.getElementById('player');
@@ -37,6 +45,14 @@ let mkStream = {
37
45
  cdnFailoverPercent: 10, //10 percent of streams will start with the secondary url
38
46
  assetIdentifier: 'Your Asset Id',
39
47
  poster: 'https://your-cdn.com/poster.png'
48
+
49
+ // optional analytics information
50
+ userId: 'badge2',
51
+ customData1: 'customData1',
52
+ customData2: 'customData2',
53
+ customData3: 'customData3',
54
+ customData4: 'customData4',
55
+ customData5: 'customData5',
40
56
  }
41
57
 
42
58
  mkPlayer.load(mkStream).then(function() {
@@ -5,6 +5,7 @@ import { BufferLevel } from './BufferLevel';
5
5
  import { MKPlayerEventCallback } from './events/MKPlayerEventCallback';
6
6
  export declare class MKPlayer {
7
7
  private player;
8
+ private stream;
8
9
  constructor(containerElement: HTMLElement, mkPlayerConfiguration: MKPlayerConfiguration);
9
10
  play(): Promise<void>;
10
11
  pause(): void;
@@ -26,4 +27,6 @@ export declare class MKPlayer {
26
27
  private static getRandomInt;
27
28
  private static makeId;
28
29
  private static mapEvent;
30
+ private manipulateMasterPlaylist;
31
+ private appendToken;
29
32
  }
@@ -1,3 +1,4 @@
1
+ import { RequestType } from './events/RequestType';
1
2
  export interface MKPlayerConfiguration {
2
3
  debug: boolean;
3
4
  autoplay: boolean;
@@ -6,4 +7,5 @@ export interface MKPlayerConfiguration {
6
7
  ui: boolean;
7
8
  targetLatency: number;
8
9
  key: string;
10
+ refreshToken?: (type: RequestType) => string;
9
11
  }
@@ -6,11 +6,23 @@ export declare class MKStream {
6
6
  private readonly _subtitleTracks;
7
7
  private readonly _cdnFailoverPercent;
8
8
  private readonly _poster;
9
- constructor(primaryUrl: string, assetIdentifier: string, subtitleTracks?: SubtitleTrack[], poster?: string, secondaryUrl?: string, cdnFailoverPercent?: number);
9
+ private readonly _userId;
10
+ private readonly _customData1;
11
+ private readonly _customData2;
12
+ private readonly _customData3;
13
+ private readonly _customData4;
14
+ private readonly _customData5;
15
+ constructor(primaryUrl: string, assetIdentifier: string, subtitleTracks?: SubtitleTrack[], poster?: string, secondaryUrl?: string, cdnFailoverPercent?: number, userId?: string, customData1?: string, customData2?: string, customData3?: string, customData4?: string, customData5?: string);
10
16
  get cdnFailoverPercent(): number;
11
17
  get primaryUrl(): string;
12
18
  get secondaryUrl(): string;
13
19
  get subtitleTracks(): SubtitleTrack[];
14
20
  get assetIdentifier(): string;
15
21
  get poster(): string;
22
+ get customData1(): string;
23
+ get customData2(): string;
24
+ get customData3(): string;
25
+ get customData4(): string;
26
+ get customData5(): string;
27
+ get userId(): string;
16
28
  }
@@ -0,0 +1,4 @@
1
+ export declare class URLHelper {
2
+ static appendQueryParametersToUrl(url: string, parameters: Map<string, string>): string;
3
+ static removeUrlParameter(url: string, parameter: string): string;
4
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum RequestType {
2
+ Master = "master",
3
+ Variant = "variant"
4
+ }
@@ -5,6 +5,7 @@ import { BufferLevel } from './BufferLevel';
5
5
  import { MKPlayerEventCallback } from './events/MKPlayerEventCallback';
6
6
  export declare class MKPlayer {
7
7
  private player;
8
+ private stream;
8
9
  constructor(containerElement: HTMLElement, mkPlayerConfiguration: MKPlayerConfiguration);
9
10
  play(): Promise<void>;
10
11
  pause(): void;
@@ -26,4 +27,6 @@ export declare class MKPlayer {
26
27
  private static getRandomInt;
27
28
  private static makeId;
28
29
  private static mapEvent;
30
+ private manipulateMasterPlaylist;
31
+ private appendToken;
29
32
  }
@@ -5,8 +5,11 @@ var bitmovin_player_1 = require("bitmovin-player");
5
5
  var bitmovin_player_ui_1 = require("bitmovin-player-ui");
6
6
  var MKEvent_1 = require("./events/MKEvent");
7
7
  var Logger_1 = require("./Logger");
8
+ var RequestType_1 = require("./events/RequestType");
9
+ var URLHelper_1 = require("./URLHelper");
8
10
  var MKPlayer = (function () {
9
11
  function MKPlayer(containerElement, mkPlayerConfiguration) {
12
+ var _this = this;
10
13
  var playerConfig = {
11
14
  key: mkPlayerConfiguration.key,
12
15
  playback: {
@@ -16,18 +19,40 @@ var MKPlayer = (function () {
16
19
  analytics: {
17
20
  key: '1c45ae9c-345e-4462-95e2-3e8faccd64f1',
18
21
  },
19
- location: {
20
- ui: 'mkplayer-ui.js',
21
- ui_css: 'mkplayer-ui.min.css',
22
+ ui: {
23
+ disableAutoHideWhenHovered: true,
22
24
  },
23
25
  logs: {
24
26
  level: bitmovin_player_1.LogLevel.OFF,
25
27
  bitmovin: false,
26
28
  },
29
+ network: {
30
+ preprocessHttpRequest: function (type, request) {
31
+ if (type === 'manifest/hls/master') {
32
+ if (typeof mkPlayerConfiguration.refreshToken === 'function') {
33
+ var token = mkPlayerConfiguration.refreshToken(RequestType_1.RequestType.Master);
34
+ console.log('[MKPlayer] Appending master token: ' + token);
35
+ request.url = _this.appendToken(request.url, token);
36
+ }
37
+ }
38
+ else if (type === 'manifest/hls/variant') {
39
+ if (typeof mkPlayerConfiguration.refreshToken === 'function') {
40
+ var token = mkPlayerConfiguration.refreshToken(RequestType_1.RequestType.Variant);
41
+ console.log('[MKPlayer] Appending variant token: ' + token);
42
+ request.url = _this.appendToken(request.url, token);
43
+ }
44
+ }
45
+ return Promise.resolve(request);
46
+ },
47
+ preprocessHttpResponse: function (type, response) {
48
+ if (type === 'manifest/hls/master') {
49
+ var body = _this.manipulateMasterPlaylist(response.body);
50
+ response.body = body;
51
+ }
52
+ return Promise.resolve(response);
53
+ },
54
+ },
27
55
  };
28
- if (mkPlayerConfiguration.ui === false) {
29
- playerConfig.ui = false;
30
- }
31
56
  if (mkPlayerConfiguration.targetLatency > 0) {
32
57
  playerConfig.live = {
33
58
  lowLatency: {
@@ -51,7 +76,7 @@ var MKPlayer = (function () {
51
76
  bitmovin_player_ui_1.UIFactory.buildDefaultSmallScreenUI(player);
52
77
  }
53
78
  else {
54
- bitmovin_player_ui_1.UIFactory.buildDefaultUI(player);
79
+ bitmovin_player_ui_1.UIFactory.buildDefaultUI(player, playerConfig.ui);
55
80
  }
56
81
  }
57
82
  if (mkPlayerConfiguration.debug) {
@@ -71,6 +96,7 @@ var MKPlayer = (function () {
71
96
  };
72
97
  MKPlayer.prototype.load = function (stream) {
73
98
  var playerSource;
99
+ this.stream = stream;
74
100
  var url = MKPlayer.selectUrl(stream);
75
101
  if (url.includes('.m3u8')) {
76
102
  playerSource = {
@@ -93,9 +119,16 @@ var MKPlayer = (function () {
93
119
  if (stream.assetIdentifier) {
94
120
  playerSource.analytics = {
95
121
  videoId: stream.assetIdentifier,
122
+ userId: stream.userId,
123
+ customData1: stream.customData1,
124
+ customData2: stream.customData2,
125
+ customData3: stream.customData3,
126
+ customData4: stream.customData4,
127
+ customData5: stream.customData5,
128
+ customData6: this.version(),
96
129
  };
97
130
  }
98
- if (stream.subtitleTracks) {
131
+ if (stream.subtitleTracks && !stream.subtitleTracks[0].url.includes('.m3u8')) {
99
132
  playerSource.subtitleTracks = stream.subtitleTracks.map(function (track) { return ({
100
133
  lang: track.language,
101
134
  url: track.url,
@@ -144,7 +177,7 @@ var MKPlayer = (function () {
144
177
  this.player.setVolume(volume);
145
178
  };
146
179
  MKPlayer.prototype.version = function () {
147
- return '1.0.13';
180
+ return '1.0.15';
148
181
  };
149
182
  MKPlayer.selectUrl = function (source) {
150
183
  var rand = MKPlayer.getRandomInt(99);
@@ -217,6 +250,35 @@ var MKPlayer = (function () {
217
250
  }
218
251
  return playerEventType;
219
252
  };
253
+ MKPlayer.prototype.manipulateMasterPlaylist = function (response) {
254
+ var body = response;
255
+ if (this.stream.subtitleTracks && this.stream.subtitleTracks[0].url.includes('.m3u8')) {
256
+ this.stream.subtitleTracks.forEach(function (track) {
257
+ body = body.concat('\n#EXT-X-MEDIA:TYPE=SUBTITLES,'
258
+ + 'NAME="' + track.language + '",'
259
+ + 'DEFAULT=YES,'
260
+ + 'AUTOSELECT=YES,'
261
+ + 'FORCED=NO,'
262
+ + 'LANGUAGE="' + track.language + '",GROUP-ID="subs",'
263
+ + 'URI="' + track.url + '"');
264
+ });
265
+ }
266
+ return body;
267
+ };
268
+ MKPlayer.prototype.appendToken = function (url, token) {
269
+ var splitted = token.split('=');
270
+ if (splitted && splitted.length >= 2) {
271
+ var key = splitted[0];
272
+ var value = splitted[1];
273
+ var params = new Map();
274
+ params.set(key, value);
275
+ var updatedUrl = URLHelper_1.URLHelper.appendQueryParametersToUrl(url, params);
276
+ return updatedUrl;
277
+ }
278
+ else {
279
+ return url;
280
+ }
281
+ };
220
282
  return MKPlayer;
221
283
  }());
222
284
  exports.MKPlayer = MKPlayer;
@@ -1 +1 @@
1
- {"version":3,"file":"MKPlayer.js","sourceRoot":"","sources":["../../src/MKPlayer.ts"],"names":[],"mappings":";;;AAAA,mDAEyB;AACzB,yDAA+C;AAG/C,4CAA2C;AAG3C,mCAAkC;AAKlC;IASE,kBAAY,gBAA6B,EAAE,qBAA4C;QACrF,IAAI,YAAY,GAAiB;YAC/B,GAAG,EAAE,qBAAqB,CAAC,GAAG;YAC9B,QAAQ,EAAE;gBACR,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;gBACxC,KAAK,EAAE,qBAAqB,CAAC,KAAK;aACnC;YACD,SAAS,EAAE;gBACT,GAAG,EAAE,sCAAsC;aAC5C;YACD,QAAQ,EAAE;gBACR,EAAE,EAAE,gBAAgB;gBACpB,MAAM,EAAE,qBAAqB;aAC9B;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,0BAAQ,CAAC,GAAG;gBACnB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QAEF,IAAI,qBAAqB,CAAC,EAAE,KAAK,KAAK,EAAE;YACtC,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC;SACzB;QAED,IAAI,qBAAqB,CAAC,aAAa,GAAG,CAAC,EAAE;YAC3C,YAAY,CAAC,IAAI,GAAG;gBAClB,UAAU,EAAE;oBACV,aAAa,EAAE,qBAAqB,CAAC,aAAa;oBAClD,OAAO,EAAE;wBACP,qBAAqB,EAAE,KAAK;wBAC5B,aAAa,EAAE,EAAE;wBACjB,YAAY,EAAE,GAAG;qBAClB;oBACD,QAAQ,EAAE;wBACR,qBAAqB,EAAE,KAAK;wBAC5B,aAAa,EAAE,EAAE;wBACjB,YAAY,EAAE,GAAG;qBAClB;iBACF;aACF,CAAC;SACH;QAED,IAAI,MAAM,GAAG,IAAI,wBAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,qBAAqB,CAAC,EAAE,KAAK,KAAK,EAAE;YACtC,IAAI,qBAAqB,CAAC,WAAW,EAAE;gBACrC,8BAAS,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;aAC7C;iBAAM;gBACL,8BAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aAClC;SACF;QAED,IAAI,qBAAqB,CAAC,KAAK,EAAE;YAC/B,eAAM,CAAC,MAAM,EAAE,CAAC;SACjB;QAGD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAKD,uBAAI,GAAJ;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAKD,wBAAK,GAAL;QACE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAKD,0BAAO,GAAP;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAOD,uBAAI,GAAJ,UAAK,MAAgB;QACnB,IAAI,YAA0B,CAAC;QAC/B,IAAI,GAAG,GAAW,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACzB,YAAY,GAAG;gBACb,GAAG,EAAE,GAAG;aACT,CAAC;SACH;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC/B,YAAY,GAAG;gBACb,WAAW,EAAE,GAAG;aACjB,CAAC;SACH;aAAM;YACL,YAAY,GAAG;gBACb,IAAI,EAAE,GAAG;aACV,CAAC;SACH;QAED,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACrC;QAED,IAAI,MAAM,CAAC,eAAe,EAAE;YAC1B,YAAY,CAAC,SAAS,GAAG;gBACvB,OAAO,EAAE,MAAM,CAAC,eAAe;aAChC,CAAC;SACH;QAED,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,YAAY,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAe;gBAChF,IAAI,EAAE,KAAK,CAAC,QAAQ;gBACpB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACvB,CAAA,EAJkE,CAIlE,CAAC,CAAC;SACJ;QAED,eAAM,CAAC,GAAG,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAQD,sBAAG,GAAH,UAAI,SAAkB,EAAE,QAA+B;QACrD,IAAI,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAQD,qBAAE,GAAF,UAAG,SAAkB,EAAE,QAA+B;QACpD,IAAI,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAKD,yBAAM,GAAN;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAKD,iCAAc,GAAd;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAOD,kCAAe,GAAf;QACE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAAU,CAAC,eAAe,EAAE,2BAAS,CAAC,KAAK,CAAC,CAAC,KAAK;YACrF,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,4BAAU,CAAC,eAAe,EAAE,2BAAS,CAAC,KAAK,CAAC,CAAC,KAAK;SACtF,CAAC;IACJ,CAAC;IAMD,mCAAgB,GAAhB,UAAiB,OAAe;QAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAMD,6BAAU,GAAV;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAC7C,CAAC;IAKD,uBAAI,GAAJ;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAKD,gCAAa,GAAb;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAKD,yBAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAQD,4BAAS,GAAT,UAAU,MAAc;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAKD,0BAAO,GAAP;QACE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEc,kBAAS,GAAxB,UAAyB,MAAgB;QACvC,IAAI,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,CAAC,kBAAkB,EAAE;YACxF,eAAM,CAAC,GAAG,CAAC,8CAA8C,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACjF,OAAO,MAAM,CAAC,YAAY,CAAC;SAC5B;aAAM;YACL,eAAM,CAAC,GAAG,CAAC,4CAA4C,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7E,OAAO,MAAM,CAAC,UAAU,CAAC;SAC1B;IACH,CAAC;IAEc,qBAAY,GAA3B,UAA4B,GAAW;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAEc,eAAM,GAArB,UAAsB,MAAM;QAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,UAAU,GAAG,gEAAgE,CAAC;QAClF,IAAI,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;SAC3E;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEc,iBAAQ,GAAvB,UAAwB,KAAc;QACpC,IAAI,eAA4B,CAAC;QACjC,QAAQ,KAAK,EAAE;YACb,KAAK,iBAAO,CAAC,gBAAgB;gBAC3B,eAAe,GAAG,6BAAW,CAAC,YAAY,CAAC;gBAC3C,MAAM;YACR,KAAK,iBAAO,CAAC,cAAc;gBACzB,eAAe,GAAG,6BAAW,CAAC,UAAU,CAAC;gBACzC,MAAM;YACR,KAAK,iBAAO,CAAC,OAAO;gBAClB,eAAe,GAAG,6BAAW,CAAC,OAAO,CAAC;gBACtC,MAAM;YACR,KAAK,iBAAO,CAAC,MAAM;gBACjB,eAAe,GAAG,6BAAW,CAAC,MAAM,CAAC;gBACrC,MAAM;YACR,KAAK,iBAAO,CAAC,WAAW;gBACtB,eAAe,GAAG,6BAAW,CAAC,WAAW,CAAC;gBAC1C,MAAM;YACR,KAAK,iBAAO,CAAC,KAAK;gBAChB,eAAe,GAAG,6BAAW,CAAC,KAAK,CAAC;gBACpC,MAAM;YACR,KAAK,iBAAO,CAAC,KAAK;gBAChB,eAAe,GAAG,6BAAW,CAAC,KAAK,CAAC;gBACpC,MAAM;YACR,KAAK,iBAAO,CAAC,cAAc;gBACzB,eAAe,GAAG,6BAAW,CAAC,gBAAgB,CAAC;gBAC/C,MAAM;YACR,KAAK,iBAAO,CAAC,OAAO;gBAClB,eAAe,GAAG,6BAAW,CAAC,OAAO,CAAC;gBACtC,MAAM;YACR,KAAK,iBAAO,CAAC,cAAc;gBACzB,eAAe,GAAG,6BAAW,CAAC,2BAA2B,CAAC;gBAC1D,MAAM;YACR,KAAK,iBAAO,CAAC,eAAe;gBAC1B,eAAe,GAAG,6BAAW,CAAC,eAAe,CAAC;gBAC9C,MAAM;YACR,KAAK,iBAAO,CAAC,QAAQ;gBACnB,eAAe,GAAG,6BAAW,CAAC,cAAc,CAAC;gBAC7C,MAAM;YACR,KAAK,iBAAO,CAAC,QAAQ;gBACnB,eAAe,GAAG,6BAAW,CAAC,QAAQ,CAAC;gBACvC,MAAM;YACR,KAAK,iBAAO,CAAC,cAAc;gBACzB,eAAe,GAAG,6BAAW,CAAC,cAAc,CAAC;gBAC7C,MAAM;SACT;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IACH,eAAC;AAAD,CAAC,AA3TD,IA2TC;AA3TY,4BAAQ"}
1
+ {"version":3,"file":"MKPlayer.js","sourceRoot":"","sources":["../../src/MKPlayer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { RequestType } from './events/RequestType';
1
2
  export interface MKPlayerConfiguration {
2
3
  debug: boolean;
3
4
  autoplay: boolean;
@@ -6,4 +7,5 @@ export interface MKPlayerConfiguration {
6
7
  ui: boolean;
7
8
  targetLatency: number;
8
9
  key: string;
10
+ refreshToken?: (type: RequestType) => string;
9
11
  }
@@ -6,11 +6,23 @@ export declare class MKStream {
6
6
  private readonly _subtitleTracks;
7
7
  private readonly _cdnFailoverPercent;
8
8
  private readonly _poster;
9
- constructor(primaryUrl: string, assetIdentifier: string, subtitleTracks?: SubtitleTrack[], poster?: string, secondaryUrl?: string, cdnFailoverPercent?: number);
9
+ private readonly _userId;
10
+ private readonly _customData1;
11
+ private readonly _customData2;
12
+ private readonly _customData3;
13
+ private readonly _customData4;
14
+ private readonly _customData5;
15
+ constructor(primaryUrl: string, assetIdentifier: string, subtitleTracks?: SubtitleTrack[], poster?: string, secondaryUrl?: string, cdnFailoverPercent?: number, userId?: string, customData1?: string, customData2?: string, customData3?: string, customData4?: string, customData5?: string);
10
16
  get cdnFailoverPercent(): number;
11
17
  get primaryUrl(): string;
12
18
  get secondaryUrl(): string;
13
19
  get subtitleTracks(): SubtitleTrack[];
14
20
  get assetIdentifier(): string;
15
21
  get poster(): string;
22
+ get customData1(): string;
23
+ get customData2(): string;
24
+ get customData3(): string;
25
+ get customData4(): string;
26
+ get customData5(): string;
27
+ get userId(): string;
16
28
  }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MKStream = void 0;
4
4
  var MKStream = (function () {
5
- function MKStream(primaryUrl, assetIdentifier, subtitleTracks, poster, secondaryUrl, cdnFailoverPercent) {
5
+ function MKStream(primaryUrl, assetIdentifier, subtitleTracks, poster, secondaryUrl, cdnFailoverPercent, userId, customData1, customData2, customData3, customData4, customData5) {
6
6
  this._cdnFailoverPercent = 0;
7
7
  this._cdnFailoverPercent = cdnFailoverPercent;
8
8
  this._secondaryUrl = secondaryUrl;
@@ -10,6 +10,12 @@ var MKStream = (function () {
10
10
  this._assetIdentifier = assetIdentifier;
11
11
  this._subtitleTracks = subtitleTracks;
12
12
  this._poster = poster;
13
+ this._userId = userId;
14
+ this._customData1 = customData1;
15
+ this._customData2 = customData2;
16
+ this._customData3 = customData3;
17
+ this._customData4 = customData4;
18
+ this._customData5 = customData5;
13
19
  }
14
20
  Object.defineProperty(MKStream.prototype, "cdnFailoverPercent", {
15
21
  get: function () {
@@ -53,6 +59,48 @@ var MKStream = (function () {
53
59
  enumerable: false,
54
60
  configurable: true
55
61
  });
62
+ Object.defineProperty(MKStream.prototype, "customData1", {
63
+ get: function () {
64
+ return this._customData1;
65
+ },
66
+ enumerable: false,
67
+ configurable: true
68
+ });
69
+ Object.defineProperty(MKStream.prototype, "customData2", {
70
+ get: function () {
71
+ return this._customData2;
72
+ },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ Object.defineProperty(MKStream.prototype, "customData3", {
77
+ get: function () {
78
+ return this._customData3;
79
+ },
80
+ enumerable: false,
81
+ configurable: true
82
+ });
83
+ Object.defineProperty(MKStream.prototype, "customData4", {
84
+ get: function () {
85
+ return this._customData4;
86
+ },
87
+ enumerable: false,
88
+ configurable: true
89
+ });
90
+ Object.defineProperty(MKStream.prototype, "customData5", {
91
+ get: function () {
92
+ return this._customData5;
93
+ },
94
+ enumerable: false,
95
+ configurable: true
96
+ });
97
+ Object.defineProperty(MKStream.prototype, "userId", {
98
+ get: function () {
99
+ return this._userId;
100
+ },
101
+ enumerable: false,
102
+ configurable: true
103
+ });
56
104
  return MKStream;
57
105
  }());
58
106
  exports.MKStream = MKStream;
@@ -1 +1 @@
1
- {"version":3,"file":"MKStream.js","sourceRoot":"","sources":["../../src/MKStream.ts"],"names":[],"mappings":";;;AAKA;IAkBE,kBAAY,UAAkB,EAAE,eAAuB,EAAE,cAAgC,EAAE,MAAe,EAAE,YAAqB,EAAE,kBAA2B;QAb7I,wBAAmB,GAAW,CAAC,CAAC;QAc/C,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAKD,sBAAW,wCAAkB;aAA7B;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;;;OAAA;IAKD,sBAAW,gCAAU;aAArB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAKD,sBAAW,kCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IAKD,sBAAW,oCAAc;aAAzB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IAKD,sBAAW,qCAAe;aAA1B;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;;;OAAA;IAKD,sBAAW,4BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AApED,IAoEC;AApEY,4BAAQ"}
1
+ {"version":3,"file":"MKStream.js","sourceRoot":"","sources":["../../src/MKStream.ts"],"names":[],"mappings":";;;AAKA;IAwBE,kBAAY,UAAkB,EAAE,eAAuB,EAAE,cAAgC,EAAE,MAAe,EAAE,YAAqB,EAAE,kBAA2B,EAAE,MAAe,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB;QAnB5Q,wBAAmB,GAAW,CAAC,CAAC;QAoB/C,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAKD,sBAAW,wCAAkB;aAA7B;YACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;;;OAAA;IAKD,sBAAW,gCAAU;aAArB;YACE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;;;OAAA;IAKD,sBAAW,kCAAY;aAAvB;YACE,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;;;OAAA;IAKD,sBAAW,oCAAc;aAAzB;YACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IAKD,sBAAW,qCAAe;aAA1B;YACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/B,CAAC;;;OAAA;IAKD,sBAAW,4BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAKD,sBAAW,iCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,iCAAW;aAAtB;YACE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;;;OAAA;IAKD,sBAAW,4BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AA1HD,IA0HC;AA1HY,4BAAQ"}
@@ -0,0 +1,4 @@
1
+ export declare class URLHelper {
2
+ static appendQueryParametersToUrl(url: string, parameters: Map<string, string>): string;
3
+ static removeUrlParameter(url: string, parameter: string): string;
4
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URLHelper = void 0;
4
+ var URLHelper = (function () {
5
+ function URLHelper() {
6
+ }
7
+ URLHelper.appendQueryParametersToUrl = function (url, parameters) {
8
+ var queryString = '';
9
+ var queryStringHasStarted = url.indexOf('?') >= 0;
10
+ if (parameters) {
11
+ parameters.forEach(function (value, key) {
12
+ if (!queryStringHasStarted) {
13
+ queryString += '?';
14
+ queryStringHasStarted = true;
15
+ }
16
+ else {
17
+ queryString += '&';
18
+ }
19
+ queryString += key;
20
+ if (value != null) {
21
+ queryString += '=' + encodeURIComponent(value);
22
+ }
23
+ });
24
+ }
25
+ return url + queryString;
26
+ };
27
+ URLHelper.removeUrlParameter = function (url, parameter) {
28
+ var urlParts = url.split('?');
29
+ if (urlParts.length >= 2) {
30
+ var urlBase = urlParts.shift();
31
+ var queryString = urlParts.join('?');
32
+ var prefix = encodeURIComponent(parameter) + '=';
33
+ var parts = queryString.split(/[&;]/g);
34
+ for (var i = parts.length; i-- > 0;) {
35
+ if (parts[i].lastIndexOf(prefix, 0) !== -1) {
36
+ parts.splice(i, 1);
37
+ }
38
+ }
39
+ if (parts.length > 0) {
40
+ url = urlBase + '?' + parts.join('&');
41
+ }
42
+ else {
43
+ url = urlBase;
44
+ }
45
+ }
46
+ return url;
47
+ };
48
+ return URLHelper;
49
+ }());
50
+ exports.URLHelper = URLHelper;
51
+ //# sourceMappingURL=URLHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URLHelper.js","sourceRoot":"","sources":["../../src/URLHelper.ts"],"names":[],"mappings":";;;AAAA;IAAA;IA8DA,CAAC;IA7De,oCAA0B,GAAxC,UAAyC,GAAW,EAAE,UAA+B;QAEnF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;gBAE1B,IAAI,CAAC,qBAAqB,EAAE;oBAE1B,WAAW,IAAI,GAAG,CAAC;oBACnB,qBAAqB,GAAG,IAAI,CAAC;iBAC9B;qBAAM;oBAEL,WAAW,IAAI,GAAG,CAAC;iBACpB;gBAGD,WAAW,IAAI,GAAG,CAAC;gBAGnB,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,WAAW,IAAI,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;iBAChD;YACL,CAAC,CAAC,CAAC;SACF;QACH,OAAO,GAAG,GAAG,WAAW,CAAC;IAC3B,CAAC;IAEa,4BAAkB,GAAhC,UAAiC,GAAW,EAAE,SAAiB;QAC7D,IAAI,QAAQ,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAExB,IAAI,OAAO,GAAW,QAAQ,CAAC,KAAK,EAAE,CAAC;YAGvC,IAAI,WAAW,GAAW,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,MAAM,GAAW,kBAAkB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;YACzD,IAAI,KAAK,GAAa,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAGjD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG;gBAEnC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC1C,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACpB;aACF;YAGD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACvC;iBAAM;gBACL,GAAG,GAAG,OAAO,CAAC;aACf;SACF;QAED,OAAO,GAAG,CAAC;IAEb,CAAC;IACH,gBAAC;AAAD,CAAC,AA9DD,IA8DC;AA9DY,8BAAS"}
@@ -0,0 +1,4 @@
1
+ export declare enum RequestType {
2
+ Master = "master",
3
+ Variant = "variant"
4
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestType = void 0;
4
+ var RequestType;
5
+ (function (RequestType) {
6
+ RequestType["Master"] = "master";
7
+ RequestType["Variant"] = "variant";
8
+ })(RequestType = exports.RequestType || (exports.RequestType = {}));
9
+ //# sourceMappingURL=RequestType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestType.js","sourceRoot":"","sources":["../../../src/events/RequestType.ts"],"names":[],"mappings":";;;AACA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
@@ -5,6 +5,7 @@ import { BufferLevel } from './BufferLevel';
5
5
  import { MKPlayerEventCallback } from './events/MKPlayerEventCallback';
6
6
  export declare class MKPlayer {
7
7
  private player;
8
+ private stream;
8
9
  constructor(containerElement: HTMLElement, mkPlayerConfiguration: MKPlayerConfiguration);
9
10
  play(): Promise<void>;
10
11
  pause(): void;
@@ -26,4 +27,6 @@ export declare class MKPlayer {
26
27
  private static getRandomInt;
27
28
  private static makeId;
28
29
  private static mapEvent;
30
+ private manipulateMasterPlaylist;
31
+ private appendToken;
29
32
  }
@@ -2,8 +2,11 @@ import { BufferType, LogLevel, MediaType, Player, PlayerEvent, } from 'bitmovin-
2
2
  import { UIFactory } from 'bitmovin-player-ui';
3
3
  import { MKEvent } from './events/MKEvent';
4
4
  import { Logger } from './Logger';
5
+ import { RequestType } from './events/RequestType';
6
+ import { URLHelper } from './URLHelper';
5
7
  var MKPlayer = (function () {
6
8
  function MKPlayer(containerElement, mkPlayerConfiguration) {
9
+ var _this = this;
7
10
  var playerConfig = {
8
11
  key: mkPlayerConfiguration.key,
9
12
  playback: {
@@ -13,18 +16,40 @@ var MKPlayer = (function () {
13
16
  analytics: {
14
17
  key: '1c45ae9c-345e-4462-95e2-3e8faccd64f1',
15
18
  },
16
- location: {
17
- ui: 'mkplayer-ui.js',
18
- ui_css: 'mkplayer-ui.min.css',
19
+ ui: {
20
+ disableAutoHideWhenHovered: true,
19
21
  },
20
22
  logs: {
21
23
  level: LogLevel.OFF,
22
24
  bitmovin: false,
23
25
  },
26
+ network: {
27
+ preprocessHttpRequest: function (type, request) {
28
+ if (type === 'manifest/hls/master') {
29
+ if (typeof mkPlayerConfiguration.refreshToken === 'function') {
30
+ var token = mkPlayerConfiguration.refreshToken(RequestType.Master);
31
+ console.log('[MKPlayer] Appending master token: ' + token);
32
+ request.url = _this.appendToken(request.url, token);
33
+ }
34
+ }
35
+ else if (type === 'manifest/hls/variant') {
36
+ if (typeof mkPlayerConfiguration.refreshToken === 'function') {
37
+ var token = mkPlayerConfiguration.refreshToken(RequestType.Variant);
38
+ console.log('[MKPlayer] Appending variant token: ' + token);
39
+ request.url = _this.appendToken(request.url, token);
40
+ }
41
+ }
42
+ return Promise.resolve(request);
43
+ },
44
+ preprocessHttpResponse: function (type, response) {
45
+ if (type === 'manifest/hls/master') {
46
+ var body = _this.manipulateMasterPlaylist(response.body);
47
+ response.body = body;
48
+ }
49
+ return Promise.resolve(response);
50
+ },
51
+ },
24
52
  };
25
- if (mkPlayerConfiguration.ui === false) {
26
- playerConfig.ui = false;
27
- }
28
53
  if (mkPlayerConfiguration.targetLatency > 0) {
29
54
  playerConfig.live = {
30
55
  lowLatency: {
@@ -48,7 +73,7 @@ var MKPlayer = (function () {
48
73
  UIFactory.buildDefaultSmallScreenUI(player);
49
74
  }
50
75
  else {
51
- UIFactory.buildDefaultUI(player);
76
+ UIFactory.buildDefaultUI(player, playerConfig.ui);
52
77
  }
53
78
  }
54
79
  if (mkPlayerConfiguration.debug) {
@@ -68,6 +93,7 @@ var MKPlayer = (function () {
68
93
  };
69
94
  MKPlayer.prototype.load = function (stream) {
70
95
  var playerSource;
96
+ this.stream = stream;
71
97
  var url = MKPlayer.selectUrl(stream);
72
98
  if (url.includes('.m3u8')) {
73
99
  playerSource = {
@@ -90,9 +116,16 @@ var MKPlayer = (function () {
90
116
  if (stream.assetIdentifier) {
91
117
  playerSource.analytics = {
92
118
  videoId: stream.assetIdentifier,
119
+ userId: stream.userId,
120
+ customData1: stream.customData1,
121
+ customData2: stream.customData2,
122
+ customData3: stream.customData3,
123
+ customData4: stream.customData4,
124
+ customData5: stream.customData5,
125
+ customData6: this.version(),
93
126
  };
94
127
  }
95
- if (stream.subtitleTracks) {
128
+ if (stream.subtitleTracks && !stream.subtitleTracks[0].url.includes('.m3u8')) {
96
129
  playerSource.subtitleTracks = stream.subtitleTracks.map(function (track) { return ({
97
130
  lang: track.language,
98
131
  url: track.url,
@@ -141,7 +174,7 @@ var MKPlayer = (function () {
141
174
  this.player.setVolume(volume);
142
175
  };
143
176
  MKPlayer.prototype.version = function () {
144
- return '1.0.13';
177
+ return '1.0.15';
145
178
  };
146
179
  MKPlayer.selectUrl = function (source) {
147
180
  var rand = MKPlayer.getRandomInt(99);
@@ -214,6 +247,35 @@ var MKPlayer = (function () {
214
247
  }
215
248
  return playerEventType;
216
249
  };
250
+ MKPlayer.prototype.manipulateMasterPlaylist = function (response) {
251
+ var body = response;
252
+ if (this.stream.subtitleTracks && this.stream.subtitleTracks[0].url.includes('.m3u8')) {
253
+ this.stream.subtitleTracks.forEach(function (track) {
254
+ body = body.concat('\n#EXT-X-MEDIA:TYPE=SUBTITLES,'
255
+ + 'NAME="' + track.language + '",'
256
+ + 'DEFAULT=YES,'
257
+ + 'AUTOSELECT=YES,'
258
+ + 'FORCED=NO,'
259
+ + 'LANGUAGE="' + track.language + '",GROUP-ID="subs",'
260
+ + 'URI="' + track.url + '"');
261
+ });
262
+ }
263
+ return body;
264
+ };
265
+ MKPlayer.prototype.appendToken = function (url, token) {
266
+ var splitted = token.split('=');
267
+ if (splitted && splitted.length >= 2) {
268
+ var key = splitted[0];
269
+ var value = splitted[1];
270
+ var params = new Map();
271
+ params.set(key, value);
272
+ var updatedUrl = URLHelper.appendQueryParametersToUrl(url, params);
273
+ return updatedUrl;
274
+ }
275
+ else {
276
+ return url;
277
+ }
278
+ };
217
279
  return MKPlayer;
218
280
  }());
219
281
  export { MKPlayer };