@gcorevideo/player 0.0.1
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/assets/icons/new/arrow-left.svg +5 -0
- package/assets/icons/new/arrow-right.svg +5 -0
- package/assets/icons/new/check.svg +5 -0
- package/assets/icons/new/close.svg +12 -0
- package/assets/icons/new/full.svg +8 -0
- package/assets/icons/new/fullscreen-off.svg +14 -0
- package/assets/icons/new/fullscreen-on.svg +14 -0
- package/assets/icons/new/gear-hd.svg +16 -0
- package/assets/icons/new/gear.svg +12 -0
- package/assets/icons/new/hd.svg +8 -0
- package/assets/icons/new/pause.svg +5 -0
- package/assets/icons/new/pip.svg +5 -0
- package/assets/icons/new/play.svg +10 -0
- package/assets/icons/new/replayleft.svg +5 -0
- package/assets/icons/new/replayright.svg +5 -0
- package/assets/icons/new/speed.svg +5 -0
- package/assets/icons/new/stats.svg +3 -0
- package/assets/icons/new/stop.svg +3 -0
- package/assets/icons/new/subtitles-off.svg +5 -0
- package/assets/icons/new/subtitles-on.svg +6 -0
- package/assets/icons/new/volume-max.svg +5 -0
- package/assets/icons/new/volume-min.svg +5 -0
- package/assets/icons/new/volume-off.svg +5 -0
- package/assets/icons/old/cardboard.svg +4 -0
- package/assets/icons/old/close-share.svg +13 -0
- package/assets/icons/old/close.svg +13 -0
- package/assets/icons/old/fb.svg +13 -0
- package/assets/icons/old/fullscreen.svg +12 -0
- package/assets/icons/old/language.svg +1 -0
- package/assets/icons/old/pause.svg +12 -0
- package/assets/icons/old/play.svg +12 -0
- package/assets/icons/old/quality-arrow.svg +13 -0
- package/assets/icons/old/reload.svg +4 -0
- package/assets/icons/old/share.svg +13 -0
- package/assets/icons/old/sound-off.svg +15 -0
- package/assets/icons/old/sound-on.svg +15 -0
- package/assets/icons/old/streams.svg +3 -0
- package/assets/icons/old/twitter.svg +13 -0
- package/assets/icons/old/wn.svg +15 -0
- package/assets/icons/standard/01-play.svg +3 -0
- package/assets/icons/standard/02-pause.svg +3 -0
- package/assets/icons/standard/03-stop.svg +3 -0
- package/assets/icons/standard/04-volume.svg +3 -0
- package/assets/icons/standard/05-mute.svg +3 -0
- package/assets/icons/standard/06-expand.svg +3 -0
- package/assets/icons/standard/07-shrink.svg +3 -0
- package/assets/icons/standard/08-hd.svg +3 -0
- package/assets/icons/standard/09-cc.svg +8 -0
- package/assets/icons/standard/10-reload.svg +4 -0
- package/assets/style/main.scss +50 -0
- package/assets/style/theme.scss +42 -0
- package/assets/style/variables.scss +7 -0
- package/dist/DashPlayback-6wKK0_pL.js +666 -0
- package/dist/DashPlayback-8U6_s4Jc.js +666 -0
- package/dist/DashPlayback-BeZz7mN9.js +663 -0
- package/dist/DashPlayback-CRdja67F.js +667 -0
- package/dist/DashPlayback-D0df6zGg.js +663 -0
- package/dist/DashPlayback-D7egS-CZ.js +664 -0
- package/dist/DashPlayback-DH5lZMRR.js +663 -0
- package/dist/DashPlayback-DZfIc9sK.js +665 -0
- package/dist/DashPlayback-VhCxbQhn.js +666 -0
- package/dist/HlsPlayback-Avwy8-0O.js +749 -0
- package/dist/index.css +125 -0
- package/dist/index.js +467 -0
- package/lib/Player.d.ts +50 -0
- package/lib/Player.d.ts.map +1 -0
- package/lib/Player.js +310 -0
- package/lib/backend.d.ts +3 -0
- package/lib/backend.d.ts.map +1 -0
- package/lib/backend.js +10 -0
- package/lib/constants.d.ts +19 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +18 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +9 -0
- package/lib/internal.types.d.ts +105 -0
- package/lib/internal.types.d.ts.map +1 -0
- package/lib/internal.types.js +1 -0
- package/lib/playback.types.d.ts +13 -0
- package/lib/playback.types.d.ts.map +1 -0
- package/lib/playback.types.js +1 -0
- package/lib/plugins/audio-selector/AudioSelector.d.ts +48 -0
- package/lib/plugins/audio-selector/AudioSelector.d.ts.map +1 -0
- package/lib/plugins/audio-selector/AudioSelector.js +282 -0
- package/lib/plugins/big-mute-button/BigMuteButton.d.ts +33 -0
- package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -0
- package/lib/plugins/big-mute-button/BigMuteButton.js +148 -0
- package/lib/plugins/bottom-gear/BottomGear.d.ts +30 -0
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -0
- package/lib/plugins/bottom-gear/BottomGear.js +103 -0
- package/lib/plugins/click-to-pause/ClickToPause.d.ts +16 -0
- package/lib/plugins/click-to-pause/ClickToPause.d.ts.map +1 -0
- package/lib/plugins/click-to-pause/ClickToPause.js +73 -0
- package/lib/plugins/dash-playback/DashPlayback.d.ts +81 -0
- package/lib/plugins/dash-playback/DashPlayback.d.ts.map +1 -0
- package/lib/plugins/dash-playback/DashPlayback.js +658 -0
- package/lib/plugins/dash-plugin/DashPlayback.d.ts +86 -0
- package/lib/plugins/dash-plugin/DashPlayback.d.ts.map +1 -0
- package/lib/plugins/dash-plugin/DashPlayback.js +659 -0
- package/lib/plugins/disable-controls/DisableControls.d.ts +15 -0
- package/lib/plugins/disable-controls/DisableControls.d.ts.map +1 -0
- package/lib/plugins/disable-controls/DisableControls.js +69 -0
- package/lib/plugins/dvr-controls/DVRControls.d.ts +27 -0
- package/lib/plugins/dvr-controls/DVRControls.d.ts.map +1 -0
- package/lib/plugins/dvr-controls/DVRControls.js +110 -0
- package/lib/plugins/hls-playback/HlsPlayback.d.ts +102 -0
- package/lib/plugins/hls-playback/HlsPlayback.d.ts.map +1 -0
- package/lib/plugins/hls-playback/HlsPlayback.js +747 -0
- package/lib/plugins/level-selector/LevelSelector.d.ts +48 -0
- package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -0
- package/lib/plugins/level-selector/LevelSelector.js +287 -0
- package/lib/plugins/media-control/MediaControl.d.ts +186 -0
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -0
- package/lib/plugins/media-control/MediaControl.js +1000 -0
- package/lib/plugins/poster/Poster.d.ts +41 -0
- package/lib/plugins/poster/Poster.d.ts.map +1 -0
- package/lib/plugins/poster/Poster.js +186 -0
- package/lib/trace/LogTracer.d.ts +12 -0
- package/lib/trace/LogTracer.d.ts.map +1 -0
- package/lib/trace/LogTracer.js +17 -0
- package/lib/trace/SentryTracer.d.ts +11 -0
- package/lib/trace/SentryTracer.d.ts.map +1 -0
- package/lib/trace/SentryTracer.js +18 -0
- package/lib/trace/Tracer.d.ts +13 -0
- package/lib/trace/Tracer.d.ts.map +1 -0
- package/lib/trace/Tracer.js +15 -0
- package/lib/trace/index.d.ts +18 -0
- package/lib/trace/index.d.ts.map +1 -0
- package/lib/trace/index.js +27 -0
- package/lib/trace/types.d.ts +8 -0
- package/lib/trace/types.d.ts.map +1 -0
- package/lib/trace/types.js +1 -0
- package/lib/types.d.ts +82 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +1 -0
- package/lib/utils/Logger.d.ts +23 -0
- package/lib/utils/Logger.d.ts.map +1 -0
- package/lib/utils/Logger.js +81 -0
- package/lib/utils/canAutoplay.d.ts +6 -0
- package/lib/utils/canAutoplay.d.ts.map +1 -0
- package/lib/utils/canAutoplay.js +30 -0
- package/lib/utils/errors.d.ts +2 -0
- package/lib/utils/errors.d.ts.map +1 -0
- package/lib/utils/errors.js +6 -0
- package/lib/utils/queryParams.d.ts +2 -0
- package/lib/utils/queryParams.d.ts.map +1 -0
- package/lib/utils/queryParams.js +4 -0
- package/lib/utils/scripts-load.d.ts +2 -0
- package/lib/utils/scripts-load.d.ts.map +1 -0
- package/lib/utils/scripts-load.js +20 -0
- package/lib/utils/types.d.ts +4 -0
- package/lib/utils/types.d.ts.map +1 -0
- package/lib/utils/types.js +1 -0
- package/lib/utils/utils.d.ts +7 -0
- package/lib/utils/utils.d.ts.map +1 -0
- package/lib/utils/utils.js +57 -0
- package/package.json +57 -0
- package/rollup.config.js +34 -0
- package/src/Player.ts +390 -0
- package/src/backend.ts +12 -0
- package/src/constants.ts +17 -0
- package/src/index.ts +9 -0
- package/src/internal.types.ts +126 -0
- package/src/playback.types.ts +15 -0
- package/src/plugins/dash-playback/DashPlayback.ts +808 -0
- package/src/plugins/dash-playback/_DashPlayback.js +688 -0
- package/src/plugins/hls-playback/HlsPlayback.ts +909 -0
- package/src/plugins/hls-playback/hls.js +706 -0
- package/src/trace/LogTracer.ts +23 -0
- package/src/trace/SentryTracer.ts +18 -0
- package/src/trace/Tracer.ts +27 -0
- package/src/trace/index.ts +32 -0
- package/src/trace/types.ts +7 -0
- package/src/types.ts +100 -0
- package/src/typings/@clappr/core/error_mixin.d.ts +15 -0
- package/src/typings/@clappr/core/events.d.ts +7 -0
- package/src/typings/@clappr/core/html5_video.d.ts +28 -0
- package/src/typings/@clappr/core/playback.d.ts +5 -0
- package/src/typings/@clappr/core/player.d.ts +83 -0
- package/src/typings/@clappr/plugins.d.ts +29 -0
- package/src/typings/clappr-zepto.xd.xts +44 -0
- package/src/typings/globals.d.ts +8 -0
- package/src/utils/Logger.ts +107 -0
- package/src/utils/canAutoplay.ts +39 -0
- package/src/utils/errors.ts +6 -0
- package/src/utils/queryParams.ts +5 -0
- package/src/utils/scripts-load.ts +26 -0
- package/src/utils/types.ts +5 -0
- package/src/utils/utils.ts +64 -0
- package/tsconfig.json +43 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { UICorePlugin, Events } from '@clappr/core';
|
|
2
|
+
import assert from 'assert';
|
|
3
|
+
assert(process.env.CLAPPR_VERSION, 'CLAPPR_VERSION is required');
|
|
4
|
+
const CLAPPR_VERSION = process.env.CLAPPR_VERSION;
|
|
5
|
+
export default class DisableControls extends UICorePlugin {
|
|
6
|
+
get name() {
|
|
7
|
+
return 'disable-controls';
|
|
8
|
+
}
|
|
9
|
+
get container() {
|
|
10
|
+
return this.core && this.core.activeContainer;
|
|
11
|
+
}
|
|
12
|
+
get supportedVersion() {
|
|
13
|
+
return { min: CLAPPR_VERSION };
|
|
14
|
+
}
|
|
15
|
+
bindEvents() {
|
|
16
|
+
if (this.container) {
|
|
17
|
+
this.listenTo(this.container, Events.CONTAINER_MEDIACONTROL_ENABLE, this.enableControls);
|
|
18
|
+
this.listenTo(this.container, Events.CONTAINER_PLAY, this.enableControls);
|
|
19
|
+
this.listenTo(this.container, Events.CONTAINER_PAUSE, this.enableControls);
|
|
20
|
+
this.listenTo(this.container, Events.CONTAINER_STOP, this.enableControls);
|
|
21
|
+
this.listenTo(this.container, Events.CONTAINER_ENDED, this.enableControls);
|
|
22
|
+
this.listenTo(this.container, 'container:advertisement:start', this.enableControls);
|
|
23
|
+
}
|
|
24
|
+
this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
|
|
25
|
+
this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_SHOW, this.enableControls);
|
|
26
|
+
this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.enableControls);
|
|
27
|
+
}
|
|
28
|
+
unbindEvents() {
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
this.stopListening(this.core, Events.CORE_READY);
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
this.stopListening(this.core.mediaControl, Events.MEDIACONTROL_SHOW);
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
this.stopListening(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED);
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
this.stopListening(this.container, Events.CONTAINER_MEDIACONTROL_ENABLE);
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
this.stopListening(this.container, Events.CONTAINER_PLAY);
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
this.stopListening(this.container, Events.CONTAINER_PAUSE);
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
this.stopListening(this.container, Events.CONTAINER_STOP);
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
this.stopListening(this.container, Events.CONTAINER_ENDED);
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
this.stopListening(this.container, 'container:advertisement:start');
|
|
47
|
+
}
|
|
48
|
+
setDisableStyles() {
|
|
49
|
+
const css = document.createElement('style');
|
|
50
|
+
const styles = '.control-need-disable { display: none!important; }';
|
|
51
|
+
css.appendChild(document.createTextNode(styles));
|
|
52
|
+
this.core.$el.get(0).appendChild(css);
|
|
53
|
+
}
|
|
54
|
+
onCoreReady() {
|
|
55
|
+
this.setDisableStyles();
|
|
56
|
+
this.bindEvents();
|
|
57
|
+
this.enableControls();
|
|
58
|
+
}
|
|
59
|
+
enableControls() {
|
|
60
|
+
this.disableAllControls();
|
|
61
|
+
}
|
|
62
|
+
disableAllControls() {
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
const spinnerPlugin = this.container.getPlugin('spinner');
|
|
65
|
+
spinnerPlugin?.destroy();
|
|
66
|
+
this.container.disableMediaControl();
|
|
67
|
+
}, 0);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Core, UICorePlugin } from '@clappr/core';
|
|
2
|
+
import '../../../assets/plugins/dvr-controls/dvr_controls.scss';
|
|
3
|
+
export default class DVRControls extends UICorePlugin {
|
|
4
|
+
get template(): any;
|
|
5
|
+
get name(): string;
|
|
6
|
+
get supportedVersion(): {
|
|
7
|
+
min: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
get events(): {
|
|
10
|
+
'click .live-button': string;
|
|
11
|
+
};
|
|
12
|
+
get attributes(): {
|
|
13
|
+
class: string;
|
|
14
|
+
'data-dvr-controls': string;
|
|
15
|
+
};
|
|
16
|
+
constructor(core: Core);
|
|
17
|
+
bindEvents(): void;
|
|
18
|
+
private bindCoreEvents;
|
|
19
|
+
private bindContainerEvents;
|
|
20
|
+
private containerChanged;
|
|
21
|
+
private dvrChanged;
|
|
22
|
+
click(): void;
|
|
23
|
+
settingsUpdate(): void;
|
|
24
|
+
shouldRender(): boolean;
|
|
25
|
+
render(): this;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=DVRControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DVRControls.d.ts","sourceRoot":"","sources":["../../../src/plugins/dvr-controls/DVRControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,YAAY,EAAY,MAAM,cAAc,CAAC;AAG9E,OAAO,wDAAwD,CAAC;AAEhE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,IAAI,QAAQ,QAEX;IAED,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,IAAI,MAAM;;MAIT;IAED,IAAI,UAAU;;;MAKb;gBAEW,IAAI,EAAE,IAAI;IAKtB,UAAU;IASV,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,UAAU;IAkBlB,KAAK;IAaL,cAAc;IAWd,YAAY;IAMZ,MAAM;CAYP"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Events, Playback, UICorePlugin, template } from '@clappr/core';
|
|
2
|
+
import dvrHTML from '../../../assets/plugins/dvr-controls/index.ejs';
|
|
3
|
+
import '../../../assets/plugins/dvr-controls/dvr_controls.scss';
|
|
4
|
+
export default class DVRControls extends UICorePlugin {
|
|
5
|
+
get template() {
|
|
6
|
+
return template(dvrHTML);
|
|
7
|
+
}
|
|
8
|
+
get name() {
|
|
9
|
+
return 'dvr_controls';
|
|
10
|
+
}
|
|
11
|
+
get supportedVersion() {
|
|
12
|
+
return { min: process.env.CLAPPR_VERSION };
|
|
13
|
+
}
|
|
14
|
+
get events() {
|
|
15
|
+
return {
|
|
16
|
+
'click .live-button': 'click'
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
get attributes() {
|
|
20
|
+
return {
|
|
21
|
+
'class': 'dvr-controls',
|
|
22
|
+
'data-dvr-controls': ''
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
constructor(core) {
|
|
26
|
+
super(core);
|
|
27
|
+
this.settingsUpdate();
|
|
28
|
+
}
|
|
29
|
+
bindEvents() {
|
|
30
|
+
this.bindCoreEvents();
|
|
31
|
+
this.bindContainerEvents();
|
|
32
|
+
if (this.core.activeContainer) {
|
|
33
|
+
this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
bindCoreEvents() {
|
|
37
|
+
if (this.core.mediaControl.settings) {
|
|
38
|
+
this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.containerChanged);
|
|
39
|
+
this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);
|
|
40
|
+
this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
setTimeout(() => this.bindCoreEvents(), 100);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
bindContainerEvents() {
|
|
47
|
+
if (this.core.activeContainer) {
|
|
48
|
+
this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);
|
|
49
|
+
this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
containerChanged() {
|
|
53
|
+
// @ts-ignore
|
|
54
|
+
this.stopListening();
|
|
55
|
+
this.bindEvents();
|
|
56
|
+
}
|
|
57
|
+
dvrChanged(dvrEnabled) {
|
|
58
|
+
if (this.core.getPlaybackType() !== Playback.LIVE) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.settingsUpdate();
|
|
62
|
+
this.core.mediaControl.$el.addClass('live');
|
|
63
|
+
if (dvrEnabled) {
|
|
64
|
+
this.core.mediaControl.$playbackRate.removeClass('playbackrate-enable');
|
|
65
|
+
this.core.mediaControl.$el
|
|
66
|
+
.addClass('dvr')
|
|
67
|
+
.find('.media-control-indicator[data-position], .media-control-indicator[data-duration]')
|
|
68
|
+
.hide();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.core.mediaControl.$playbackRate.addClass('playbackrate-enable');
|
|
72
|
+
this.core.mediaControl.$el.removeClass('dvr');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
click() {
|
|
76
|
+
const mediaControl = this.core.mediaControl;
|
|
77
|
+
const container = mediaControl.container;
|
|
78
|
+
if (!container.isPlaying()) {
|
|
79
|
+
container.play();
|
|
80
|
+
}
|
|
81
|
+
if (mediaControl.$el.hasClass('dvr')) {
|
|
82
|
+
container.seek(container.getDuration());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
settingsUpdate() {
|
|
86
|
+
// @ts-ignore
|
|
87
|
+
this.stopListening();
|
|
88
|
+
this.core.mediaControl.$el.removeClass('live');
|
|
89
|
+
if (this.shouldRender()) {
|
|
90
|
+
this.render();
|
|
91
|
+
this.$el.click(() => this.click());
|
|
92
|
+
}
|
|
93
|
+
this.bindEvents();
|
|
94
|
+
}
|
|
95
|
+
shouldRender() {
|
|
96
|
+
const useDvrControls = this.core.options.useDvrControls === undefined || !!this.core.options.useDvrControls;
|
|
97
|
+
return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
|
|
98
|
+
}
|
|
99
|
+
render() {
|
|
100
|
+
this.$el.html(this.template({
|
|
101
|
+
live: this.core.i18n.t('live'),
|
|
102
|
+
backToLive: this.core.i18n.t('back_to_live')
|
|
103
|
+
}));
|
|
104
|
+
if (this.shouldRender()) {
|
|
105
|
+
this.core.mediaControl.$el.addClass('live');
|
|
106
|
+
this.core.mediaControl.$('.media-control-left-panel[data-media-control]').append(this.$el);
|
|
107
|
+
}
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { HTML5Video } from '@clappr/core';
|
|
2
|
+
import HLSJS, { HlsEvents, type HlsErrorData, type FragChangedData, type FragLoadedData, type FragParsingMetadataData, type LevelSwitchingData } from 'hls.js';
|
|
3
|
+
import { PlaybackType } from '../../types';
|
|
4
|
+
type ErrorInfo = Record<string, unknown>;
|
|
5
|
+
export default class HlsPlayback extends HTML5Video {
|
|
6
|
+
private _ccIsSetup;
|
|
7
|
+
private _ccTracksUpdated;
|
|
8
|
+
private _currentFragment;
|
|
9
|
+
private _currentLevel;
|
|
10
|
+
private _durationExcludesAfterLiveSyncPoint;
|
|
11
|
+
private _extrapolatedWindowNumSegments;
|
|
12
|
+
private highDefinition;
|
|
13
|
+
private _hls;
|
|
14
|
+
private _isReadyState;
|
|
15
|
+
private _lastDuration;
|
|
16
|
+
private _lastTimeUpdate;
|
|
17
|
+
private _levels;
|
|
18
|
+
private _localStartTimeCorrelation;
|
|
19
|
+
private _localEndTimeCorrelation;
|
|
20
|
+
private _manifestParsed;
|
|
21
|
+
private _playableRegionDuration;
|
|
22
|
+
private _playbackType;
|
|
23
|
+
private _playlistType;
|
|
24
|
+
private _playableRegionStartTime;
|
|
25
|
+
private _programDateTime;
|
|
26
|
+
private _recoverAttemptsRemaining;
|
|
27
|
+
private _recoveredAudioCodecError;
|
|
28
|
+
private _recoveredDecodingError;
|
|
29
|
+
private _segmentTargetDuration;
|
|
30
|
+
private _timeUpdateTimer;
|
|
31
|
+
get name(): string;
|
|
32
|
+
get supportedVersion(): {
|
|
33
|
+
min: string;
|
|
34
|
+
};
|
|
35
|
+
get levels(): any[];
|
|
36
|
+
get currentLevel(): number;
|
|
37
|
+
get isReady(): boolean;
|
|
38
|
+
set currentLevel(id: number);
|
|
39
|
+
get latency(): number;
|
|
40
|
+
get currentProgramDateTime(): Date;
|
|
41
|
+
get _startTime(): number;
|
|
42
|
+
get _now(): number;
|
|
43
|
+
get _extrapolatedStartTime(): number;
|
|
44
|
+
get _extrapolatedEndTime(): number;
|
|
45
|
+
get _duration(): number;
|
|
46
|
+
get _extrapolatedWindowDuration(): number;
|
|
47
|
+
get bandwidthEstimate(): number | null;
|
|
48
|
+
get defaultOptions(): {
|
|
49
|
+
preload: boolean;
|
|
50
|
+
};
|
|
51
|
+
get customListeners(): any;
|
|
52
|
+
get sourceMedia(): any;
|
|
53
|
+
get currentTimestamp(): number | null;
|
|
54
|
+
static get HLSJS(): typeof HLSJS;
|
|
55
|
+
constructor(...args: any[]);
|
|
56
|
+
_setInitialState(): void;
|
|
57
|
+
_setup(): void;
|
|
58
|
+
_destroyHLSInstance(): void;
|
|
59
|
+
_createHLSInstance(): void;
|
|
60
|
+
_attachHLSMedia(): void;
|
|
61
|
+
_listenHLSEvents(): void;
|
|
62
|
+
bindCustomListeners(): void;
|
|
63
|
+
unbindCustomListeners(): void;
|
|
64
|
+
_onFragmentParsingMetadata(evt: HlsEvents.FRAG_PARSING_METADATA, data: FragParsingMetadataData): void;
|
|
65
|
+
render(): import("@clappr/core").UIObject;
|
|
66
|
+
_ready(): void;
|
|
67
|
+
_recover(evt: HlsEvents.ERROR, data: HlsErrorData, error: ErrorInfo): void;
|
|
68
|
+
_setupSrc(srcUrl: string): void;
|
|
69
|
+
_startTimeUpdateTimer(): void;
|
|
70
|
+
_stopTimeUpdateTimer(): void;
|
|
71
|
+
getProgramDateTime(): string | null;
|
|
72
|
+
getDuration(): number;
|
|
73
|
+
getCurrentTime(): number;
|
|
74
|
+
getStartTimeOffset(): number;
|
|
75
|
+
seekPercentage(percentage: number): void;
|
|
76
|
+
seek(time: number): void;
|
|
77
|
+
seekToLivePoint(): void;
|
|
78
|
+
_updateDvr(status: boolean): void;
|
|
79
|
+
_updateSettings(): void;
|
|
80
|
+
_onHLSJSError(evt: HlsEvents.ERROR, data: HlsErrorData): void;
|
|
81
|
+
_keyIsDenied(data: HlsErrorData): boolean | 0 | undefined;
|
|
82
|
+
_onTimeUpdate(): void;
|
|
83
|
+
_onDurationChange(): void;
|
|
84
|
+
_onProgress(): void;
|
|
85
|
+
load(url: string): void;
|
|
86
|
+
play(): void;
|
|
87
|
+
pause(): void;
|
|
88
|
+
stop(): void;
|
|
89
|
+
destroy(): import("@clappr/core").UIObject;
|
|
90
|
+
private _updatePlaybackType;
|
|
91
|
+
private _fillLevels;
|
|
92
|
+
private _onLevelUpdated;
|
|
93
|
+
_onFragmentChanged(evt: HlsEvents.FRAG_CHANGED, data: FragChangedData): void;
|
|
94
|
+
_onFragmentLoaded(evt: HlsEvents.FRAG_LOADED, data: FragLoadedData): void;
|
|
95
|
+
_onSubtitleLoaded(): void;
|
|
96
|
+
_onLevelSwitch(evt: HlsEvents.LEVEL_SWITCHING, data: LevelSwitchingData): void;
|
|
97
|
+
get dvrEnabled(): boolean;
|
|
98
|
+
getPlaybackType(): PlaybackType;
|
|
99
|
+
isSeekEnabled(): boolean;
|
|
100
|
+
}
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=HlsPlayback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HlsPlayback.d.ts","sourceRoot":"","sources":["../../../src/plugins/hls-playback/HlsPlayback.ts"],"names":[],"mappings":"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"}
|