@mediakind/mkplayer 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.html CHANGED
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang='en'>
3
3
  <head>
4
- <title>MKPlayer 1.0.19</title>
4
+ <title>MKPlayer 1.0.21</title>
5
5
  <meta charset='UTF-8'/>
6
6
  <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
7
7
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
@@ -318,8 +318,12 @@
318
318
  });
319
319
 
320
320
  let liveSource = {
321
- primaryUrl: "https://live-mkmsctacdn.azureedge.net/cmaftkn/CES-Hero/index.m3u8",
321
+ // primaryUrl: "https://ceslive-mediakind.akamaized.net/cmaftkn/CES-Hero/index.m3u8",
322
+ // secondaryUrl:"https://ceslive-mediakind.akamaized.net/cmaftkn/CES-Hero/index.m3u8",
323
+ primaryUrl: 'https://live-mkmsctacdn.azureedge.net/cmaftkn/CES-Hero-asl/index.m3u8',
324
+ secondaryUrl: 'https://live-mkmsctacdn.azureedge.net/cmaftkn/CES-Hero-asl/index.m3u8',
322
325
  cdnFailoverPercent: 10,
326
+ subtitleTracks: [],
323
327
  assetIdentifier: 'HLS Live',
324
328
  labelConfig: {
325
329
  audio: {'en': 'English', 'mis': 'Audio Descriptions'},
@@ -442,11 +446,13 @@
442
446
  key: '84dc4716-55f9-43fa-ae8e-6fa334c5189b',
443
447
 
444
448
  refreshToken: (type) => {
445
- if (type === 'primary') {
446
- return 'hdnts=WXnPvaiLz-KXIh2-w70OBdAOzA2MN_qnRXHs5SUJfUAK4zBUDeoUeq4U9xUJiX_2'
447
- }else if (type === 'secondary') {
448
- return 'hdnts=WXnPvaiLz-KXIh2-w70OBdAOzA2MN_qnRXHs5SUJfUAK4zBUDeoUeq4U9xUJiX_2'
449
- }
449
+ // if (type === 'primary') {
450
+ // return {name: 'hdnts', value: 'exp=1610140360~acl=*~hmac=3662c21bdc6cfa7f2d0a0462c23a71982bfa0c176c7e164b0630195ee4003104'}
451
+ // }else if (type === 'secondary') {
452
+ // return {name: 'hdnts', value: 'exp=1610140360~acl=*~hmac=3662c21bdc6cfa7f2d0a0462c23a71982bfa0c176c7e164b0630195ee4003104'}
453
+ // }
454
+
455
+ return {name: 'hdnts', value: '5pIs6i6k5KbY0n5ezMaN-GGDUvq4zYUXMFUJzlHs-j_BuZKkd5zzbFCfudf52qL2'}
450
456
  },
451
457
  };
452
458
 
package/multi-camera.html CHANGED
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang='en'>
3
3
  <head>
4
- <title>MKPlayer 1.0.19</title>
4
+ <title>MKPlayer 1.0.21</title>
5
5
  <meta charset='UTF-8'/>
6
6
  <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
7
7
  <meta name='viewport' content='width=device-width, initial-scale=1.0'>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediakind/mkplayer",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "MediaKind Web Player",
5
5
  "repository": {
6
6
  "type": "git",
package/src/MKPlayer.ts CHANGED
@@ -47,8 +47,8 @@ export class MKPlayer {
47
47
  if (typeof mkPlayerConfiguration.refreshToken === 'function') {
48
48
  let urlType = this.stream.didFailOver ? UrlType.Secondary : UrlType.Primary;
49
49
  let token = mkPlayerConfiguration.refreshToken(urlType);
50
- console.log('[MKPlayer] Appending ' + urlType + ' token: ' + token);
51
- request.url = URLHelper.appendToken(request.url, token);
50
+ console.log('[MKPlayer] Appending ' + urlType + ' token: ' + token.name + '=' + token.value);
51
+ request.url = URLHelper.appendToken(request.url, token.name, token.value);
52
52
  }
53
53
  }
54
54
  return Promise.resolve(request);
@@ -181,7 +181,7 @@ export class MKPlayer {
181
181
  };
182
182
  }
183
183
 
184
- if (stream.subtitleTracks && !stream.subtitleTracks[0].url.includes('.m3u8')) {
184
+ if (stream.subtitleTracks && stream.subtitleTracks[0] && stream.subtitleTracks[0].url && !stream.subtitleTracks[0].url.includes('.m3u8')) {
185
185
  playerSource.subtitleTracks = stream.subtitleTracks.map((track) => <SubtitleTrack>{
186
186
  lang: track.language,
187
187
  url: track.url,
@@ -292,7 +292,7 @@ export class MKPlayer {
292
292
  * returns the current player version
293
293
  */
294
294
  version(): string {
295
- return '1.0.19';
295
+ return '1.0.21';
296
296
  }
297
297
 
298
298
  private selectUrl(): string {
@@ -373,7 +373,7 @@ export class MKPlayer {
373
373
 
374
374
  private manipulateMasterPlaylist(response: string): string {
375
375
  let body = (response as string);
376
- if (this.stream.subtitleTracks && this.stream.subtitleTracks[0].url.includes('.m3u8')) {
376
+ if (this.stream.subtitleTracks && this.stream.subtitleTracks[0] && this.stream.subtitleTracks[0].url && this.stream.subtitleTracks[0].url.includes('.m3u8')) {
377
377
  this.stream.subtitleTracks.forEach((track) => {
378
378
  body = body.concat('\n#EXT-X-MEDIA:TYPE=SUBTITLES,'
379
379
  + 'NAME="' + track.language + '",'
@@ -42,5 +42,10 @@ export interface MKPlayerConfiguration {
42
42
  /**
43
43
  * Refresh the CDN Token
44
44
  */
45
- refreshToken?: (type: UrlType) => string;
45
+ refreshToken?: (type: UrlType) => TokenParam;
46
+ }
47
+
48
+ export interface TokenParam {
49
+ name: string;
50
+ value: string;
46
51
  }
package/src/URLHelper.ts CHANGED
@@ -19,7 +19,7 @@ export class URLHelper {
19
19
  queryString += key;
20
20
  // Add optional parameter value
21
21
  if (value != null) {
22
- queryString += '=' + encodeURIComponent(value);
22
+ queryString += '=' + value;
23
23
  }
24
24
  });
25
25
  }
@@ -57,22 +57,15 @@ export class URLHelper {
57
57
  return url;
58
58
  }
59
59
 
60
- public static appendToken(url: string, token: string): string {
61
- if (token) {
62
- let split = token.split('=');
63
- if (split && split.length >= 2) {
64
- let key = split[0];
65
- let value = split[1];
60
+ public static appendToken(url: string, name: string, value: string): string {
61
+ if (name && value) {
66
62
  let params = new Map<string, string>();
67
- params.set(key, value);
68
- let updatedUrl = URLHelper.removeUrlParameter(url, key);
63
+ params.set(name, value);
64
+ let updatedUrl = URLHelper.removeUrlParameter(url, name);
69
65
  updatedUrl = URLHelper.appendQueryParametersToUrl(updatedUrl, params);
70
66
  return updatedUrl;
71
67
  } else {
72
68
  return url;
73
69
  }
74
- } else {
75
- return url;
76
- }
77
70
  }
78
71
  }