@mediakind/mkplayer 1.0.22 → 1.0.24
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 +80 -121
- package/mkplayer-ui.css +12 -0
- package/mkplayer.js +1 -0
- package/package.json +23 -49
- package/src/alias/index.d.ts +10 -0
- package/src/classes/common/MKAzukiResponseUtils.d.ts +8 -0
- package/src/classes/common/MKEventBase.d.ts +9 -0
- package/src/classes/common/MKLocalStorage.d.ts +28 -0
- package/src/classes/common/MKLog.d.ts +10 -0
- package/src/classes/common/MKPlatform.d.ts +29 -0
- package/src/classes/common/MKProgramManager.d.ts +13 -0
- package/src/classes/common/MKSubtitleOverlay.d.ts +25 -0
- package/src/classes/common/MKThumbnailManager.d.ts +22 -0
- package/src/classes/common/MKUtils.d.ts +19 -0
- package/src/classes/common/MKUtils.spec.d.ts +1 -0
- package/src/classes/common/index.d.ts +9 -0
- package/src/classes/error/MKAzukiRequestError.d.ts +8 -0
- package/src/classes/error/MKBitmovinPlayerError.d.ts +5 -0
- package/src/classes/error/MKHttpError.d.ts +10 -0
- package/src/classes/error/MKPlayerError.d.ts +7 -0
- package/src/classes/error/MKProgramRestrictionError.d.ts +9 -0
- package/src/classes/error/index.d.ts +5 -0
- package/src/classes/index.d.ts +4 -0
- package/src/classes/player/MKBitmovinPlayer.d.ts +106 -0
- package/src/classes/player/MKPlayer.d.ts +104 -0
- package/src/classes/player/index.d.ts +2 -0
- package/src/classes/request/MKAzukiRequest.d.ts +27 -0
- package/src/classes/request/MKHttpRequest.d.ts +11 -0
- package/src/classes/request/index.d.ts +2 -0
- package/src/constants/MKAzukiRequestEndpoint.d.ts +36 -0
- package/src/constants/MKConstants.d.ts +16 -0
- package/src/constants/MKCustomError.d.ts +14 -0
- package/src/constants/index.d.ts +3 -0
- package/src/enums/MKAdQuartile.d.ts +5 -0
- package/src/enums/MKAdType.d.ts +6 -0
- package/src/enums/MKBufferType.d.ts +4 -0
- package/src/enums/MKDrmType.d.ts +6 -0
- package/src/enums/MKHttpRequestType.d.ts +21 -0
- package/src/enums/MKHttpResponseType.d.ts +7 -0
- package/src/enums/MKLatencyMode.d.ts +6 -0
- package/src/enums/MKLiveSynchronizationMethod.d.ts +5 -0
- package/src/enums/MKLocalStorageKeys.d.ts +6 -0
- package/src/enums/MKLogLevel.d.ts +7 -0
- package/src/enums/MKMediaType.d.ts +4 -0
- package/src/enums/MKMetadataType.d.ts +10 -0
- package/src/enums/MKPlatformType.d.ts +4 -0
- package/src/enums/MKPlayerEvent.d.ts +81 -0
- package/src/enums/MKProgramRestrictionType.d.ts +10 -0
- package/src/enums/MKRightsMode.d.ts +4 -0
- package/src/enums/MKRttEstimationMethod.d.ts +4 -0
- package/src/enums/MKSourceType.d.ts +7 -0
- package/src/enums/MKStartOffsetTimelineReference.d.ts +4 -0
- package/src/enums/MKStreamType.d.ts +6 -0
- package/src/enums/MKTimeMode.d.ts +4 -0
- package/src/enums/MKViewMode.d.ts +5 -0
- package/src/enums/index.d.ts +22 -0
- package/src/external/index.d.ts +2 -0
- package/src/index.d.ts +5 -0
- package/src/interfaces/MKAdCompanion.d.ts +2 -0
- package/src/interfaces/MKAdaptationConfig.d.ts +19 -0
- package/src/interfaces/MKAdaptationData.d.ts +7 -0
- package/src/interfaces/MKAdaptationPlatformConfig.d.ts +6 -0
- package/src/interfaces/MKAnalyticsConfig.d.ts +38 -0
- package/src/interfaces/MKAudioAdaptationData.d.ts +3 -0
- package/src/interfaces/MKAudioQuality.d.ts +3 -0
- package/src/interfaces/MKAudioTrack.d.ts +6 -0
- package/src/interfaces/MKAzukiConfig.d.ts +7 -0
- package/src/interfaces/MKBitrateLimitationConfig.d.ts +7 -0
- package/src/interfaces/MKBufferConfig.d.ts +6 -0
- package/src/interfaces/MKBufferLevel.d.ts +7 -0
- package/src/interfaces/MKBufferMediaTypeConfig.d.ts +5 -0
- package/src/interfaces/MKCastConfig.d.ts +6 -0
- package/src/interfaces/MKCdn.d.ts +8 -0
- package/src/interfaces/MKCdnOptions.d.ts +5 -0
- package/src/interfaces/MKDownloadedAudioData.d.ts +3 -0
- package/src/interfaces/MKDownloadedData.d.ts +5 -0
- package/src/interfaces/MKDownloadedVideoData.d.ts +5 -0
- package/src/interfaces/MKDrmConfig.d.ts +9 -0
- package/src/interfaces/MKDrmLicense.d.ts +5 -0
- package/src/interfaces/MKError.d.ts +5 -0
- package/src/interfaces/MKFairplayDrmConfig.d.ts +20 -0
- package/src/interfaces/MKHttpRequestOptions.d.ts +7 -0
- package/src/interfaces/MKImageMediaPlaylist.d.ts +9 -0
- package/src/interfaces/MKLiveConfig.d.ts +6 -0
- package/src/interfaces/MKLogConfig.d.ts +4 -0
- package/src/interfaces/MKLowLatencyConfig.d.ts +6 -0
- package/src/interfaces/MKLowLatencySyncConfig.d.ts +5 -0
- package/src/interfaces/MKMediaTrack.d.ts +6 -0
- package/src/interfaces/MKMediaTrackRole.d.ts +6 -0
- package/src/interfaces/MKMetadata.d.ts +7 -0
- package/src/interfaces/MKPeriodContentInformation.d.ts +5 -0
- package/src/interfaces/MKPeriodInformation.d.ts +5 -0
- package/src/interfaces/MKPeriodSwitchObject.d.ts +3 -0
- package/src/interfaces/MKPlayReadyDrmConfig.d.ts +12 -0
- package/src/interfaces/MKPlaybackConfig.d.ts +14 -0
- package/src/interfaces/MKPlayerAPI.d.ts +95 -0
- package/src/interfaces/MKPlayerConfig.d.ts +21 -0
- package/src/interfaces/MKPlayerEngine.d.ts +3 -0
- package/src/interfaces/MKPlayerEventCallback.d.ts +4 -0
- package/src/interfaces/MKPlayerEventConfig.d.ts +4 -0
- package/src/interfaces/MKProgramInfo.d.ts +6 -0
- package/src/interfaces/MKProgramRestrictions.d.ts +5 -0
- package/src/interfaces/MKQuality.d.ts +7 -0
- package/src/interfaces/MKRegisteredSource.d.ts +7 -0
- package/src/interfaces/MKRollInfo.d.ts +14 -0
- package/src/interfaces/MKSourceConfig.d.ts +26 -0
- package/src/interfaces/MKSourceOptions.d.ts +18 -0
- package/src/interfaces/MKSubtitleCue.d.ts +14 -0
- package/src/interfaces/MKSubtitleCuePosition.d.ts +4 -0
- package/src/interfaces/MKSubtitleTrack.d.ts +5 -0
- package/src/interfaces/MKSynchronizationConfigEntry.d.ts +5 -0
- package/src/interfaces/MKTextTrack.d.ts +7 -0
- package/src/interfaces/MKThumbnail.d.ts +10 -0
- package/src/interfaces/MKThumbnailTrack.d.ts +3 -0
- package/src/interfaces/MKTimeRange.d.ts +4 -0
- package/src/interfaces/MKULLSource.d.ts +4 -0
- package/src/interfaces/MKVTTProperties.d.ts +13 -0
- package/src/interfaces/MKVTTRegionProperties.d.ts +10 -0
- package/src/interfaces/MKVideoAdaptationData.d.ts +3 -0
- package/src/interfaces/MKVideoQuality.d.ts +6 -0
- package/src/interfaces/MKVideoSizeLimitationConfig.d.ts +6 -0
- package/src/interfaces/MKVideoTrack.d.ts +5 -0
- package/src/interfaces/MKViewModeOptions.d.ts +3 -0
- package/src/interfaces/MKWidevineModularDrmConfig.d.ts +13 -0
- package/src/interfaces/events/MKAdBreakFinishedEvent.d.ts +4 -0
- package/src/interfaces/events/MKAdBreakStartedEvent.d.ts +10 -0
- package/src/interfaces/events/MKAdClickThroughEvent.d.ts +6 -0
- package/src/interfaces/events/MKAdCompanionEvent.d.ts +6 -0
- package/src/interfaces/events/MKAdFinishedEvent.d.ts +4 -0
- package/src/interfaces/events/MKAdMarkerEvent.d.ts +5 -0
- package/src/interfaces/events/MKAdQuartileEvent.d.ts +6 -0
- package/src/interfaces/events/MKAdStartedEvent.d.ts +12 -0
- package/src/interfaces/events/MKAdaptationEvent.d.ts +4 -0
- package/src/interfaces/events/MKAirplayChangedEvent.d.ts +4 -0
- package/src/interfaces/events/MKAspectRatioChangedEvent.d.ts +5 -0
- package/src/interfaces/events/MKAudioAdaptationEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioChangedEvent.d.ts +6 -0
- package/src/interfaces/events/MKAudioDownloadQualityChangeEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioDownloadQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioPlaybackQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioQualityEvent.d.ts +3 -0
- package/src/interfaces/events/MKAudioTrackEvent.d.ts +5 -0
- package/src/interfaces/events/MKCastAvailableEvent.d.ts +4 -0
- package/src/interfaces/events/MKCastStartedEvent.d.ts +5 -0
- package/src/interfaces/events/MKCastWaitingForDeviceEvent.d.ts +9 -0
- package/src/interfaces/events/MKCueEnterEvent.d.ts +4 -0
- package/src/interfaces/events/MKCueExitEvent.d.ts +4 -0
- package/src/interfaces/events/MKCueParsedEvent.d.ts +4 -0
- package/src/interfaces/events/MKCueUpdateEvent.d.ts +4 -0
- package/src/interfaces/events/MKDownloadFinishedEvent.d.ts +14 -0
- package/src/interfaces/events/MKDrmLicenseAddedEvent.d.ts +5 -0
- package/src/interfaces/events/MKDurationChangedEvent.d.ts +5 -0
- package/src/interfaces/events/MKErrorEvent.d.ts +4 -0
- package/src/interfaces/events/MKLatencyModeChangedEvent.d.ts +6 -0
- package/src/interfaces/events/MKMediaPlaybackQualityChangeEvent.d.ts +6 -0
- package/src/interfaces/events/MKMediaQualityChangeEvent.d.ts +8 -0
- package/src/interfaces/events/MKMediaQualityEvent.d.ts +5 -0
- package/src/interfaces/events/MKMetadataChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKMetadataEvent.d.ts +8 -0
- package/src/interfaces/events/MKMetadataParsedEvent.d.ts +3 -0
- package/src/interfaces/events/MKPeriodSwitchedEvent.d.ts +6 -0
- package/src/interfaces/events/MKPlaybackEvent.d.ts +4 -0
- package/src/interfaces/events/MKPlaybackSpeedChangedEvent.d.ts +5 -0
- package/src/interfaces/events/MKPlayerEventBase.d.ts +5 -0
- package/src/interfaces/events/MKPlayerResizedEvent.d.ts +5 -0
- package/src/interfaces/events/MKProgramRestrictionsEvent.d.ts +5 -0
- package/src/interfaces/events/MKProgramTimeChangedEvent.d.ts +5 -0
- package/src/interfaces/events/MKSeekEvent.d.ts +5 -0
- package/src/interfaces/events/MKSegmentPlaybackEvent.d.ts +23 -0
- package/src/interfaces/events/MKSegmentRequestFinishedEvent.d.ts +11 -0
- package/src/interfaces/events/MKSubtitleEvent.d.ts +5 -0
- package/src/interfaces/events/MKTargetLatencyChangedEvent.d.ts +5 -0
- package/src/interfaces/events/MKTimeChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKUserInteractionEvent.d.ts +4 -0
- package/src/interfaces/events/MKVideoAdaptationEvent.d.ts +3 -0
- package/src/interfaces/events/MKVideoDownloadQualityChangeEvent.d.ts +3 -0
- package/src/interfaces/events/MKVideoDownloadQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKVideoPlaybackQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKVideoQualityChangedEvent.d.ts +3 -0
- package/src/interfaces/events/MKVideoQualityEvent.d.ts +3 -0
- package/src/interfaces/events/MKViewModeChangedEvent.d.ts +7 -0
- package/src/interfaces/events/MKVolumeChangedEvent.d.ts +5 -0
- package/src/interfaces/events/index.d.ts +59 -0
- package/src/interfaces/index.d.ts +67 -0
- package/azure-pipelines.yml +0 -19
- package/dist/BufferLevel.d.ts +0 -4
- package/dist/LabelConfig.d.ts +0 -4
- package/dist/Logger.d.ts +0 -9
- package/dist/MKPlayer.d.ts +0 -31
- package/dist/MKPlayerConfiguration.d.ts +0 -15
- package/dist/MKStream.d.ts +0 -34
- package/dist/SubtitleTrack.d.ts +0 -4
- package/dist/URLHelper.d.ts +0 -5
- package/dist/events/MKEvent.d.ts +0 -16
- package/dist/events/MKPlayerEventCallback.d.ts +0 -4
- package/dist/events/UrlType.d.ts +0 -4
- package/dist/index.d.ts +0 -6
- package/dist/lib/BufferLevel.d.ts +0 -4
- package/dist/lib/BufferLevel.js +0 -3
- package/dist/lib/BufferLevel.js.map +0 -1
- package/dist/lib/LabelConfig.d.ts +0 -4
- package/dist/lib/LabelConfig.js +0 -3
- package/dist/lib/LabelConfig.js.map +0 -1
- package/dist/lib/Logger.d.ts +0 -9
- package/dist/lib/Logger.js +0 -72
- package/dist/lib/Logger.js.map +0 -1
- package/dist/lib/MKPlayer.d.ts +0 -31
- package/dist/lib/MKPlayer.js +0 -289
- package/dist/lib/MKPlayer.js.map +0 -1
- package/dist/lib/MKPlayerConfiguration.d.ts +0 -15
- package/dist/lib/MKPlayerConfiguration.js +0 -3
- package/dist/lib/MKPlayerConfiguration.js.map +0 -1
- package/dist/lib/MKStream.d.ts +0 -34
- package/dist/lib/MKStream.js +0 -126
- package/dist/lib/MKStream.js.map +0 -1
- package/dist/lib/SubtitleTrack.d.ts +0 -4
- package/dist/lib/SubtitleTrack.js +0 -3
- package/dist/lib/SubtitleTrack.js.map +0 -1
- package/dist/lib/URLHelper.d.ts +0 -5
- package/dist/lib/URLHelper.js +0 -63
- package/dist/lib/URLHelper.js.map +0 -1
- package/dist/lib/events/MKEvent.d.ts +0 -16
- package/dist/lib/events/MKEvent.js +0 -21
- package/dist/lib/events/MKEvent.js.map +0 -1
- package/dist/lib/events/MKPlayerEventCallback.d.ts +0 -4
- package/dist/lib/events/MKPlayerEventCallback.js +0 -3
- package/dist/lib/events/MKPlayerEventCallback.js.map +0 -1
- package/dist/lib/events/UrlType.d.ts +0 -4
- package/dist/lib/events/UrlType.js +0 -9
- package/dist/lib/events/UrlType.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.js +0 -10
- package/dist/lib/index.js.map +0 -1
- package/dist/lib-esm/BufferLevel.d.ts +0 -4
- package/dist/lib-esm/BufferLevel.js +0 -2
- package/dist/lib-esm/BufferLevel.js.map +0 -1
- package/dist/lib-esm/LabelConfig.d.ts +0 -4
- package/dist/lib-esm/LabelConfig.js +0 -2
- package/dist/lib-esm/LabelConfig.js.map +0 -1
- package/dist/lib-esm/Logger.d.ts +0 -9
- package/dist/lib-esm/Logger.js +0 -69
- package/dist/lib-esm/Logger.js.map +0 -1
- package/dist/lib-esm/MKPlayer.d.ts +0 -31
- package/dist/lib-esm/MKPlayer.js +0 -286
- package/dist/lib-esm/MKPlayer.js.map +0 -1
- package/dist/lib-esm/MKPlayerConfiguration.d.ts +0 -15
- package/dist/lib-esm/MKPlayerConfiguration.js +0 -2
- package/dist/lib-esm/MKPlayerConfiguration.js.map +0 -1
- package/dist/lib-esm/MKStream.d.ts +0 -34
- package/dist/lib-esm/MKStream.js +0 -123
- package/dist/lib-esm/MKStream.js.map +0 -1
- package/dist/lib-esm/SubtitleTrack.d.ts +0 -4
- package/dist/lib-esm/SubtitleTrack.js +0 -2
- package/dist/lib-esm/SubtitleTrack.js.map +0 -1
- package/dist/lib-esm/URLHelper.d.ts +0 -5
- package/dist/lib-esm/URLHelper.js +0 -60
- package/dist/lib-esm/URLHelper.js.map +0 -1
- package/dist/lib-esm/events/MKEvent.d.ts +0 -16
- package/dist/lib-esm/events/MKEvent.js +0 -18
- package/dist/lib-esm/events/MKEvent.js.map +0 -1
- package/dist/lib-esm/events/MKPlayerEventCallback.d.ts +0 -4
- package/dist/lib-esm/events/MKPlayerEventCallback.js +0 -2
- package/dist/lib-esm/events/MKPlayerEventCallback.js.map +0 -1
- package/dist/lib-esm/events/UrlType.d.ts +0 -4
- package/dist/lib-esm/events/UrlType.js +0 -6
- package/dist/lib-esm/events/UrlType.js.map +0 -1
- package/dist/lib-esm/index.d.ts +0 -6
- package/dist/lib-esm/index.js +0 -4
- package/dist/lib-esm/index.js.map +0 -1
- package/dist/mkplayer.js +0 -1
- package/doc/assets/css/main.css +0 -1
- package/doc/assets/images/icons.png +0 -0
- package/doc/assets/images/icons@2x.png +0 -0
- package/doc/assets/images/widgets.png +0 -0
- package/doc/assets/images/widgets@2x.png +0 -0
- package/doc/assets/js/main.js +0 -51
- package/doc/assets/js/search.json +0 -1
- package/doc/classes/mkplayer.html +0 -677
- package/doc/enums/mkevent.html +0 -348
- package/doc/enums/urltype.html +0 -180
- package/doc/globals.html +0 -150
- package/doc/index.html +0 -347
- package/doc/interfaces/bufferlevel.html +0 -143
- package/doc/interfaces/labelconfig.html +0 -198
- package/doc/interfaces/mkplayereventcallback.html +0 -170
- package/doc/interfaces/subtitletrack.html +0 -198
- package/favicon.ico +0 -0
- package/index.html +0 -539
- package/mk_logo.png +0 -0
- package/mkplayer-ui.min.css +0 -2
- package/multi-camera.html +0 -391
- package/src/BufferLevel.ts +0 -7
- package/src/LabelConfig.ts +0 -14
- package/src/Logger.ts +0 -51
- package/src/MKPlayer.ts +0 -390
- package/src/MKPlayerConfiguration.ts +0 -51
- package/src/MKStream.ts +0 -154
- package/src/SubtitleTrack.ts +0 -14
- package/src/URLHelper.ts +0 -71
- package/src/events/MKEvent.ts +0 -19
- package/src/events/MKPlayerEventCallback.ts +0 -8
- package/src/events/UrlType.ts +0 -7
- package/src/index.ts +0 -6
- package/tsconfig.json +0 -20
- package/tslint.json +0 -72
- package/typedoc.json +0 -11
package/src/BufferLevel.ts
DELETED
package/src/LabelConfig.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config to change the labels in the player dropdown
|
|
3
|
-
*/
|
|
4
|
-
export interface LabelConfig {
|
|
5
|
-
/**
|
|
6
|
-
* list of labels to use in the audio dropdown
|
|
7
|
-
*/
|
|
8
|
-
audio?: Record<string, string>;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* list of labels to use in the captions dropdown
|
|
12
|
-
*/
|
|
13
|
-
captions?: Record<string, string>;
|
|
14
|
-
}
|
package/src/Logger.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
export class Logger {
|
|
2
|
-
private static enabled: boolean = false;
|
|
3
|
-
|
|
4
|
-
public static enable() {
|
|
5
|
-
this.enabled = true;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
public static disable() {
|
|
9
|
-
this.enabled = false;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public static log(message?: any, ...optionalParams: any[]): void {
|
|
13
|
-
if (typeof console === 'undefined') {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
if (this.enabled) {
|
|
18
|
-
console.log(message, ...optionalParams);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public static error(message?: any, ...optionalParams: any[]): void {
|
|
23
|
-
if (typeof console === 'undefined') {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (this.enabled) {
|
|
28
|
-
console.error(message, ...optionalParams);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public static warn(message?: any, ...optionalParams: any[]): void {
|
|
33
|
-
if (typeof console === 'undefined') {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (this.enabled) {
|
|
38
|
-
console.warn(message, ...optionalParams);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
public static debug(message?: any, ...optionalParams: any[]): void {
|
|
43
|
-
if (typeof console === 'undefined') {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (this.enabled) {
|
|
48
|
-
console.debug(message, ...optionalParams);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
package/src/MKPlayer.ts
DELETED
|
@@ -1,390 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BufferType, LogLevel, MediaType, Player, PlayerAPI, PlayerConfig, PlayerEvent, SourceConfig, SubtitleTrack,
|
|
3
|
-
} from 'bitmovin-player';
|
|
4
|
-
import { UIFactory } from 'bitmovin-player-ui';
|
|
5
|
-
import { MKPlayerConfiguration } from './MKPlayerConfiguration';
|
|
6
|
-
import { MKStream } from './MKStream';
|
|
7
|
-
import { MKEvent } from './events/MKEvent';
|
|
8
|
-
import { BufferLevel } from './BufferLevel';
|
|
9
|
-
import { MKPlayerEventCallback } from './events/MKPlayerEventCallback';
|
|
10
|
-
import { Logger } from './Logger';
|
|
11
|
-
import { HttpRequest, HttpRequestType } from 'bitmovin-player/types/core/NetworkAPI';
|
|
12
|
-
import { UrlType } from './events/UrlType';
|
|
13
|
-
import { URLHelper } from './URLHelper';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* MKPlayer is an HTML5 video player used for playback of HLS and DASH adaptive bitrate streams
|
|
17
|
-
*/
|
|
18
|
-
export class MKPlayer {
|
|
19
|
-
private player: PlayerAPI;
|
|
20
|
-
private stream: MKStream;
|
|
21
|
-
/**
|
|
22
|
-
* constructor used to create a new MKPlayer instance
|
|
23
|
-
*
|
|
24
|
-
* @param containerElement - container that the video player will be rendered in
|
|
25
|
-
* @param mkPlayerConfiguration - configuration for this MKPlayer instance
|
|
26
|
-
*/
|
|
27
|
-
constructor(containerElement: HTMLElement, mkPlayerConfiguration: MKPlayerConfiguration) {
|
|
28
|
-
let playerConfig: PlayerConfig = {
|
|
29
|
-
key: mkPlayerConfiguration.key,
|
|
30
|
-
playback: {
|
|
31
|
-
autoplay: mkPlayerConfiguration.autoplay,
|
|
32
|
-
muted: mkPlayerConfiguration.muted,
|
|
33
|
-
},
|
|
34
|
-
analytics: {
|
|
35
|
-
key: '1c45ae9c-345e-4462-95e2-3e8faccd64f1',
|
|
36
|
-
},
|
|
37
|
-
ui: {
|
|
38
|
-
disableAutoHideWhenHovered: true,
|
|
39
|
-
},
|
|
40
|
-
logs: {
|
|
41
|
-
level: LogLevel.OFF,
|
|
42
|
-
bitmovin: false,
|
|
43
|
-
},
|
|
44
|
-
network: {
|
|
45
|
-
preprocessHttpRequest: (type: HttpRequestType, request: HttpRequest) => {
|
|
46
|
-
if (type === 'manifest/hls/master' || type === 'manifest/hls/variant') {
|
|
47
|
-
if (typeof mkPlayerConfiguration.refreshToken === 'function') {
|
|
48
|
-
let urlType = this.stream.didFailOver ? UrlType.Secondary : UrlType.Primary;
|
|
49
|
-
let token = mkPlayerConfiguration.refreshToken(urlType);
|
|
50
|
-
console.log('[MKPlayer] Appending ' + urlType + ' token: ' + token.name + '=' + token.value);
|
|
51
|
-
request.url = URLHelper.appendToken(request.url, token.name, token.value);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return Promise.resolve(request);
|
|
55
|
-
},
|
|
56
|
-
preprocessHttpResponse: (type, response) => {
|
|
57
|
-
if (type === 'manifest/hls/master') {
|
|
58
|
-
let body = this.manipulateMasterPlaylist((response.body as string));
|
|
59
|
-
// @ts-ignore
|
|
60
|
-
response.body = body;
|
|
61
|
-
}
|
|
62
|
-
return Promise.resolve(response);
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
if (mkPlayerConfiguration.targetLatency > 0) {
|
|
68
|
-
playerConfig.live = {
|
|
69
|
-
lowLatency: {
|
|
70
|
-
targetLatency: mkPlayerConfiguration.targetLatency,
|
|
71
|
-
catchup: {
|
|
72
|
-
playbackRateThreshold: 0.075,
|
|
73
|
-
seekThreshold: 12,
|
|
74
|
-
playbackRate: 1.2,
|
|
75
|
-
},
|
|
76
|
-
fallback: {
|
|
77
|
-
playbackRateThreshold: 0.075,
|
|
78
|
-
seekThreshold: 12,
|
|
79
|
-
playbackRate: 0.8,
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
let player = new Player(containerElement, playerConfig);
|
|
86
|
-
if (mkPlayerConfiguration.ui !== false) {
|
|
87
|
-
if (mkPlayerConfiguration.smallScreen) {
|
|
88
|
-
UIFactory.buildDefaultSmallScreenUI(player);
|
|
89
|
-
} else {
|
|
90
|
-
UIFactory.buildDefaultUI(player, playerConfig.ui);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
if (mkPlayerConfiguration.debug) {
|
|
95
|
-
Logger.enable();
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
this.player = player;
|
|
99
|
-
console.log('%c MKPlayer ' + this.version() + ' www.mediakind.com', 'color: blue');
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* start playback or resumes playback after the player has been paused
|
|
104
|
-
*/
|
|
105
|
-
play(): Promise<void> {
|
|
106
|
-
return this.player.play();
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* pauses playback on the player
|
|
111
|
-
*/
|
|
112
|
-
pause(): void {
|
|
113
|
-
this.player.pause();
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* destroys the video player. You must create a new MKPlayer if this method is called
|
|
118
|
-
*/
|
|
119
|
-
destroy(): Promise<void> {
|
|
120
|
-
return this.player.destroy();
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Loads a new stream for playback
|
|
125
|
-
*
|
|
126
|
-
* @param stream - the stream the player will load
|
|
127
|
-
*/
|
|
128
|
-
load(stream: MKStream): Promise<void> {
|
|
129
|
-
let playerSource: SourceConfig;
|
|
130
|
-
this.stream = stream;
|
|
131
|
-
let url: string = this.selectUrl();
|
|
132
|
-
|
|
133
|
-
if (url.includes('.m3u8')) {
|
|
134
|
-
playerSource = {
|
|
135
|
-
hls: url,
|
|
136
|
-
};
|
|
137
|
-
} else if (url.includes('.mp4')) {
|
|
138
|
-
playerSource = {
|
|
139
|
-
progressive: url,
|
|
140
|
-
};
|
|
141
|
-
} else {
|
|
142
|
-
playerSource = {
|
|
143
|
-
dash: url,
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (stream.poster) {
|
|
148
|
-
playerSource.poster = stream.poster;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
playerSource.labeling = {
|
|
152
|
-
hls: {
|
|
153
|
-
tracks: (track) => {
|
|
154
|
-
if (this.stream.labelConfig && this.stream.labelConfig.audio && this.stream.labelConfig.audio[track.lang]) {
|
|
155
|
-
return this.stream.labelConfig.audio[track.lang];
|
|
156
|
-
} else {
|
|
157
|
-
return track.lang;
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
subtitles: (track) => {
|
|
161
|
-
console.log(track);
|
|
162
|
-
if (this.stream.labelConfig && this.stream.labelConfig.captions && this.stream.labelConfig.captions[track.lang]) {
|
|
163
|
-
return this.stream.labelConfig.captions[track.lang];
|
|
164
|
-
} else {
|
|
165
|
-
return track.lang;
|
|
166
|
-
}
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
if (stream.assetIdentifier) {
|
|
172
|
-
playerSource.analytics = {
|
|
173
|
-
videoId: stream.assetIdentifier,
|
|
174
|
-
userId: stream.userId,
|
|
175
|
-
customData1: stream.customData1,
|
|
176
|
-
customData2: stream.customData2,
|
|
177
|
-
customData3: stream.customData3,
|
|
178
|
-
customData4: stream.customData4,
|
|
179
|
-
customData5: stream.customData5,
|
|
180
|
-
customData6: this.version(),
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (stream.subtitleTracks && stream.subtitleTracks[0] && stream.subtitleTracks[0].url && !stream.subtitleTracks[0].url.includes('.m3u8')) {
|
|
185
|
-
playerSource.subtitleTracks = stream.subtitleTracks.map((track) => <SubtitleTrack>{
|
|
186
|
-
lang: track.language,
|
|
187
|
-
url: track.url,
|
|
188
|
-
id: MKPlayer.makeId(4),
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
Logger.log('[MKPlayer] loading source - ' + JSON.stringify(playerSource));
|
|
193
|
-
|
|
194
|
-
return this.player.load(playerSource);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* Removes a handler for a MKEvent
|
|
199
|
-
*
|
|
200
|
-
* @param eventType
|
|
201
|
-
* @param callback
|
|
202
|
-
*/
|
|
203
|
-
off(eventType: MKEvent, callback: MKPlayerEventCallback): void {
|
|
204
|
-
let playerEventType = MKPlayer.mapEvent(eventType);
|
|
205
|
-
return this.player.off(playerEventType, callback);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* Subscribes and event handler to a MKEvent
|
|
210
|
-
*
|
|
211
|
-
* @param eventType
|
|
212
|
-
* @param callback
|
|
213
|
-
*/
|
|
214
|
-
on(eventType: MKEvent, callback: MKPlayerEventCallback): void {
|
|
215
|
-
let playerEventType = MKPlayer.mapEvent(eventType);
|
|
216
|
-
return this.player.on(playerEventType, callback);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* unloads the current playing stream
|
|
221
|
-
*/
|
|
222
|
-
unload(): Promise<void> {
|
|
223
|
-
return this.player.unload();
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* gets the player's current time
|
|
228
|
-
*/
|
|
229
|
-
getCurrentTime(): number {
|
|
230
|
-
return this.player.getCurrentTime();
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* gets the current audio and video buffer levels
|
|
235
|
-
*
|
|
236
|
-
* @returns
|
|
237
|
-
*/
|
|
238
|
-
getBufferLevels(): BufferLevel {
|
|
239
|
-
return {
|
|
240
|
-
audio: this.player.buffer.getLevel(BufferType.ForwardDuration, MediaType.Audio).level,
|
|
241
|
-
video: this.player.buffer.getLevel(BufferType.ForwardDuration, MediaType.Video).level,
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* sets the target latency during live playback
|
|
247
|
-
* @param latency
|
|
248
|
-
*/
|
|
249
|
-
setTargetLatency(latency: number) {
|
|
250
|
-
this.player.lowlatency.setTargetLatency(latency);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* sets the target latency during live playback
|
|
255
|
-
* @param latency
|
|
256
|
-
*/
|
|
257
|
-
getLatency(): number {
|
|
258
|
-
return this.player.lowlatency.getLatency();
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* mutes the player
|
|
263
|
-
*/
|
|
264
|
-
mute(): void {
|
|
265
|
-
this.player.mute();
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* gets the current playback speed
|
|
270
|
-
*/
|
|
271
|
-
playbackSpeed(): number {
|
|
272
|
-
return this.player.getPlaybackSpeed();
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* unmute the player
|
|
277
|
-
*/
|
|
278
|
-
unmute(): void {
|
|
279
|
-
this.player.unmute();
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* sets the player's volume in the range of 0 (silent) to 100 (max volume)
|
|
284
|
-
*
|
|
285
|
-
* @param volume The volume to set between 0 and 100
|
|
286
|
-
*/
|
|
287
|
-
setVolume(volume: number): void {
|
|
288
|
-
this.player.setVolume(volume);
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
* returns the current player version
|
|
293
|
-
*/
|
|
294
|
-
version(): string {
|
|
295
|
-
return '1.0.21';
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
private selectUrl(): string {
|
|
299
|
-
let rand = MKPlayer.getRandomInt(99);
|
|
300
|
-
if (this.stream.cdnFailoverPercent && this.stream.secondaryUrl && rand < this.stream.cdnFailoverPercent) {
|
|
301
|
-
Logger.log('[MKPlayer] selecting secondary source url - ' + this.stream.secondaryUrl);
|
|
302
|
-
this.stream.didFailOver = true;
|
|
303
|
-
return this.stream.secondaryUrl;
|
|
304
|
-
} else {
|
|
305
|
-
Logger.log('[MKPlayer] selecting primary source url - ' + this.stream.primaryUrl);
|
|
306
|
-
this.stream.didFailOver = false;
|
|
307
|
-
return this.stream.primaryUrl;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
private static getRandomInt(max: number) {
|
|
312
|
-
return Math.floor(Math.random() * Math.floor(max));
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
private static makeId(length) {
|
|
316
|
-
let result = '';
|
|
317
|
-
let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
318
|
-
let charactersLength = characters.length;
|
|
319
|
-
for (let i = 0; i < length; i++) {
|
|
320
|
-
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
321
|
-
}
|
|
322
|
-
return result;
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
private static mapEvent(event: MKEvent): PlayerEvent {
|
|
326
|
-
let playerEventType: PlayerEvent;
|
|
327
|
-
switch (event) {
|
|
328
|
-
case MKEvent.BufferingStarted:
|
|
329
|
-
playerEventType = PlayerEvent.StallStarted;
|
|
330
|
-
break;
|
|
331
|
-
case MKEvent.BufferingEnded:
|
|
332
|
-
playerEventType = PlayerEvent.StallEnded;
|
|
333
|
-
break;
|
|
334
|
-
case MKEvent.Playing:
|
|
335
|
-
playerEventType = PlayerEvent.Playing;
|
|
336
|
-
break;
|
|
337
|
-
case MKEvent.Paused:
|
|
338
|
-
playerEventType = PlayerEvent.Paused;
|
|
339
|
-
break;
|
|
340
|
-
case MKEvent.TimeChanged:
|
|
341
|
-
playerEventType = PlayerEvent.TimeChanged;
|
|
342
|
-
break;
|
|
343
|
-
case MKEvent.Ready:
|
|
344
|
-
playerEventType = PlayerEvent.Ready;
|
|
345
|
-
break;
|
|
346
|
-
case MKEvent.Error:
|
|
347
|
-
playerEventType = PlayerEvent.Error;
|
|
348
|
-
break;
|
|
349
|
-
case MKEvent.StreamFinished:
|
|
350
|
-
playerEventType = PlayerEvent.PlaybackFinished;
|
|
351
|
-
break;
|
|
352
|
-
case MKEvent.Warning:
|
|
353
|
-
playerEventType = PlayerEvent.Warning;
|
|
354
|
-
break;
|
|
355
|
-
case MKEvent.QualityChanged:
|
|
356
|
-
playerEventType = PlayerEvent.VideoPlaybackQualityChanged;
|
|
357
|
-
break;
|
|
358
|
-
case MKEvent.SegmentPlayback:
|
|
359
|
-
playerEventType = PlayerEvent.SegmentPlayback;
|
|
360
|
-
break;
|
|
361
|
-
case MKEvent.Unloaded:
|
|
362
|
-
playerEventType = PlayerEvent.SourceUnloaded;
|
|
363
|
-
break;
|
|
364
|
-
case MKEvent.Metadata:
|
|
365
|
-
playerEventType = PlayerEvent.Metadata;
|
|
366
|
-
break;
|
|
367
|
-
case MKEvent.MetadataParsed:
|
|
368
|
-
playerEventType = PlayerEvent.MetadataParsed;
|
|
369
|
-
break;
|
|
370
|
-
}
|
|
371
|
-
return playerEventType;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
private manipulateMasterPlaylist(response: string): string {
|
|
375
|
-
let body = (response as string);
|
|
376
|
-
if (this.stream.subtitleTracks && this.stream.subtitleTracks[0] && this.stream.subtitleTracks[0].url && this.stream.subtitleTracks[0].url.includes('.m3u8')) {
|
|
377
|
-
this.stream.subtitleTracks.forEach((track) => {
|
|
378
|
-
body = body.concat('\n#EXT-X-MEDIA:TYPE=SUBTITLES,'
|
|
379
|
-
+ 'NAME="' + track.language + '",'
|
|
380
|
-
+ 'DEFAULT=YES,'
|
|
381
|
-
+ 'AUTOSELECT=YES,'
|
|
382
|
-
+ 'FORCED=NO,'
|
|
383
|
-
+ 'LANGUAGE="' + track.language + '",GROUP-ID="Subtitles",'
|
|
384
|
-
+ 'URI="' + track.url + '"');
|
|
385
|
-
});
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
return body;
|
|
389
|
-
}
|
|
390
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MKPlayer's configuration interface
|
|
3
|
-
*/
|
|
4
|
-
import { UrlType } from './events/UrlType';
|
|
5
|
-
|
|
6
|
-
export interface MKPlayerConfiguration {
|
|
7
|
-
/**
|
|
8
|
-
* Toggles debug output logging
|
|
9
|
-
*/
|
|
10
|
-
debug: boolean;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Option to enable the player to start playback after successfully loading a source
|
|
14
|
-
*/
|
|
15
|
-
autoplay: boolean;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Option to enable the player to start in a muted state. The user is able to unmute via the UI or an API call through
|
|
19
|
-
*/
|
|
20
|
-
muted: boolean;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Boolean indicating if the player should load the small screen ui
|
|
24
|
-
*/
|
|
25
|
-
smallScreen: boolean;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Boolean to enable / disable ui
|
|
29
|
-
*/
|
|
30
|
-
ui: boolean;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* number of seconds the player attempts to stay behind the live point
|
|
34
|
-
*/
|
|
35
|
-
targetLatency: number;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* license key for the video player
|
|
39
|
-
*/
|
|
40
|
-
key: string;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Refresh the CDN Token
|
|
44
|
-
*/
|
|
45
|
-
refreshToken?: (type: UrlType) => TokenParam;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export interface TokenParam {
|
|
49
|
-
name: string;
|
|
50
|
-
value: string;
|
|
51
|
-
}
|
package/src/MKStream.ts
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration object used when loading a new stream
|
|
3
|
-
*/
|
|
4
|
-
import { SubtitleTrack } from './SubtitleTrack';
|
|
5
|
-
import { LabelConfig } from './LabelConfig';
|
|
6
|
-
|
|
7
|
-
export class MKStream {
|
|
8
|
-
private readonly _assetIdentifier: string;
|
|
9
|
-
private readonly _primaryUrl?: string;
|
|
10
|
-
private readonly _secondaryUrl?: string;
|
|
11
|
-
private readonly _subtitleTracks: SubtitleTrack[];
|
|
12
|
-
private readonly _cdnFailoverPercent: number = 0;
|
|
13
|
-
private readonly _poster: string;
|
|
14
|
-
private readonly _userId: string;
|
|
15
|
-
private readonly _customData1: string;
|
|
16
|
-
private readonly _customData2: string;
|
|
17
|
-
private readonly _customData3: string;
|
|
18
|
-
private readonly _customData4: string;
|
|
19
|
-
private readonly _customData5: string;
|
|
20
|
-
private readonly _labelConfig: LabelConfig;
|
|
21
|
-
private _didFailOver: boolean = false;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
25
|
-
* @param primaryUrl - primary stream url
|
|
26
|
-
* @param secondaryUrl - secondary backup stream url
|
|
27
|
-
* @param subtitleTracks - a list of external subtitle tracks that should be loaded with the player
|
|
28
|
-
* @param poster - url to a poster image to render on the player
|
|
29
|
-
* @param cdnFailoverPercent - percent value from 0-100 describing what percentage of users should initially playback
|
|
30
|
-
* the secondary url
|
|
31
|
-
* @param assetIdentifier - identifier for the current stream
|
|
32
|
-
* @param labelConfig - config to change the labels in the player dropdown
|
|
33
|
-
*/
|
|
34
|
-
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) {
|
|
35
|
-
this._cdnFailoverPercent = cdnFailoverPercent;
|
|
36
|
-
this._secondaryUrl = secondaryUrl;
|
|
37
|
-
this._primaryUrl = primaryUrl;
|
|
38
|
-
this._assetIdentifier = assetIdentifier;
|
|
39
|
-
this._subtitleTracks = subtitleTracks;
|
|
40
|
-
this._poster = poster;
|
|
41
|
-
this._userId = userId;
|
|
42
|
-
this._customData1 = customData1;
|
|
43
|
-
this._customData2 = customData2;
|
|
44
|
-
this._customData3 = customData3;
|
|
45
|
-
this._customData4 = customData4;
|
|
46
|
-
this._customData5 = customData5;
|
|
47
|
-
this._labelConfig = labelConfig;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* percent value from 0-100 describing what percentage of users should playback the secondary url
|
|
52
|
-
*/
|
|
53
|
-
public get cdnFailoverPercent(): number {
|
|
54
|
-
return this._cdnFailoverPercent;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* primary stream url used during playback
|
|
59
|
-
*/
|
|
60
|
-
public get primaryUrl(): string {
|
|
61
|
-
return this._primaryUrl;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* secondary stream url used during playback
|
|
66
|
-
*/
|
|
67
|
-
public get secondaryUrl(): string {
|
|
68
|
-
return this._secondaryUrl;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* percent value from 0-100 describing what percentage of users should playback the secondary url
|
|
73
|
-
*/
|
|
74
|
-
public get subtitleTracks(): SubtitleTrack[] {
|
|
75
|
-
return this._subtitleTracks;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* identifier for the current stream
|
|
80
|
-
*/
|
|
81
|
-
public get assetIdentifier(): string {
|
|
82
|
-
return this._assetIdentifier;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* poster art for the current stream
|
|
87
|
-
*/
|
|
88
|
-
public get poster(): string {
|
|
89
|
-
return this._poster;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* customData1 field for the current stream
|
|
94
|
-
*/
|
|
95
|
-
public get customData1(): string {
|
|
96
|
-
return this._customData1;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* customData2 field for the current stream
|
|
101
|
-
*/
|
|
102
|
-
public get customData2(): string {
|
|
103
|
-
return this._customData2;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* customData3 field for the current stream
|
|
108
|
-
*/
|
|
109
|
-
public get customData3(): string {
|
|
110
|
-
return this._customData3;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* customData5 field for the current stream
|
|
115
|
-
*/
|
|
116
|
-
public get customData4(): string {
|
|
117
|
-
return this._customData4;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* customData5 field for the current stream
|
|
122
|
-
*/
|
|
123
|
-
public get customData5(): string {
|
|
124
|
-
return this._customData5;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* userId field for the current stream
|
|
129
|
-
*/
|
|
130
|
-
public get userId(): string {
|
|
131
|
-
return this._userId;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* config to change the labels in the player dropdown
|
|
136
|
-
*/
|
|
137
|
-
public get labelConfig(): LabelConfig {
|
|
138
|
-
return this._labelConfig;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* boolean value describing if failover happened
|
|
143
|
-
*/
|
|
144
|
-
public get didFailOver(): boolean {
|
|
145
|
-
return this._didFailOver;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* setter for the didFailOver boolean value
|
|
150
|
-
*/
|
|
151
|
-
public set didFailOver(value: boolean) {
|
|
152
|
-
this._didFailOver = value;
|
|
153
|
-
}
|
|
154
|
-
}
|
package/src/SubtitleTrack.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Used to describe an external subtitle track (WebVtt or srt) outside of the MKStream manifest url
|
|
3
|
-
*/
|
|
4
|
-
export interface SubtitleTrack {
|
|
5
|
-
/**
|
|
6
|
-
* url to the external subtitle track
|
|
7
|
-
*/
|
|
8
|
-
url: string;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* language of the subtitle track. This string will be displayed in the UI
|
|
12
|
-
*/
|
|
13
|
-
language: string;
|
|
14
|
-
}
|