@mediakind/mkplayer 1.0.15 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/LabelConfig.d.ts +4 -0
- package/dist/MKPlayer.d.ts +1 -2
- package/dist/MKPlayerConfiguration.d.ts +2 -2
- package/dist/MKStream.d.ts +7 -1
- package/dist/URLHelper.d.ts +1 -0
- package/dist/events/UrlType.d.ts +4 -0
- package/dist/lib/LabelConfig.d.ts +4 -0
- package/dist/lib/LabelConfig.js +3 -0
- package/dist/lib/LabelConfig.js.map +1 -0
- package/dist/lib/MKPlayer.d.ts +1 -2
- package/dist/lib/MKPlayer.js +39 -35
- package/dist/lib/MKPlayer.js.map +1 -1
- package/dist/lib/MKPlayerConfiguration.d.ts +2 -2
- package/dist/lib/MKStream.d.ts +7 -1
- package/dist/lib/MKStream.js +20 -1
- package/dist/lib/MKStream.js.map +1 -1
- package/dist/lib/URLHelper.d.ts +1 -0
- package/dist/lib/URLHelper.js +19 -0
- package/dist/lib/URLHelper.js.map +1 -1
- package/dist/lib/events/UrlType.d.ts +4 -0
- package/dist/lib/events/UrlType.js +9 -0
- package/dist/lib/events/UrlType.js.map +1 -0
- package/dist/lib-esm/LabelConfig.d.ts +4 -0
- package/dist/lib-esm/LabelConfig.js +2 -0
- package/dist/lib-esm/LabelConfig.js.map +1 -0
- package/dist/lib-esm/MKPlayer.d.ts +1 -2
- package/dist/lib-esm/MKPlayer.js +39 -35
- package/dist/lib-esm/MKPlayer.js.map +1 -1
- package/dist/lib-esm/MKPlayerConfiguration.d.ts +2 -2
- package/dist/lib-esm/MKStream.d.ts +7 -1
- package/dist/lib-esm/MKStream.js +20 -1
- package/dist/lib-esm/MKStream.js.map +1 -1
- package/dist/lib-esm/URLHelper.d.ts +1 -0
- package/dist/lib-esm/URLHelper.js +19 -0
- package/dist/lib-esm/URLHelper.js.map +1 -1
- package/dist/lib-esm/events/UrlType.d.ts +4 -0
- package/dist/lib-esm/events/UrlType.js +6 -0
- package/dist/lib-esm/events/UrlType.js.map +1 -0
- package/dist/mkplayer.js +1 -1
- package/doc/assets/js/search.json +1 -1
- package/doc/classes/mkplayer.html +22 -16
- package/doc/enums/mkevent.html +6 -0
- package/doc/enums/urltype.html +180 -0
- package/doc/globals.html +8 -0
- package/doc/index.html +12 -0
- package/doc/interfaces/bufferlevel.html +6 -0
- package/doc/interfaces/labelconfig.html +198 -0
- package/doc/interfaces/mkplayereventcallback.html +6 -0
- package/doc/interfaces/subtitletrack.html +6 -0
- package/index.html +11 -11
- package/multi-camera.html +1 -1
- package/package.json +1 -1
- package/src/LabelConfig.ts +14 -0
- package/src/MKPlayer.ts +37 -36
- package/src/MKPlayerConfiguration.ts +2 -2
- package/src/MKStream.ts +27 -1
- package/src/URLHelper.ts +17 -1
- package/src/events/UrlType.ts +7 -0
- package/dist/events/RequestType.d.ts +0 -4
- package/dist/lib/events/RequestType.d.ts +0 -4
- package/dist/lib/events/RequestType.js +0 -9
- package/dist/lib/events/RequestType.js.map +0 -1
- package/dist/lib-esm/events/RequestType.d.ts +0 -4
- package/dist/lib-esm/events/RequestType.js +0 -6
- package/dist/lib-esm/events/RequestType.js.map +0 -1
- package/src/events/RequestType.ts +0 -5
package/README.md
CHANGED
|
@@ -53,6 +53,12 @@ let mkStream = {
|
|
|
53
53
|
customData3: 'customData3',
|
|
54
54
|
customData4: 'customData4',
|
|
55
55
|
customData5: 'customData5',
|
|
56
|
+
|
|
57
|
+
// Optional label config
|
|
58
|
+
labelConfig: {
|
|
59
|
+
audio: {'en': 'English', 'mis': 'Audio Descriptions'},
|
|
60
|
+
captions: {'ENG': 'English', 'GER': 'German'},
|
|
61
|
+
}
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
mkPlayer.load(mkStream).then(function() {
|
package/dist/MKPlayer.d.ts
CHANGED
|
@@ -23,10 +23,9 @@ export declare class MKPlayer {
|
|
|
23
23
|
unmute(): void;
|
|
24
24
|
setVolume(volume: number): void;
|
|
25
25
|
version(): string;
|
|
26
|
-
private
|
|
26
|
+
private selectUrl;
|
|
27
27
|
private static getRandomInt;
|
|
28
28
|
private static makeId;
|
|
29
29
|
private static mapEvent;
|
|
30
30
|
private manipulateMasterPlaylist;
|
|
31
|
-
private appendToken;
|
|
32
31
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UrlType } from './events/UrlType';
|
|
2
2
|
export interface MKPlayerConfiguration {
|
|
3
3
|
debug: boolean;
|
|
4
4
|
autoplay: boolean;
|
|
@@ -7,5 +7,5 @@ export interface MKPlayerConfiguration {
|
|
|
7
7
|
ui: boolean;
|
|
8
8
|
targetLatency: number;
|
|
9
9
|
key: string;
|
|
10
|
-
refreshToken?: (type:
|
|
10
|
+
refreshToken?: (type: UrlType) => string;
|
|
11
11
|
}
|
package/dist/MKStream.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SubtitleTrack } from './SubtitleTrack';
|
|
2
|
+
import { LabelConfig } from './LabelConfig';
|
|
2
3
|
export declare class MKStream {
|
|
3
4
|
private readonly _assetIdentifier;
|
|
4
5
|
private readonly _primaryUrl?;
|
|
@@ -12,7 +13,9 @@ export declare class MKStream {
|
|
|
12
13
|
private readonly _customData3;
|
|
13
14
|
private readonly _customData4;
|
|
14
15
|
private readonly _customData5;
|
|
15
|
-
|
|
16
|
+
private readonly _labelConfig;
|
|
17
|
+
private _didFailOver;
|
|
18
|
+
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, labelConfig?: LabelConfig);
|
|
16
19
|
get cdnFailoverPercent(): number;
|
|
17
20
|
get primaryUrl(): string;
|
|
18
21
|
get secondaryUrl(): string;
|
|
@@ -25,4 +28,7 @@ export declare class MKStream {
|
|
|
25
28
|
get customData4(): string;
|
|
26
29
|
get customData5(): string;
|
|
27
30
|
get userId(): string;
|
|
31
|
+
get labelConfig(): LabelConfig;
|
|
32
|
+
get didFailOver(): boolean;
|
|
33
|
+
set didFailOver(value: boolean);
|
|
28
34
|
}
|
package/dist/URLHelper.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelConfig.js","sourceRoot":"","sources":["../../src/LabelConfig.ts"],"names":[],"mappings":""}
|
package/dist/lib/MKPlayer.d.ts
CHANGED
|
@@ -23,10 +23,9 @@ export declare class MKPlayer {
|
|
|
23
23
|
unmute(): void;
|
|
24
24
|
setVolume(volume: number): void;
|
|
25
25
|
version(): string;
|
|
26
|
-
private
|
|
26
|
+
private selectUrl;
|
|
27
27
|
private static getRandomInt;
|
|
28
28
|
private static makeId;
|
|
29
29
|
private static mapEvent;
|
|
30
30
|
private manipulateMasterPlaylist;
|
|
31
|
-
private appendToken;
|
|
32
31
|
}
|
package/dist/lib/MKPlayer.js
CHANGED
|
@@ -5,7 +5,7 @@ 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
|
|
8
|
+
var UrlType_1 = require("./events/UrlType");
|
|
9
9
|
var URLHelper_1 = require("./URLHelper");
|
|
10
10
|
var MKPlayer = (function () {
|
|
11
11
|
function MKPlayer(containerElement, mkPlayerConfiguration) {
|
|
@@ -28,18 +28,12 @@ var MKPlayer = (function () {
|
|
|
28
28
|
},
|
|
29
29
|
network: {
|
|
30
30
|
preprocessHttpRequest: function (type, request) {
|
|
31
|
-
if (type === 'manifest/hls/master') {
|
|
31
|
+
if (type === 'manifest/hls/master' || type === 'manifest/hls/variant') {
|
|
32
32
|
if (typeof mkPlayerConfiguration.refreshToken === 'function') {
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
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);
|
|
33
|
+
var urlType = _this.stream.didFailOver ? UrlType_1.UrlType.Secondary : UrlType_1.UrlType.Primary;
|
|
34
|
+
var token = mkPlayerConfiguration.refreshToken(urlType);
|
|
35
|
+
console.log('[MKPlayer] Appending ' + urlType + ' token: ' + token);
|
|
36
|
+
request.url = URLHelper_1.URLHelper.appendToken(request.url, token);
|
|
43
37
|
}
|
|
44
38
|
}
|
|
45
39
|
return Promise.resolve(request);
|
|
@@ -95,9 +89,10 @@ var MKPlayer = (function () {
|
|
|
95
89
|
return this.player.destroy();
|
|
96
90
|
};
|
|
97
91
|
MKPlayer.prototype.load = function (stream) {
|
|
92
|
+
var _this = this;
|
|
98
93
|
var playerSource;
|
|
99
94
|
this.stream = stream;
|
|
100
|
-
var url =
|
|
95
|
+
var url = this.selectUrl();
|
|
101
96
|
if (url.includes('.m3u8')) {
|
|
102
97
|
playerSource = {
|
|
103
98
|
hls: url,
|
|
@@ -116,6 +111,27 @@ var MKPlayer = (function () {
|
|
|
116
111
|
if (stream.poster) {
|
|
117
112
|
playerSource.poster = stream.poster;
|
|
118
113
|
}
|
|
114
|
+
playerSource.labeling = {
|
|
115
|
+
hls: {
|
|
116
|
+
tracks: function (track) {
|
|
117
|
+
if (_this.stream.labelConfig && _this.stream.labelConfig.audio && _this.stream.labelConfig.audio[track.lang]) {
|
|
118
|
+
return _this.stream.labelConfig.audio[track.lang];
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return track.lang;
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
subtitles: function (track) {
|
|
125
|
+
console.log(track);
|
|
126
|
+
if (_this.stream.labelConfig && _this.stream.labelConfig.captions && _this.stream.labelConfig.captions[track.lang]) {
|
|
127
|
+
return _this.stream.labelConfig.captions[track.lang];
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
return track.lang;
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
};
|
|
119
135
|
if (stream.assetIdentifier) {
|
|
120
136
|
playerSource.analytics = {
|
|
121
137
|
videoId: stream.assetIdentifier,
|
|
@@ -177,17 +193,19 @@ var MKPlayer = (function () {
|
|
|
177
193
|
this.player.setVolume(volume);
|
|
178
194
|
};
|
|
179
195
|
MKPlayer.prototype.version = function () {
|
|
180
|
-
return '1.0.
|
|
196
|
+
return '1.0.16';
|
|
181
197
|
};
|
|
182
|
-
MKPlayer.selectUrl = function (
|
|
198
|
+
MKPlayer.prototype.selectUrl = function () {
|
|
183
199
|
var rand = MKPlayer.getRandomInt(99);
|
|
184
|
-
if (
|
|
185
|
-
Logger_1.Logger.log('[MKPlayer] selecting secondary source url - ' +
|
|
186
|
-
|
|
200
|
+
if (this.stream.cdnFailoverPercent && this.stream.secondaryUrl && rand < this.stream.cdnFailoverPercent) {
|
|
201
|
+
Logger_1.Logger.log('[MKPlayer] selecting secondary source url - ' + this.stream.secondaryUrl);
|
|
202
|
+
this.stream.didFailOver = true;
|
|
203
|
+
return this.stream.secondaryUrl;
|
|
187
204
|
}
|
|
188
205
|
else {
|
|
189
|
-
Logger_1.Logger.log('[MKPlayer] selecting primary source url - ' +
|
|
190
|
-
|
|
206
|
+
Logger_1.Logger.log('[MKPlayer] selecting primary source url - ' + this.stream.primaryUrl);
|
|
207
|
+
this.stream.didFailOver = false;
|
|
208
|
+
return this.stream.primaryUrl;
|
|
191
209
|
}
|
|
192
210
|
};
|
|
193
211
|
MKPlayer.getRandomInt = function (max) {
|
|
@@ -259,26 +277,12 @@ var MKPlayer = (function () {
|
|
|
259
277
|
+ 'DEFAULT=YES,'
|
|
260
278
|
+ 'AUTOSELECT=YES,'
|
|
261
279
|
+ 'FORCED=NO,'
|
|
262
|
-
+ 'LANGUAGE="' + track.language + '",GROUP-ID="
|
|
280
|
+
+ 'LANGUAGE="' + track.language + '",GROUP-ID="Subtitles",'
|
|
263
281
|
+ 'URI="' + track.url + '"');
|
|
264
282
|
});
|
|
265
283
|
}
|
|
266
284
|
return body;
|
|
267
285
|
};
|
|
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
|
-
};
|
|
282
286
|
return MKPlayer;
|
|
283
287
|
}());
|
|
284
288
|
exports.MKPlayer = MKPlayer;
|
package/dist/lib/MKPlayer.js.map
CHANGED
|
@@ -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;AAElC,
|
|
1
|
+
{"version":3,"file":"MKPlayer.js","sourceRoot":"","sources":["../../src/MKPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UrlType } from './events/UrlType';
|
|
2
2
|
export interface MKPlayerConfiguration {
|
|
3
3
|
debug: boolean;
|
|
4
4
|
autoplay: boolean;
|
|
@@ -7,5 +7,5 @@ export interface MKPlayerConfiguration {
|
|
|
7
7
|
ui: boolean;
|
|
8
8
|
targetLatency: number;
|
|
9
9
|
key: string;
|
|
10
|
-
refreshToken?: (type:
|
|
10
|
+
refreshToken?: (type: UrlType) => string;
|
|
11
11
|
}
|
package/dist/lib/MKStream.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SubtitleTrack } from './SubtitleTrack';
|
|
2
|
+
import { LabelConfig } from './LabelConfig';
|
|
2
3
|
export declare class MKStream {
|
|
3
4
|
private readonly _assetIdentifier;
|
|
4
5
|
private readonly _primaryUrl?;
|
|
@@ -12,7 +13,9 @@ export declare class MKStream {
|
|
|
12
13
|
private readonly _customData3;
|
|
13
14
|
private readonly _customData4;
|
|
14
15
|
private readonly _customData5;
|
|
15
|
-
|
|
16
|
+
private readonly _labelConfig;
|
|
17
|
+
private _didFailOver;
|
|
18
|
+
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, labelConfig?: LabelConfig);
|
|
16
19
|
get cdnFailoverPercent(): number;
|
|
17
20
|
get primaryUrl(): string;
|
|
18
21
|
get secondaryUrl(): string;
|
|
@@ -25,4 +28,7 @@ export declare class MKStream {
|
|
|
25
28
|
get customData4(): string;
|
|
26
29
|
get customData5(): string;
|
|
27
30
|
get userId(): string;
|
|
31
|
+
get labelConfig(): LabelConfig;
|
|
32
|
+
get didFailOver(): boolean;
|
|
33
|
+
set didFailOver(value: boolean);
|
|
28
34
|
}
|
package/dist/lib/MKStream.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
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, userId, customData1, customData2, customData3, customData4, customData5) {
|
|
5
|
+
function MKStream(primaryUrl, assetIdentifier, subtitleTracks, poster, secondaryUrl, cdnFailoverPercent, userId, customData1, customData2, customData3, customData4, customData5, labelConfig) {
|
|
6
6
|
this._cdnFailoverPercent = 0;
|
|
7
|
+
this._didFailOver = false;
|
|
7
8
|
this._cdnFailoverPercent = cdnFailoverPercent;
|
|
8
9
|
this._secondaryUrl = secondaryUrl;
|
|
9
10
|
this._primaryUrl = primaryUrl;
|
|
@@ -16,6 +17,7 @@ var MKStream = (function () {
|
|
|
16
17
|
this._customData3 = customData3;
|
|
17
18
|
this._customData4 = customData4;
|
|
18
19
|
this._customData5 = customData5;
|
|
20
|
+
this._labelConfig = labelConfig;
|
|
19
21
|
}
|
|
20
22
|
Object.defineProperty(MKStream.prototype, "cdnFailoverPercent", {
|
|
21
23
|
get: function () {
|
|
@@ -101,6 +103,23 @@ var MKStream = (function () {
|
|
|
101
103
|
enumerable: false,
|
|
102
104
|
configurable: true
|
|
103
105
|
});
|
|
106
|
+
Object.defineProperty(MKStream.prototype, "labelConfig", {
|
|
107
|
+
get: function () {
|
|
108
|
+
return this._labelConfig;
|
|
109
|
+
},
|
|
110
|
+
enumerable: false,
|
|
111
|
+
configurable: true
|
|
112
|
+
});
|
|
113
|
+
Object.defineProperty(MKStream.prototype, "didFailOver", {
|
|
114
|
+
get: function () {
|
|
115
|
+
return this._didFailOver;
|
|
116
|
+
},
|
|
117
|
+
set: function (value) {
|
|
118
|
+
this._didFailOver = value;
|
|
119
|
+
},
|
|
120
|
+
enumerable: false,
|
|
121
|
+
configurable: true
|
|
122
|
+
});
|
|
104
123
|
return MKStream;
|
|
105
124
|
}());
|
|
106
125
|
exports.MKStream = MKStream;
|
package/dist/lib/MKStream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MKStream.js","sourceRoot":"","sources":["../../src/MKStream.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MKStream.js","sourceRoot":"","sources":["../../src/MKStream.ts"],"names":[],"mappings":";;;AAMA;IA2BE,kBAAY,UAAkB,EAAE,eAAuB,EAAE,cAAgC,EAAE,MAAe,EAAE,YAAqB,EAAE,kBAA2B,EAAE,MAAe,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAoB,EAAE,WAAyB;QAtBvS,wBAAmB,GAAW,CAAC,CAAC;QASzC,iBAAY,GAAY,KAAK,CAAC;QAcpC,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;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;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;aAKD,UAAuB,KAAc;YACnC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;;;OAPA;IAQH,eAAC;AAAD,CAAC,AAnJD,IAmJC;AAnJY,4BAAQ"}
|
package/dist/lib/URLHelper.d.ts
CHANGED
package/dist/lib/URLHelper.js
CHANGED
|
@@ -45,6 +45,25 @@ var URLHelper = (function () {
|
|
|
45
45
|
}
|
|
46
46
|
return url;
|
|
47
47
|
};
|
|
48
|
+
URLHelper.appendToken = function (url, token) {
|
|
49
|
+
if (token) {
|
|
50
|
+
var split = token.split('=');
|
|
51
|
+
if (split && split.length >= 2) {
|
|
52
|
+
var key = split[0];
|
|
53
|
+
var value = split[1];
|
|
54
|
+
var params = new Map();
|
|
55
|
+
params.set(key, value);
|
|
56
|
+
var updatedUrl = URLHelper.appendQueryParametersToUrl(url, params);
|
|
57
|
+
return updatedUrl;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return url;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return url;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
48
67
|
return URLHelper;
|
|
49
68
|
}());
|
|
50
69
|
exports.URLHelper = URLHelper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"URLHelper.js","sourceRoot":"","sources":["../../src/URLHelper.ts"],"names":[],"mappings":";;;AAAA;IAAA;
|
|
1
|
+
{"version":3,"file":"URLHelper.js","sourceRoot":"","sources":["../../src/URLHelper.ts"],"names":[],"mappings":";;;AAAA;IAAA;IA8EA,CAAC;IA7Ee,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;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEa,qBAAW,GAAzB,UAA0B,GAAW,EAAE,KAAa;QAClD,IAAI,KAAK,EAAE;YACT,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvB,IAAI,UAAU,GAAG,SAAS,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACnE,OAAO,UAAU,CAAC;aACnB;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;SACF;aAAM;YACL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AA9ED,IA8EC;AA9EY,8BAAS"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UrlType = void 0;
|
|
4
|
+
var UrlType;
|
|
5
|
+
(function (UrlType) {
|
|
6
|
+
UrlType["Primary"] = "primary";
|
|
7
|
+
UrlType["Secondary"] = "secondary";
|
|
8
|
+
})(UrlType = exports.UrlType || (exports.UrlType = {}));
|
|
9
|
+
//# sourceMappingURL=UrlType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlType.js","sourceRoot":"","sources":["../../../src/events/UrlType.ts"],"names":[],"mappings":";;;AAGA,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AACzB,CAAC,EAHW,OAAO,GAAP,eAAO,KAAP,eAAO,QAGlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelConfig.js","sourceRoot":"","sources":["../../src/LabelConfig.ts"],"names":[],"mappings":""}
|
|
@@ -23,10 +23,9 @@ export declare class MKPlayer {
|
|
|
23
23
|
unmute(): void;
|
|
24
24
|
setVolume(volume: number): void;
|
|
25
25
|
version(): string;
|
|
26
|
-
private
|
|
26
|
+
private selectUrl;
|
|
27
27
|
private static getRandomInt;
|
|
28
28
|
private static makeId;
|
|
29
29
|
private static mapEvent;
|
|
30
30
|
private manipulateMasterPlaylist;
|
|
31
|
-
private appendToken;
|
|
32
31
|
}
|
package/dist/lib-esm/MKPlayer.js
CHANGED
|
@@ -2,7 +2,7 @@ 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 {
|
|
5
|
+
import { UrlType } from './events/UrlType';
|
|
6
6
|
import { URLHelper } from './URLHelper';
|
|
7
7
|
var MKPlayer = (function () {
|
|
8
8
|
function MKPlayer(containerElement, mkPlayerConfiguration) {
|
|
@@ -25,18 +25,12 @@ var MKPlayer = (function () {
|
|
|
25
25
|
},
|
|
26
26
|
network: {
|
|
27
27
|
preprocessHttpRequest: function (type, request) {
|
|
28
|
-
if (type === 'manifest/hls/master') {
|
|
28
|
+
if (type === 'manifest/hls/master' || type === 'manifest/hls/variant') {
|
|
29
29
|
if (typeof mkPlayerConfiguration.refreshToken === 'function') {
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
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);
|
|
30
|
+
var urlType = _this.stream.didFailOver ? UrlType.Secondary : UrlType.Primary;
|
|
31
|
+
var token = mkPlayerConfiguration.refreshToken(urlType);
|
|
32
|
+
console.log('[MKPlayer] Appending ' + urlType + ' token: ' + token);
|
|
33
|
+
request.url = URLHelper.appendToken(request.url, token);
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
36
|
return Promise.resolve(request);
|
|
@@ -92,9 +86,10 @@ var MKPlayer = (function () {
|
|
|
92
86
|
return this.player.destroy();
|
|
93
87
|
};
|
|
94
88
|
MKPlayer.prototype.load = function (stream) {
|
|
89
|
+
var _this = this;
|
|
95
90
|
var playerSource;
|
|
96
91
|
this.stream = stream;
|
|
97
|
-
var url =
|
|
92
|
+
var url = this.selectUrl();
|
|
98
93
|
if (url.includes('.m3u8')) {
|
|
99
94
|
playerSource = {
|
|
100
95
|
hls: url,
|
|
@@ -113,6 +108,27 @@ var MKPlayer = (function () {
|
|
|
113
108
|
if (stream.poster) {
|
|
114
109
|
playerSource.poster = stream.poster;
|
|
115
110
|
}
|
|
111
|
+
playerSource.labeling = {
|
|
112
|
+
hls: {
|
|
113
|
+
tracks: function (track) {
|
|
114
|
+
if (_this.stream.labelConfig && _this.stream.labelConfig.audio && _this.stream.labelConfig.audio[track.lang]) {
|
|
115
|
+
return _this.stream.labelConfig.audio[track.lang];
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return track.lang;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
subtitles: function (track) {
|
|
122
|
+
console.log(track);
|
|
123
|
+
if (_this.stream.labelConfig && _this.stream.labelConfig.captions && _this.stream.labelConfig.captions[track.lang]) {
|
|
124
|
+
return _this.stream.labelConfig.captions[track.lang];
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
return track.lang;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
116
132
|
if (stream.assetIdentifier) {
|
|
117
133
|
playerSource.analytics = {
|
|
118
134
|
videoId: stream.assetIdentifier,
|
|
@@ -174,17 +190,19 @@ var MKPlayer = (function () {
|
|
|
174
190
|
this.player.setVolume(volume);
|
|
175
191
|
};
|
|
176
192
|
MKPlayer.prototype.version = function () {
|
|
177
|
-
return '1.0.
|
|
193
|
+
return '1.0.16';
|
|
178
194
|
};
|
|
179
|
-
MKPlayer.selectUrl = function (
|
|
195
|
+
MKPlayer.prototype.selectUrl = function () {
|
|
180
196
|
var rand = MKPlayer.getRandomInt(99);
|
|
181
|
-
if (
|
|
182
|
-
Logger.log('[MKPlayer] selecting secondary source url - ' +
|
|
183
|
-
|
|
197
|
+
if (this.stream.cdnFailoverPercent && this.stream.secondaryUrl && rand < this.stream.cdnFailoverPercent) {
|
|
198
|
+
Logger.log('[MKPlayer] selecting secondary source url - ' + this.stream.secondaryUrl);
|
|
199
|
+
this.stream.didFailOver = true;
|
|
200
|
+
return this.stream.secondaryUrl;
|
|
184
201
|
}
|
|
185
202
|
else {
|
|
186
|
-
Logger.log('[MKPlayer] selecting primary source url - ' +
|
|
187
|
-
|
|
203
|
+
Logger.log('[MKPlayer] selecting primary source url - ' + this.stream.primaryUrl);
|
|
204
|
+
this.stream.didFailOver = false;
|
|
205
|
+
return this.stream.primaryUrl;
|
|
188
206
|
}
|
|
189
207
|
};
|
|
190
208
|
MKPlayer.getRandomInt = function (max) {
|
|
@@ -256,26 +274,12 @@ var MKPlayer = (function () {
|
|
|
256
274
|
+ 'DEFAULT=YES,'
|
|
257
275
|
+ 'AUTOSELECT=YES,'
|
|
258
276
|
+ 'FORCED=NO,'
|
|
259
|
-
+ 'LANGUAGE="' + track.language + '",GROUP-ID="
|
|
277
|
+
+ 'LANGUAGE="' + track.language + '",GROUP-ID="Subtitles",'
|
|
260
278
|
+ 'URI="' + track.url + '"');
|
|
261
279
|
});
|
|
262
280
|
}
|
|
263
281
|
return body;
|
|
264
282
|
};
|
|
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
|
-
};
|
|
279
283
|
return MKPlayer;
|
|
280
284
|
}());
|
|
281
285
|
export { MKPlayer };
|