@gcorevideo/player 2.20.22 → 2.21.3
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/audio-selector/style.scss +48 -82
- package/assets/audio-selector/track-selector.ejs +3 -3
- package/assets/bottom-gear/bottomgear.ejs +10 -12
- package/assets/bottom-gear/gear-sub-menu.scss +0 -15
- package/assets/bottom-gear/gear.scss +3 -32
- package/assets/media-control/media-control.ejs +5 -25
- package/assets/media-control/media-control.scss +114 -34
- package/assets/media-control/width370.scss +35 -109
- package/assets/picture-in-picture/button.ejs +1 -1
- package/assets/picture-in-picture/button.scss +5 -4
- package/assets/subtitles/combobox.ejs +7 -9
- package/assets/subtitles/style.scss +8 -15
- package/dist/core.js +151 -23
- package/dist/index.css +897 -1000
- package/dist/index.js +416 -438
- package/dist/player.d.ts +19 -16
- package/dist/plugins/index.css +1454 -1557
- package/dist/plugins/index.js +826 -23550
- package/docs/api/player.audioselector.md +4 -59
- package/docs/api/player.md +1 -1
- package/docs/api/player.mediacontrol.getelement.md +5 -0
- package/docs/api/player.mediacontrol.md +14 -0
- package/docs/api/{player.audioselector.updatecurrenttrack.md → player.mediacontrol.putelement.md} +7 -7
- package/docs/api/player.mediacontrolelement.md +1 -1
- package/docs/api/{player.audioselector.starttrackswitch.md → player.pictureinpicture.attributes.md} +5 -7
- package/docs/api/player.pictureinpicture.md +45 -0
- package/lib/playback/BasePlayback.d.ts +1 -1
- package/lib/playback/BasePlayback.d.ts.map +1 -1
- package/lib/playback/BasePlayback.js +3 -1
- package/lib/playback/HTML5Video.d.ts +4 -0
- package/lib/playback/HTML5Video.d.ts.map +1 -1
- package/lib/playback/HTML5Video.js +53 -4
- package/lib/playback/dash-playback/DashPlayback.d.ts +5 -0
- package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/playback/dash-playback/DashPlayback.js +48 -4
- package/lib/playback/hls-playback/HlsPlayback.d.ts +31 -25
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +47 -14
- package/lib/playback.types.d.ts +5 -0
- package/lib/playback.types.d.ts.map +1 -1
- package/lib/plugins/audio-selector/AudioSelector.d.ts +12 -11
- package/lib/plugins/audio-selector/AudioSelector.d.ts.map +1 -1
- package/lib/plugins/audio-selector/AudioSelector.js +65 -185
- package/lib/plugins/bottom-gear/BottomGear.d.ts +2 -2
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
- package/lib/plugins/bottom-gear/BottomGear.js +12 -10
- package/lib/plugins/level-selector/LevelSelector.js +1 -1
- package/lib/plugins/media-control/MediaControl.d.ts +3 -4
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +23 -13
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +3 -0
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts.map +1 -1
- package/lib/plugins/picture-in-picture/PictureInPicture.js +6 -1
- package/lib/plugins/playback-rate/PlaybackRate.d.ts +1 -0
- package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
- package/lib/plugins/playback-rate/PlaybackRate.js +1 -0
- package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
- package/lib/plugins/source-controller/SourceController.js +0 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +0 -2
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +1 -18
- package/lib/plugins/subtitles/Subtitles.d.ts +21 -19
- package/lib/plugins/subtitles/Subtitles.d.ts.map +1 -1
- package/lib/plugins/subtitles/Subtitles.js +121 -151
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +2 -0
- package/package.json +1 -1
- package/src/playback/BasePlayback.ts +4 -1
- package/src/playback/HTML5Video.ts +57 -4
- package/src/playback/dash-playback/DashPlayback.ts +64 -6
- package/src/playback/hls-playback/HlsPlayback.ts +82 -40
- package/src/playback.types.ts +6 -0
- package/src/plugins/audio-selector/AudioSelector.ts +84 -278
- package/src/plugins/bottom-gear/BottomGear.ts +14 -11
- package/src/plugins/bottom-gear/__tests__/BottomGear.test.ts +1 -3
- package/src/plugins/bottom-gear/__tests__/__snapshots__/BottomGear.test.ts.snap +14 -37
- package/src/plugins/level-selector/LevelSelector.ts +1 -1
- package/src/plugins/media-control/MediaControl.ts +54 -32
- package/src/plugins/picture-in-picture/PictureInPicture.ts +7 -1
- package/src/plugins/playback-rate/PlaybackRate.ts +1 -0
- package/src/plugins/source-controller/SourceController.ts +0 -1
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +1 -20
- package/src/plugins/subtitles/Subtitles.ts +144 -179
- package/src/testUtils.ts +2 -0
- package/src/typings/globals.d.ts +19 -0
- package/temp/player.api.json +102 -143
- package/tsconfig.tsbuildinfo +1 -1
- package/assets/media-control/plugins.scss +0 -94
- package/docs/api/player.audioselector.highlightcurrenttrack.md +0 -18
|
@@ -10,6 +10,7 @@ import gearHdIcon from '../../../assets/icons/new/gear-hd.svg';
|
|
|
10
10
|
import { MediaControlEvents } from '../media-control/MediaControl';
|
|
11
11
|
const VERSION = '2.19.12';
|
|
12
12
|
const T = 'plugins.bottom_gear';
|
|
13
|
+
// TODO disabled if no items added
|
|
13
14
|
/**
|
|
14
15
|
* `PLUGIN` that adds the gear button with an extra options menu on the right side of the {@link MediaControl | media control} UI
|
|
15
16
|
* @beta
|
|
@@ -18,7 +19,7 @@ const T = 'plugins.bottom_gear';
|
|
|
18
19
|
*
|
|
19
20
|
* Depends on:
|
|
20
21
|
*
|
|
21
|
-
* - {@link MediaControl
|
|
22
|
+
* - {@link MediaControl}
|
|
22
23
|
*/
|
|
23
24
|
export class BottomGear extends UICorePlugin {
|
|
24
25
|
isHd = false;
|
|
@@ -46,8 +47,7 @@ export class BottomGear extends UICorePlugin {
|
|
|
46
47
|
*/
|
|
47
48
|
get attributes() {
|
|
48
49
|
return {
|
|
49
|
-
'class':
|
|
50
|
-
'data-track-selector': ''
|
|
50
|
+
'class': 'media-control-gear',
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
@@ -62,18 +62,15 @@ export class BottomGear extends UICorePlugin {
|
|
|
62
62
|
* @internal
|
|
63
63
|
*/
|
|
64
64
|
bindEvents() {
|
|
65
|
-
|
|
66
|
-
assert(mediaControl, 'media_control plugin is required');
|
|
65
|
+
this.listenTo(this.core, ClapprEvents.CORE_READY, this.onCoreReady);
|
|
67
66
|
this.listenTo(this.core, ClapprEvents.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
|
|
68
|
-
this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_RENDERED, this.render);
|
|
69
|
-
this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
|
|
70
67
|
}
|
|
71
68
|
/**
|
|
72
69
|
* @param name - Name of a gear menu placeholder item to attach custom UI
|
|
73
70
|
* @returns Zepto result of the element
|
|
74
71
|
*/
|
|
75
72
|
getElement(name) {
|
|
76
|
-
return this.
|
|
73
|
+
return this.$el.find(`.gear-options-list [data-${name}]`);
|
|
77
74
|
}
|
|
78
75
|
/**
|
|
79
76
|
* Replaces the content of the gear menu
|
|
@@ -100,7 +97,6 @@ export class BottomGear extends UICorePlugin {
|
|
|
100
97
|
*/
|
|
101
98
|
render() {
|
|
102
99
|
const mediaControl = this.core.getPlugin('media_control');
|
|
103
|
-
assert(mediaControl, 'media_control plugin is required');
|
|
104
100
|
// TODO use options.mediaControl.gear.items
|
|
105
101
|
const items = [
|
|
106
102
|
'quality',
|
|
@@ -109,7 +105,7 @@ export class BottomGear extends UICorePlugin {
|
|
|
109
105
|
];
|
|
110
106
|
const icon = this.isHd ? gearHdIcon : gearIcon;
|
|
111
107
|
this.$el.html(BottomGear.template({ icon, items }));
|
|
112
|
-
mediaControl.
|
|
108
|
+
mediaControl.putElement('gear', this.$el);
|
|
113
109
|
mediaControl.trigger(MediaControlEvents.MEDIACONTROL_GEAR_RENDERED);
|
|
114
110
|
return this;
|
|
115
111
|
}
|
|
@@ -128,4 +124,10 @@ export class BottomGear extends UICorePlugin {
|
|
|
128
124
|
hide() {
|
|
129
125
|
this.$el.find('.gear-wrapper').hide();
|
|
130
126
|
}
|
|
127
|
+
onCoreReady() {
|
|
128
|
+
const mediaControl = this.core.getPlugin('media_control');
|
|
129
|
+
assert(mediaControl, 'media_control plugin is required');
|
|
130
|
+
this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_RENDERED, this.render);
|
|
131
|
+
this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
|
|
132
|
+
}
|
|
131
133
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { UICorePlugin, Core } from '@clappr/core';
|
|
2
2
|
import { ZeptoResult } from '../../types.js';
|
|
3
3
|
import '../../../assets/media-control/media-control.scss';
|
|
4
|
-
import '../../../assets/media-control/plugins.scss';
|
|
5
4
|
/**
|
|
6
5
|
* Media control elements, mount points for additional plugins
|
|
7
6
|
* @beta
|
|
8
7
|
*/
|
|
9
|
-
export type MediaControlElement = 'audioTracksSelector' | '
|
|
8
|
+
export type MediaControlElement = 'audioTracksSelector' | 'clipText' | 'gear' | 'pip' | 'playbackRate' | 'seekBarContainer' | 'subtitlesSelector';
|
|
10
9
|
/**
|
|
11
10
|
* Custom events emitted by the plugins to communicate with one another
|
|
12
11
|
* @beta
|
|
@@ -51,7 +50,6 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
51
50
|
private userKeepVisible;
|
|
52
51
|
private verticalVolume;
|
|
53
52
|
private $audioTracksSelector;
|
|
54
|
-
private $bottomGear;
|
|
55
53
|
private $clipText;
|
|
56
54
|
private $clipTextContainer;
|
|
57
55
|
private $duration;
|
|
@@ -67,7 +65,6 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
67
65
|
private $seekBarLoaded;
|
|
68
66
|
private $seekBarPosition;
|
|
69
67
|
private $seekBarScrubber;
|
|
70
|
-
private $subtitlesSelector;
|
|
71
68
|
private $volumeBarContainer;
|
|
72
69
|
private $volumeBarBackground;
|
|
73
70
|
private $volumeBarFill;
|
|
@@ -217,6 +214,7 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
217
214
|
* Get a media control element DOM node
|
|
218
215
|
* @param name - The name of the media control element
|
|
219
216
|
* @returns The DOM node to render to or extend
|
|
217
|
+
* @deprecated Use {@link MediaControl.putElement} instead
|
|
220
218
|
* @remarks
|
|
221
219
|
* Use this method to render custom media control UI in a plugin
|
|
222
220
|
* @example
|
|
@@ -232,6 +230,7 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
232
230
|
* ```
|
|
233
231
|
*/
|
|
234
232
|
getElement(name: MediaControlElement): ZeptoResult | null;
|
|
233
|
+
putElement(name: MediaControlElement, element: ZeptoResult): void;
|
|
235
234
|
/**
|
|
236
235
|
* Get the right panel area to append custom elements to
|
|
237
236
|
* @returns ZeptoSelector of the right panel element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,YAAY,EAMZ,IAAI,EACL,MAAM,cAAc,CAAA;AASrB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,kDAAkD,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ import { Kibo } from '../kibo/index.js';
|
|
|
11
11
|
import { CLAPPR_VERSION } from '../../build.js';
|
|
12
12
|
import { getPageX, isFullscreen } from '../utils.js';
|
|
13
13
|
import '../../../assets/media-control/media-control.scss';
|
|
14
|
-
import '../../../assets/media-control/plugins.scss';
|
|
15
14
|
import mediaControlHTML from '../../../assets/media-control/media-control.ejs';
|
|
16
15
|
import playIcon from '../../../assets/icons/new/play.svg';
|
|
17
16
|
import pauseIcon from '../../../assets/icons/new/pause.svg';
|
|
@@ -81,7 +80,6 @@ export class MediaControl extends UICorePlugin {
|
|
|
81
80
|
userKeepVisible = false;
|
|
82
81
|
verticalVolume = false;
|
|
83
82
|
$audioTracksSelector = null;
|
|
84
|
-
$bottomGear = null;
|
|
85
83
|
$clipText = null;
|
|
86
84
|
$clipTextContainer = null;
|
|
87
85
|
$duration = null;
|
|
@@ -97,7 +95,6 @@ export class MediaControl extends UICorePlugin {
|
|
|
97
95
|
$seekBarLoaded = null;
|
|
98
96
|
$seekBarPosition = null;
|
|
99
97
|
$seekBarScrubber = null;
|
|
100
|
-
$subtitlesSelector = null;
|
|
101
98
|
$volumeBarContainer = null;
|
|
102
99
|
$volumeBarBackground = null;
|
|
103
100
|
$volumeBarFill = null;
|
|
@@ -118,7 +115,8 @@ export class MediaControl extends UICorePlugin {
|
|
|
118
115
|
return { min: CLAPPR_VERSION };
|
|
119
116
|
}
|
|
120
117
|
get disabled() {
|
|
121
|
-
const playbackIsNOOP = this.core.activeContainer &&
|
|
118
|
+
const playbackIsNOOP = this.core.activeContainer &&
|
|
119
|
+
this.core.activeContainer.getPlaybackType() === Playback.NO_OP;
|
|
122
120
|
return this.userDisabled || playbackIsNOOP;
|
|
123
121
|
}
|
|
124
122
|
/**
|
|
@@ -778,10 +776,6 @@ export class MediaControl extends UICorePlugin {
|
|
|
778
776
|
this.$volumeBarBackground = this.$el.find('.bar-background[data-volume]');
|
|
779
777
|
this.$volumeBarFill = this.$el.find('.bar-fill-1[data-volume]');
|
|
780
778
|
this.$volumeBarScrubber = this.$el.find('.bar-scrubber[data-volume]');
|
|
781
|
-
this.$bottomGear = this.$el.find('.media-control-bottomgear');
|
|
782
|
-
this.$pip = this.$el.find('.media-control-pip');
|
|
783
|
-
this.$audioTracksSelector = this.$el.find('.media-control-audio-tracks[data-audiotracks]');
|
|
784
|
-
this.$subtitlesSelector = this.$el.find('.media-control-subtitles[data-subtitles]');
|
|
785
779
|
this.$playbackRate = this.$el.find('.media-control-playbackrate[data-playbackrate]');
|
|
786
780
|
this.$multiCameraSelector = this.$el.find('.media-control-multicamera[data-multicamera]');
|
|
787
781
|
this.$clipText = this.$el.find('.media-clip-text[data-clipstext]');
|
|
@@ -793,6 +787,7 @@ export class MediaControl extends UICorePlugin {
|
|
|
793
787
|
* Get a media control element DOM node
|
|
794
788
|
* @param name - The name of the media control element
|
|
795
789
|
* @returns The DOM node to render to or extend
|
|
790
|
+
* @deprecated Use {@link MediaControl.putElement} instead
|
|
796
791
|
* @remarks
|
|
797
792
|
* Use this method to render custom media control UI in a plugin
|
|
798
793
|
* @example
|
|
@@ -810,20 +805,35 @@ export class MediaControl extends UICorePlugin {
|
|
|
810
805
|
getElement(name) {
|
|
811
806
|
switch (name) {
|
|
812
807
|
case 'audioTracksSelector':
|
|
813
|
-
return
|
|
808
|
+
return null;
|
|
814
809
|
case 'clipText':
|
|
815
810
|
return this.$clipText;
|
|
816
|
-
case 'bottomGear':
|
|
817
811
|
case 'gear':
|
|
818
|
-
return
|
|
812
|
+
return null;
|
|
819
813
|
case 'pip':
|
|
820
|
-
return
|
|
814
|
+
return null;
|
|
821
815
|
case 'playbackRate':
|
|
822
816
|
return this.$playbackRate;
|
|
823
817
|
case 'seekBarContainer':
|
|
824
818
|
return this.$seekBarContainer;
|
|
825
819
|
case 'subtitlesSelector':
|
|
826
|
-
return
|
|
820
|
+
return null;
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
putElement(name, element) {
|
|
824
|
+
switch (name) {
|
|
825
|
+
case 'audioTracksSelector':
|
|
826
|
+
this.getRightPanel().append(element);
|
|
827
|
+
break;
|
|
828
|
+
case 'gear':
|
|
829
|
+
this.getRightPanel().append(element);
|
|
830
|
+
break;
|
|
831
|
+
case 'pip':
|
|
832
|
+
this.getRightPanel().append(element);
|
|
833
|
+
break;
|
|
834
|
+
case 'subtitlesSelector':
|
|
835
|
+
this.getRightPanel().append(element);
|
|
836
|
+
break;
|
|
827
837
|
}
|
|
828
838
|
}
|
|
829
839
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PictureInPicture.d.ts","sourceRoot":"","sources":["../../../src/plugins/picture-in-picture/PictureInPicture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAO9D,OAAO,gDAAgD,CAAC;AAMxD;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IACM,UAAU;IAInB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACM,MAAM;IAiBf,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;CAI7B"}
|
|
1
|
+
{"version":3,"file":"PictureInPicture.d.ts","sourceRoot":"","sources":["../../../src/plugins/picture-in-picture/PictureInPicture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAC;AAO9D,OAAO,gDAAgD,CAAC;AAMxD;;;;;;;;;GASG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,IAAa,UAAU;;MAItB;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IACM,UAAU;IAInB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACM,MAAM;IAiBf,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;CAI7B"}
|
|
@@ -43,6 +43,11 @@ export class PictureInPicture extends UICorePlugin {
|
|
|
43
43
|
'click button': 'togglePictureInPicture',
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
get attributes() {
|
|
47
|
+
return {
|
|
48
|
+
'class': 'media-control-pip',
|
|
49
|
+
};
|
|
50
|
+
}
|
|
46
51
|
get videoElement() {
|
|
47
52
|
return this.core.activePlayback.el;
|
|
48
53
|
}
|
|
@@ -70,7 +75,7 @@ export class PictureInPicture extends UICorePlugin {
|
|
|
70
75
|
this.$el.html(t({ pipIcon }));
|
|
71
76
|
const mediaControl = this.core.getPlugin('media_control');
|
|
72
77
|
if (mediaControl) {
|
|
73
|
-
mediaControl.
|
|
78
|
+
mediaControl.putElement('pip', this.el);
|
|
74
79
|
}
|
|
75
80
|
return this;
|
|
76
81
|
}
|
|
@@ -11,6 +11,7 @@ import { UICorePlugin, Core } from '@clappr/core';
|
|
|
11
11
|
* - {@link BottomGear | bottom_gear}
|
|
12
12
|
*
|
|
13
13
|
* It renders a button in the gear menu, which opens a dropdown with the options to change the playback rate.
|
|
14
|
+
* Note that the playback rate change is supported only for VOD or DVR enabled live streams.
|
|
14
15
|
*/
|
|
15
16
|
export declare class PlaybackRate extends UICorePlugin {
|
|
16
17
|
private playbackRates;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAC;AAoC9E
|
|
1
|
+
{"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAC;AAoC9E;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,aAAa,CAAgD;IAGrE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAE9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAE9C,IAAI,EAAE,IAAI;IAMtB;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IAKnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACM,MAAM;IA6Bf,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,oBAAoB;CAS7B"}
|
|
@@ -33,6 +33,7 @@ const T = 'plugins.playback_rate';
|
|
|
33
33
|
* - {@link BottomGear | bottom_gear}
|
|
34
34
|
*
|
|
35
35
|
* It renders a button in the gear menu, which opens a dropdown with the options to change the playback rate.
|
|
36
|
+
* Note that the playback rate change is supported only for VOD or DVR enabled live streams.
|
|
36
37
|
*/
|
|
37
38
|
export class PlaybackRate extends UICorePlugin {
|
|
38
39
|
playbackRates = DEFAULT_PLAYBACK_RATES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;AAwBrB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAuC9C,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,kBAAkB,CAAI;IAE9B,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,IAAI,CAAiB;IAE7B;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;gBACS,IAAI,EAAE,UAAU;IAW5B;;OAEG;IACM,UAAU;IAWnB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;AAwBrB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAuC9C,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,kBAAkB,CAAI;IAE9B,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,IAAI,CAAiB;IAE7B;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;gBACS,IAAI,EAAE,UAAU;IAW5B;;OAEG;IACM,UAAU;IAWnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;CACF"}
|
|
@@ -110,7 +110,6 @@ export class SourceController extends CorePlugin {
|
|
|
110
110
|
onCoreReady() {
|
|
111
111
|
trace(`${T} onCoreReady`);
|
|
112
112
|
this.core.getPlugin('error_screen')?.disable(); // TODO test
|
|
113
|
-
// this.core.getPlugin('spinner')?.showOnError()
|
|
114
113
|
}
|
|
115
114
|
onActiveContainerChanged() {
|
|
116
115
|
trace(`${T} onActiveContainerChanged`, {
|
|
@@ -42,9 +42,7 @@ export declare class SpinnerThreeBounce extends UIContainerPlugin {
|
|
|
42
42
|
private template;
|
|
43
43
|
private hasFatalError;
|
|
44
44
|
private hasBuffering;
|
|
45
|
-
private _showOnError;
|
|
46
45
|
constructor(container: Container);
|
|
47
|
-
showOnError(): void;
|
|
48
46
|
private onBuffering;
|
|
49
47
|
private onBufferFull;
|
|
50
48
|
private onPlay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinnerThreeBounce.d.ts","sourceRoot":"","sources":["../../../src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EAET,iBAAiB,EAElB,MAAM,cAAc,CAAA;AAKrB,OAAO,mDAAmD,CAAA;AAM1D;;;GAGG;AACH,oBAAY,aAAa;IACvB;;;OAGG;IACH,IAAI,yBAAyB;CAC9B;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,SAAS,CAAQ;IAEzB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAuB;IAE1C,OAAO,CAAC,QAAQ,CAAwB;IAExC,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,YAAY,CAAQ;
|
|
1
|
+
{"version":3,"file":"SpinnerThreeBounce.d.ts","sourceRoot":"","sources":["../../../src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EAET,iBAAiB,EAElB,MAAM,cAAc,CAAA;AAKrB,OAAO,mDAAmD,CAAA;AAM1D;;;GAGG;AACH,oBAAY,aAAa;IACvB;;;OAGG;IACH,IAAI,yBAAyB;CAC9B;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,SAAS,CAAQ;IAEzB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAuB;IAE1C,OAAO,CAAC,QAAQ,CAAwB;IAExC,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,SAAS,EAAE,SAAS;IAmBhC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAUf;;;;OAIG;IACH,IAAI,CAAC,KAAK,SAAM;IAMhB;;OAEG;IACH,IAAI;IAKJ,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,KAAK;IAeb;;OAEG;IACM,MAAM;CAiBhB"}
|
|
@@ -55,7 +55,6 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
|
|
|
55
55
|
template = template(spinnerHTML);
|
|
56
56
|
hasFatalError = false;
|
|
57
57
|
hasBuffering = false;
|
|
58
|
-
_showOnError = false;
|
|
59
58
|
constructor(container) {
|
|
60
59
|
super(container);
|
|
61
60
|
this.listenTo(this.container, ClapprEvents.CONTAINER_STATE_BUFFERING, this.onBuffering);
|
|
@@ -66,9 +65,6 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
|
|
|
66
65
|
this.listenTo(this.container, ClapprEvents.CONTAINER_ERROR, this.onError);
|
|
67
66
|
this.listenTo(this.container, ClapprEvents.CONTAINER_READY, this.render);
|
|
68
67
|
}
|
|
69
|
-
showOnError() {
|
|
70
|
-
this._showOnError = true;
|
|
71
|
-
}
|
|
72
68
|
onBuffering() {
|
|
73
69
|
this.hasBuffering = true;
|
|
74
70
|
this._show();
|
|
@@ -85,27 +81,17 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
|
|
|
85
81
|
}
|
|
86
82
|
onStop() {
|
|
87
83
|
trace(`${T} onStop`, {
|
|
88
|
-
showOnError: this._showOnError,
|
|
89
84
|
hasFatalError: this.hasFatalError,
|
|
90
85
|
});
|
|
91
|
-
// if (!(this.hasFatalError && this._showOnError)) {
|
|
92
|
-
// this._hide()
|
|
93
|
-
// }
|
|
94
86
|
this._hide();
|
|
95
87
|
}
|
|
96
88
|
onError(e) {
|
|
97
89
|
this.hasFatalError = e.code === PlaybackErrorCode.MediaSourceUnavailable;
|
|
98
90
|
trace(`${T} onError`, {
|
|
99
91
|
e,
|
|
100
|
-
showOnError: this._showOnError,
|
|
101
92
|
hasFatalError: this.hasFatalError,
|
|
102
93
|
error: e.code,
|
|
103
94
|
});
|
|
104
|
-
// if (this._showOnError) {
|
|
105
|
-
// this._show()
|
|
106
|
-
// } else {
|
|
107
|
-
// this._hide()
|
|
108
|
-
// }
|
|
109
95
|
this._hide();
|
|
110
96
|
}
|
|
111
97
|
/**
|
|
@@ -151,18 +137,15 @@ export class SpinnerThreeBounce extends UIContainerPlugin {
|
|
|
151
137
|
* @internal
|
|
152
138
|
*/
|
|
153
139
|
render() {
|
|
154
|
-
// TODO control via sourcecontroller instead
|
|
155
|
-
const showOnStart = this.options.spinner?.showOnStart;
|
|
156
140
|
trace(`${T} render`, {
|
|
157
141
|
buffering: this.container.buffering,
|
|
158
|
-
showOnStart,
|
|
159
142
|
});
|
|
160
143
|
this.$el.html(this.template());
|
|
161
144
|
this.el.firstElementChild?.addEventListener('animationiteration', () => {
|
|
162
145
|
this.trigger(SpinnerEvents.SYNC);
|
|
163
146
|
});
|
|
164
147
|
this.container.$el.append(this.$el[0]);
|
|
165
|
-
if (
|
|
148
|
+
if (this.container.buffering) {
|
|
166
149
|
this._show();
|
|
167
150
|
}
|
|
168
151
|
else {
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/subtitles/style.scss';
|
|
3
|
+
export type SubtitlesPluginSettings = {
|
|
4
|
+
/**
|
|
5
|
+
* Initially selected subtitles language
|
|
6
|
+
*/
|
|
7
|
+
language?: string;
|
|
8
|
+
};
|
|
3
9
|
/**
|
|
4
10
|
* `PLUGIN` that provides a UI to select the subtitles when available.
|
|
5
11
|
* @beta
|
|
@@ -9,10 +15,7 @@ import '../../../assets/subtitles/style.scss';
|
|
|
9
15
|
*
|
|
10
16
|
* - {@link MediaControl}
|
|
11
17
|
*
|
|
12
|
-
* Configuration options
|
|
13
|
-
*
|
|
14
|
-
* - subtitles.language - The language of the subtitles to select by default.
|
|
15
|
-
*
|
|
18
|
+
* Configuration options - {@link SubtitlesPluginSettings}
|
|
16
19
|
* @example
|
|
17
20
|
* ```ts
|
|
18
21
|
* import { Subtitles } from '@gcorevideo/player'
|
|
@@ -28,7 +31,6 @@ import '../../../assets/subtitles/style.scss';
|
|
|
28
31
|
* ```
|
|
29
32
|
*/
|
|
30
33
|
export declare class Subtitles extends UICorePlugin {
|
|
31
|
-
private currentLevel;
|
|
32
34
|
private isPreselectedApplied;
|
|
33
35
|
private isShowing;
|
|
34
36
|
private track;
|
|
@@ -69,8 +71,11 @@ export declare class Subtitles extends UICorePlugin {
|
|
|
69
71
|
* @internal
|
|
70
72
|
*/
|
|
71
73
|
bindEvents(): void;
|
|
72
|
-
private
|
|
73
|
-
private
|
|
74
|
+
private onCoreReady;
|
|
75
|
+
private onContainerChanged;
|
|
76
|
+
private onSubtitleAvailable;
|
|
77
|
+
private onSubtitleChanged;
|
|
78
|
+
private applyTracks;
|
|
74
79
|
private onStartAd;
|
|
75
80
|
private onFinishAd;
|
|
76
81
|
private playerResize;
|
|
@@ -88,22 +93,19 @@ export declare class Subtitles extends UICorePlugin {
|
|
|
88
93
|
* @internal
|
|
89
94
|
*/
|
|
90
95
|
render(): this;
|
|
91
|
-
private
|
|
92
|
-
private
|
|
93
|
-
private
|
|
94
|
-
private onLevelSelect;
|
|
96
|
+
private findById;
|
|
97
|
+
private selectItem;
|
|
98
|
+
private onItemSelect;
|
|
95
99
|
private applyPreselectedSubtitles;
|
|
96
|
-
private
|
|
97
|
-
private
|
|
98
|
-
private
|
|
99
|
-
private
|
|
100
|
-
private levelElement;
|
|
101
|
-
private startLevelSwitch;
|
|
102
|
-
private stopLevelSwitch;
|
|
100
|
+
private hideMenu;
|
|
101
|
+
private toggleMenu;
|
|
102
|
+
private itemElement;
|
|
103
|
+
private allItemElements;
|
|
103
104
|
private selectSubtitles;
|
|
105
|
+
private getSubtitleText;
|
|
104
106
|
private setSubtitleText;
|
|
105
107
|
private clearSubtitleText;
|
|
106
|
-
private
|
|
108
|
+
private updateSelection;
|
|
107
109
|
private highlightCurrentSubtitles;
|
|
108
110
|
private renderIcon;
|
|
109
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subtitles.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/Subtitles.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Subtitles.d.ts","sourceRoot":"","sources":["../../../src/plugins/subtitles/Subtitles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAwB,MAAM,cAAc,CAAA;AAOzE,OAAO,sCAAsC,CAAA;AAe7C,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,oBAAoB,CAAQ;IAEpC,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,KAAK,CAA6B;IAE1C,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,OAAO,CAA2B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAE7D;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;MAKlB;IAED,OAAO,KAAK,mBAAmB,GAE9B;IAED;;OAEG;IACM,UAAU;IAUnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,IAAI;IAWJ;;OAEG;IACH,IAAI;IAiBJ,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACM,MAAM;IA0Bf,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,UAAU;CAKnB"}
|