@gcorevideo/player 2.20.9 → 2.20.11
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/dvr-controls/dvr_controls.scss +0 -2
- package/dist/core.js +5 -5
- package/dist/index.css +1212 -1215
- package/dist/index.js +74 -71
- package/dist/player.d.ts +103 -96
- package/dist/plugins/index.css +668 -671
- package/dist/plugins/index.js +69 -67
- package/docs/api/player.audioselector.md +1 -1
- package/docs/api/player.bigmutebutton.md +1 -1
- package/docs/api/player.bottomgear.md +1 -1
- package/docs/api/player.clapprnerdstats.md +1 -1
- package/docs/api/player.clapprstats.md +1 -1
- package/docs/api/player.clicktopause.md +1 -1
- package/docs/api/player.clipsplugin.md +1 -1
- package/docs/api/player.containerpluginconstructor.md +3 -5
- package/docs/api/player.containersize.md +0 -3
- package/docs/api/player.contextmenu.md +1 -1
- package/docs/api/player.corepluginconstructor.md +3 -5
- package/docs/api/player.dashsettings.md +0 -3
- package/docs/api/player.dvrcontrols.md +2 -35
- package/docs/api/player.errorlevel.md +0 -3
- package/docs/api/player.errorscreen.md +1 -1
- package/docs/api/player.favicon.md +1 -1
- package/docs/api/player.googleanalytics.md +1 -1
- package/docs/api/player.langtag.md +0 -3
- package/docs/api/player.levelselector.md +1 -1
- package/docs/api/player.logo.md +1 -1
- package/docs/api/player.md +69 -80
- package/docs/api/player.mediacontrol.md +2 -2
- package/docs/api/player.multicamera.md +1 -1
- package/docs/api/player.pictureinpicture.md +1 -1
- package/docs/api/player.playbackerror.code.md +0 -3
- package/docs/api/player.playbackerror.description.md +0 -3
- package/docs/api/player.playbackerror.level.md +0 -3
- package/docs/api/player.playbackerror.md +8 -11
- package/docs/api/player.playbackerror.message.md +0 -3
- package/docs/api/player.playbackerror.origin.md +0 -3
- package/docs/api/player.playbackerror.scope.md +0 -3
- package/docs/api/player.playbackerror.ui.md +1 -3
- package/docs/api/player.playbackerrorcode.md +3 -6
- package/docs/api/player.playbackmodule.md +0 -3
- package/docs/api/player.playbackrate.md +1 -1
- package/docs/api/player.playbacktype.md +1 -4
- package/docs/api/player.player._constructor_.md +0 -3
- package/docs/api/player.player.attachto.md +0 -3
- package/docs/api/player.player.configure.md +0 -3
- package/docs/api/player.player.destroy.md +0 -3
- package/docs/api/player.player.getcurrenttime.md +0 -3
- package/docs/api/player.player.getduration.md +0 -3
- package/docs/api/player.player.getvolume.md +0 -3
- package/docs/api/player.player.isdvrenabled.md +0 -3
- package/docs/api/player.player.isdvrinuse.md +0 -3
- package/docs/api/player.player.ismuted.md +0 -3
- package/docs/api/player.player.isplaying.md +0 -3
- package/docs/api/player.player.md +25 -28
- package/docs/api/player.player.mute.md +0 -3
- package/docs/api/player.player.off.md +0 -3
- package/docs/api/player.player.on.md +0 -3
- package/docs/api/player.player.pause.md +0 -3
- package/docs/api/player.player.play.md +0 -3
- package/docs/api/player.player.registerplugin.md +0 -3
- package/docs/api/player.player.resize.md +0 -3
- package/docs/api/player.player.seek.md +0 -3
- package/docs/api/player.player.setvolume.md +0 -3
- package/docs/api/player.player.stop.md +0 -3
- package/docs/api/player.player.unmute.md +0 -3
- package/docs/api/player.player.unregisterplugin.md +14 -7
- package/docs/api/player.playercomponenttype.md +0 -3
- package/docs/api/player.playerconfig.autoplay.md +0 -3
- package/docs/api/player.playerconfig.dash.md +0 -3
- package/docs/api/player.playerconfig.debug.md +0 -3
- package/docs/api/player.playerconfig.language.md +0 -3
- package/docs/api/player.playerconfig.loop.md +0 -3
- package/docs/api/player.playerconfig.md +10 -13
- package/docs/api/player.playerconfig.mute.md +0 -3
- package/docs/api/player.playerconfig.playbacktype.md +0 -3
- package/docs/api/player.playerconfig.prioritytransport.md +0 -3
- package/docs/api/player.playerconfig.sources.md +0 -3
- package/docs/api/player.playerconfig.strings.md +0 -3
- package/docs/api/player.playerdebugsettings.md +0 -3
- package/docs/api/player.playerdebugtag.md +0 -3
- package/docs/api/player.playerevent.md +11 -14
- package/docs/api/player.playereventhandler.md +0 -3
- package/docs/api/player.playereventparams.md +0 -3
- package/docs/api/player.playermediasource.md +0 -3
- package/docs/api/player.playermediasourcedesc.md +2 -5
- package/docs/api/player.playermediasourcedesc.mimetype.md +0 -3
- package/docs/api/player.playermediasourcedesc.source.md +0 -3
- package/docs/api/player.playerplugin.md +0 -4
- package/docs/api/player.playerpluginconstructor.md +0 -3
- package/docs/api/player.poster.md +1 -1
- package/docs/api/player.qualitylevel.bitrate.md +0 -3
- package/docs/api/player.qualitylevel.height.md +0 -3
- package/docs/api/player.qualitylevel.level.md +0 -3
- package/docs/api/player.qualitylevel.md +4 -7
- package/docs/api/player.qualitylevel.width.md +0 -3
- package/docs/api/player.seektime.md +1 -1
- package/docs/api/player.share.md +1 -1
- package/docs/api/player.skiptime.md +1 -1
- package/docs/api/player.sourcecontroller.md +1 -1
- package/docs/api/player.spinnerthreebounce.md +1 -1
- package/docs/api/player.subtitles.md +1 -1
- package/docs/api/player.telemetry.md +1 -1
- package/docs/api/player.thumbnails.md +1 -1
- package/docs/api/player.timeposition.current.md +0 -3
- package/docs/api/player.timeposition.md +2 -5
- package/docs/api/player.timeposition.total.md +0 -3
- package/docs/api/player.timevalue.md +0 -3
- package/docs/api/player.translationkey.md +0 -3
- package/docs/api/player.translationsettings.md +0 -3
- package/docs/api/player.transportpreference.md +2 -7
- package/docs/api/player.volumefade.md +1 -1
- package/lib/Player.d.ts +5 -5
- package/lib/Player.js +2 -2
- package/lib/index.d.ts +18 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -1
- package/lib/playback.types.d.ts +8 -7
- package/lib/playback.types.d.ts.map +1 -1
- package/lib/playback.types.js +1 -1
- package/lib/plugins/audio-selector/AudioSelector.d.ts +1 -1
- package/lib/plugins/audio-selector/AudioSelector.js +1 -1
- package/lib/plugins/big-mute-button/BigMuteButton.d.ts +1 -1
- package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
- package/lib/plugins/big-mute-button/BigMuteButton.js +1 -2
- package/lib/plugins/bottom-gear/BottomGear.d.ts +1 -1
- package/lib/plugins/bottom-gear/BottomGear.js +1 -1
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.d.ts +1 -1
- package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +1 -1
- package/lib/plugins/clappr-stats/ClapprStats.d.ts +1 -1
- package/lib/plugins/clappr-stats/ClapprStats.js +1 -1
- package/lib/plugins/click-to-pause/ClickToPause.d.ts +1 -1
- package/lib/plugins/click-to-pause/ClickToPause.js +1 -1
- package/lib/plugins/clips/Clips.d.ts +1 -1
- package/lib/plugins/clips/Clips.js +1 -1
- package/lib/plugins/context-menu/ContextMenu.d.ts +1 -1
- package/lib/plugins/context-menu/ContextMenu.js +1 -1
- package/lib/plugins/dvr-controls/DvrControls.d.ts +6 -4
- package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
- package/lib/plugins/dvr-controls/DvrControls.js +28 -36
- package/lib/plugins/error-screen/ErrorScreen.d.ts +1 -18
- package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
- package/lib/plugins/error-screen/ErrorScreen.js +1 -1
- package/lib/plugins/favicon/Favicon.d.ts +1 -1
- package/lib/plugins/favicon/Favicon.js +1 -1
- package/lib/plugins/google-analytics/GoogleAnalytics.d.ts +1 -1
- package/lib/plugins/google-analytics/GoogleAnalytics.js +1 -1
- package/lib/plugins/level-selector/LevelSelector.d.ts +1 -1
- package/lib/plugins/level-selector/LevelSelector.js +1 -1
- package/lib/plugins/logo/Logo.d.ts +1 -1
- package/lib/plugins/logo/Logo.js +1 -1
- package/lib/plugins/media-control/MediaControl.d.ts +8 -2
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +15 -3
- package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -1
- package/lib/plugins/multi-camera/MultiCamera.js +1 -1
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +1 -1
- package/lib/plugins/picture-in-picture/PictureInPicture.js +1 -1
- package/lib/plugins/playback-rate/PlaybackRate.d.ts +1 -1
- package/lib/plugins/playback-rate/PlaybackRate.js +1 -1
- package/lib/plugins/poster/Poster.d.ts +1 -1
- package/lib/plugins/poster/Poster.js +1 -1
- package/lib/plugins/seek-time/SeekTime.d.ts +1 -1
- package/lib/plugins/seek-time/SeekTime.js +1 -1
- package/lib/plugins/share/Share.d.ts +1 -1
- package/lib/plugins/share/Share.js +1 -1
- package/lib/plugins/skip-time/SkipTime.d.ts +1 -1
- package/lib/plugins/skip-time/SkipTime.js +1 -1
- package/lib/plugins/source-controller/SourceController.d.ts +1 -1
- package/lib/plugins/source-controller/SourceController.js +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +1 -1
- package/lib/plugins/subtitles/Subtitles.d.ts +1 -1
- package/lib/plugins/subtitles/Subtitles.js +1 -1
- package/lib/plugins/telemetry/Telemetry.d.ts +1 -1
- package/lib/plugins/telemetry/Telemetry.js +1 -1
- package/lib/plugins/thumbnails/Thumbnails.d.ts +1 -1
- package/lib/plugins/thumbnails/Thumbnails.js +1 -1
- package/lib/plugins/volume-fade/VolumeFade.d.ts +1 -1
- package/lib/plugins/volume-fade/VolumeFade.js +1 -1
- package/lib/testUtils.d.ts +11 -2
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +22 -3
- package/lib/types.d.ts +20 -25
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -1
- package/package.json +1 -1
- package/src/Player.ts +5 -5
- package/src/index.ts +18 -1
- package/src/playback.types.ts +8 -7
- package/src/plugins/audio-selector/AudioSelector.ts +1 -1
- package/src/plugins/big-mute-button/BigMuteButton.ts +1 -2
- package/src/plugins/bottom-gear/BottomGear.ts +1 -1
- package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +1 -1
- package/src/plugins/clappr-stats/ClapprStats.ts +1 -1
- package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
- package/src/plugins/clips/Clips.ts +1 -1
- package/src/plugins/context-menu/ContextMenu.ts +1 -1
- package/src/plugins/dvr-controls/DvrControls.ts +33 -45
- package/src/plugins/dvr-controls/__tests__/DvrControls.test.ts +91 -0
- package/src/plugins/dvr-controls/__tests__/__snapshots__/DvrControls.test.ts.snap +43 -0
- package/src/plugins/error-screen/ErrorScreen.ts +3 -21
- package/src/plugins/favicon/Favicon.ts +1 -1
- package/src/plugins/google-analytics/GoogleAnalytics.ts +1 -1
- package/src/plugins/level-selector/LevelSelector.ts +1 -1
- package/src/plugins/logo/Logo.ts +1 -1
- package/src/plugins/media-control/MediaControl.ts +17 -3
- package/src/plugins/multi-camera/MultiCamera.ts +1 -1
- package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
- package/src/plugins/playback-rate/PlaybackRate.ts +1 -1
- package/src/plugins/poster/Poster.ts +1 -1
- package/src/plugins/seek-time/SeekTime.ts +1 -1
- package/src/plugins/share/Share.ts +1 -1
- package/src/plugins/skip-time/SkipTime.ts +1 -1
- package/src/plugins/source-controller/SourceController.ts +1 -1
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +1 -1
- package/src/plugins/subtitles/Subtitles.ts +1 -1
- package/src/plugins/telemetry/Telemetry.ts +1 -1
- package/src/plugins/thumbnails/Thumbnails.ts +1 -1
- package/src/plugins/volume-fade/VolumeFade.ts +1 -1
- package/src/testUtils.ts +28 -4
- package/src/types.ts +20 -26
- package/temp/player.api.json +181 -251
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.dvrcontrols._constructor_.md +0 -50
- package/docs/api/player.errordesc.md +0 -28
- package/docs/api/player.mediatransport.md +0 -16
|
@@ -6,7 +6,7 @@ import '../../../assets/dvr-controls/dvr_controls.scss';
|
|
|
6
6
|
import { trace } from '@gcorevideo/utils';
|
|
7
7
|
const T = 'plugins.dvr_controls';
|
|
8
8
|
/**
|
|
9
|
-
* PLUGIN that adds the DVR controls to the media control UI
|
|
9
|
+
* `PLUGIN` that adds the DVR controls to the media control UI
|
|
10
10
|
*
|
|
11
11
|
* @beta
|
|
12
12
|
*
|
|
@@ -15,7 +15,9 @@ const T = 'plugins.dvr_controls';
|
|
|
15
15
|
*
|
|
16
16
|
* - {@link MediaControl}
|
|
17
17
|
*
|
|
18
|
-
* The plugin renders live stream indicator
|
|
18
|
+
* The plugin renders live stream indicator.
|
|
19
|
+
* If DVR is enabled, the indicator shows whether the current position is at the live edge of the stream or not.
|
|
20
|
+
* In the latter case, the indicator can be clicked to seek to the live edge.
|
|
19
21
|
*/
|
|
20
22
|
export class DvrControls extends UICorePlugin {
|
|
21
23
|
static template = template(dvrHTML);
|
|
@@ -48,67 +50,60 @@ export class DvrControls extends UICorePlugin {
|
|
|
48
50
|
'data-dvr-controls': '',
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
|
-
constructor(core) {
|
|
52
|
-
super(core);
|
|
53
|
-
this.settingsUpdate();
|
|
54
|
-
}
|
|
55
53
|
/**
|
|
56
54
|
* @internal
|
|
57
55
|
*/
|
|
58
56
|
bindEvents() {
|
|
57
|
+
this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
|
|
58
|
+
this.listenTo(this.core, Events.CORE_OPTIONS_CHANGE, this.render);
|
|
59
|
+
this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
|
|
60
|
+
}
|
|
61
|
+
onCoreReady() {
|
|
59
62
|
const mediaControl = this.core.getPlugin('media_control');
|
|
60
63
|
assert(mediaControl, 'media_control plugin is required');
|
|
61
64
|
this.listenTo(mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);
|
|
62
|
-
this.
|
|
63
|
-
this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
|
|
65
|
+
this.settingsUpdate();
|
|
64
66
|
}
|
|
65
67
|
bindContainerEvents() {
|
|
66
68
|
this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);
|
|
67
69
|
this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
|
|
68
70
|
}
|
|
69
|
-
onDvrChanged(
|
|
71
|
+
onDvrChanged(dvrInUse) {
|
|
70
72
|
trace(`${T} onDvrChanged`, {
|
|
71
|
-
|
|
73
|
+
dvrInUse,
|
|
72
74
|
});
|
|
73
75
|
if (this.core.getPlaybackType() !== Playback.LIVE) {
|
|
74
76
|
return;
|
|
75
77
|
}
|
|
76
|
-
this.
|
|
77
|
-
this.core.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
this.render();
|
|
79
|
+
const mediaControl = this.core.getPlugin('media_control');
|
|
80
|
+
mediaControl.$el.addClass('live');
|
|
81
|
+
if (dvrInUse) {
|
|
82
|
+
mediaControl.$el
|
|
81
83
|
.addClass('dvr')
|
|
82
|
-
.find(
|
|
84
|
+
.find(
|
|
85
|
+
// TODO add API, test
|
|
86
|
+
'.media-control-indicator[data-position], .media-control-indicator[data-duration]')
|
|
83
87
|
.hide();
|
|
84
88
|
}
|
|
85
89
|
else {
|
|
86
|
-
|
|
90
|
+
mediaControl.$el.removeClass('dvr');
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
click() {
|
|
90
|
-
const mediaControl = this.core.getPlugin('media_control');
|
|
91
94
|
const container = this.core.activeContainer;
|
|
92
95
|
if (!container.isPlaying()) {
|
|
93
96
|
container.play();
|
|
94
97
|
}
|
|
95
|
-
|
|
96
|
-
container.seek(container.getDuration());
|
|
97
|
-
}
|
|
98
|
+
container.seek(container.getDuration());
|
|
98
99
|
}
|
|
99
100
|
settingsUpdate() {
|
|
100
|
-
|
|
101
|
-
this.
|
|
102
|
-
this.
|
|
103
|
-
if (this.shouldRender()) {
|
|
104
|
-
this.render();
|
|
105
|
-
this.$el.click(() => this.click());
|
|
106
|
-
}
|
|
107
|
-
this.bindEvents();
|
|
101
|
+
trace(`${T} settingsUpdate`);
|
|
102
|
+
this.core.getPlugin('media_control').$el.removeClass('live');
|
|
103
|
+
this.render();
|
|
108
104
|
}
|
|
109
105
|
shouldRender() {
|
|
110
|
-
const useDvrControls = this.core.options.useDvrControls
|
|
111
|
-
!!this.core.options.useDvrControls;
|
|
106
|
+
const useDvrControls = this.core.options.useDvrControls !== false;
|
|
112
107
|
return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
|
|
113
108
|
}
|
|
114
109
|
/**
|
|
@@ -117,6 +112,7 @@ export class DvrControls extends UICorePlugin {
|
|
|
117
112
|
render() {
|
|
118
113
|
trace(`${T} render`, {
|
|
119
114
|
dvrEnabled: this.core.activePlayback?.dvrEnabled,
|
|
115
|
+
playbackType: this.core.getPlaybackType(),
|
|
120
116
|
});
|
|
121
117
|
if (!this.shouldRender()) {
|
|
122
118
|
return this;
|
|
@@ -126,12 +122,8 @@ export class DvrControls extends UICorePlugin {
|
|
|
126
122
|
backToLive: this.core.i18n.t('back_to_live'),
|
|
127
123
|
}));
|
|
128
124
|
const mediaControl = this.core.getPlugin('media_control');
|
|
129
|
-
assert(mediaControl, 'media_control plugin is required');
|
|
130
|
-
// TODO don't tap into the $el directly
|
|
131
125
|
mediaControl.$el.addClass('live');
|
|
132
|
-
mediaControl
|
|
133
|
-
.$('.media-control-left-panel[data-media-control]')
|
|
134
|
-
.append(this.$el);
|
|
126
|
+
mediaControl.getLeftPanel().append(this.$el);
|
|
135
127
|
return this;
|
|
136
128
|
}
|
|
137
129
|
}
|
|
@@ -1,22 +1,5 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/error-screen/error_screen.scss';
|
|
3
|
-
/**
|
|
4
|
-
* An error fired in the player and plugins code to be handled in the UI
|
|
5
|
-
* @beta
|
|
6
|
-
*/
|
|
7
|
-
export type ErrorDesc = {
|
|
8
|
-
description: string;
|
|
9
|
-
level: string;
|
|
10
|
-
code: string;
|
|
11
|
-
origin: string;
|
|
12
|
-
scope: string;
|
|
13
|
-
raw?: string;
|
|
14
|
-
UI?: {
|
|
15
|
-
icon?: string;
|
|
16
|
-
title: string;
|
|
17
|
-
message: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
3
|
/**
|
|
21
4
|
* Configuration options for the {@link ErrorScreen | error screen} plugin.
|
|
22
5
|
* @beta
|
|
@@ -28,7 +11,7 @@ export type ErrorScreenPluginSettings = {
|
|
|
28
11
|
noReload?: boolean;
|
|
29
12
|
};
|
|
30
13
|
/**
|
|
31
|
-
* PLUGIN that displays errors nicely in the overlay on top of the player.
|
|
14
|
+
* `PLUGIN` that displays errors nicely in the overlay on top of the player.
|
|
32
15
|
* @beta
|
|
33
16
|
*/
|
|
34
17
|
export declare class ErrorScreen extends UICorePlugin {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAO7D,OAAO,gDAAgD,CAAA;
|
|
1
|
+
{"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoB,MAAM,cAAc,CAAA;AAO7D,OAAO,gDAAgD,CAAA;AAUvD;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,GAAG,CAA+B;IAE1C;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAMf;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACM,MAAM;CAkBhB"}
|
|
@@ -6,7 +6,7 @@ import templateHtml from '../../../assets/error-screen/error_screen.ejs';
|
|
|
6
6
|
import '../../../assets/error-screen/error_screen.scss';
|
|
7
7
|
const T = 'plugins.error_screen';
|
|
8
8
|
/**
|
|
9
|
-
* PLUGIN that displays errors nicely in the overlay on top of the player.
|
|
9
|
+
* `PLUGIN` that displays errors nicely in the overlay on top of the player.
|
|
10
10
|
* @beta
|
|
11
11
|
*/
|
|
12
12
|
export class ErrorScreen extends UICorePlugin {
|
|
@@ -7,7 +7,7 @@ const FAVICON_COLOR = '#567';
|
|
|
7
7
|
const FAVICON_SELECTOR = 'link[rel="shortcut icon"]';
|
|
8
8
|
// const oldIcon = $(FAVICON_SELECTOR);
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* `PLUGIN` that adds custom favicon to the player's tab.
|
|
11
11
|
* @beta
|
|
12
12
|
*/
|
|
13
13
|
export class Favicon extends CorePlugin {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { ContainerPlugin, Events } from '@clappr/core';
|
|
5
5
|
import { CLAPPR_VERSION } from '../../build.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* `PLUGIN` that integrates with Google Analytics
|
|
8
8
|
* @beta
|
|
9
9
|
*/
|
|
10
10
|
export class GoogleAnalytics extends ContainerPlugin {
|
|
@@ -19,7 +19,7 @@ export interface LevelSelectorPluginSettings {
|
|
|
19
19
|
labels?: Record<number, string>;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
* PLUGIN that provides a UI to select the desired quality level of the playback.
|
|
22
|
+
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
23
23
|
* @beta
|
|
24
24
|
*
|
|
25
25
|
* @remarks
|
|
@@ -13,7 +13,7 @@ import { MediaControlEvents } from '../media-control/MediaControl.js';
|
|
|
13
13
|
const T = 'plugins.level_selector';
|
|
14
14
|
const VERSION = '2.19.4';
|
|
15
15
|
/**
|
|
16
|
-
* PLUGIN that provides a UI to select the desired quality level of the playback.
|
|
16
|
+
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
17
17
|
* @beta
|
|
18
18
|
*
|
|
19
19
|
* @remarks
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIContainerPlugin, Container } from '@clappr/core';
|
|
2
2
|
import '../../../assets/logo/styles/logo.scss';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `PLUGIN` that adds custom logo to the player.
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export declare class Logo extends UIContainerPlugin {
|
package/lib/plugins/logo/Logo.js
CHANGED
|
@@ -4,7 +4,7 @@ import { calculateSize } from './utils/index.js';
|
|
|
4
4
|
import logoHTML from '../../../assets/logo/templates/logo.ejs';
|
|
5
5
|
import '../../../assets/logo/styles/logo.scss';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* `PLUGIN` that adds custom logo to the player.
|
|
8
8
|
* @beta
|
|
9
9
|
*/
|
|
10
10
|
export class Logo extends UIContainerPlugin {
|
|
@@ -18,11 +18,11 @@ export declare enum MediaControlEvents {
|
|
|
18
18
|
MEDIACONTROL_GEAR_RENDERED = "mediacontrol:gear:rendered"
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
* PLUGIN that provides a foundation for developing custom media controls UI.
|
|
21
|
+
* `PLUGIN` that provides a foundation for developing custom media controls UI.
|
|
22
22
|
* @beta
|
|
23
23
|
* @remarks
|
|
24
24
|
* The methods exposed are to be used by the other plugins that extend the media control UI.
|
|
25
|
-
* The plugin registration should be arranged so that MediaControl is initialized before every other
|
|
25
|
+
* The plugin registration should be arranged so that MediaControl is initialized before every other `PLUGIN` that depends on it.
|
|
26
26
|
* @example
|
|
27
27
|
* ```ts
|
|
28
28
|
* Player.registerPlugin(MediaControl) // <--- This must go first
|
|
@@ -244,6 +244,12 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
244
244
|
* @returns ZeptoSelector of the right panel element
|
|
245
245
|
*/
|
|
246
246
|
getRightPanel(): any;
|
|
247
|
+
/**
|
|
248
|
+
* Get the left panel area to append custom elements to
|
|
249
|
+
* @returns ZeptoSelector of the left panel element
|
|
250
|
+
*/
|
|
251
|
+
getLeftPanel(): any;
|
|
252
|
+
getCenterPanel(): any;
|
|
247
253
|
private resetIndicators;
|
|
248
254
|
private initializeIcons;
|
|
249
255
|
private setSeekPercentage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// This is a derived work from the {@link https://github.com/clappr/clappr-plugins/tree/ffaa9d27005fa5a8a7c243ffc47eb5655b84b371/src/plugins/media_control | Clappr MediaControl plugin}
|
|
2
|
+
// It is redistributed under the terms of the {@link ../../../../../LICENSE | Apache 2.0} license.
|
|
1
3
|
// Copyright 2014 Globo.com Player authors. All rights reserved.
|
|
2
4
|
// Use of this source code is governed by a BSD-style
|
|
3
|
-
// license that can be found in the LICENSE
|
|
5
|
+
// license that can be found in the {@link https://github.com/clappr/clappr-plugins/blob/master/LICENSE | LICENSE}.
|
|
4
6
|
import assert from 'assert';
|
|
5
7
|
import { Events, UICorePlugin, Browser, Playback, Utils, template, $, } from '@clappr/core';
|
|
6
8
|
import { reportError, trace } from '@gcorevideo/utils';
|
|
@@ -45,11 +47,11 @@ function orderByOrderPattern(arr, order) {
|
|
|
45
47
|
return [...ordered, ...rest];
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
|
-
* PLUGIN that provides a foundation for developing custom media controls UI.
|
|
50
|
+
* `PLUGIN` that provides a foundation for developing custom media controls UI.
|
|
49
51
|
* @beta
|
|
50
52
|
* @remarks
|
|
51
53
|
* The methods exposed are to be used by the other plugins that extend the media control UI.
|
|
52
|
-
* The plugin registration should be arranged so that MediaControl is initialized before every other
|
|
54
|
+
* The plugin registration should be arranged so that MediaControl is initialized before every other `PLUGIN` that depends on it.
|
|
53
55
|
* @example
|
|
54
56
|
* ```ts
|
|
55
57
|
* Player.registerPlugin(MediaControl) // <--- This must go first
|
|
@@ -837,6 +839,16 @@ export class MediaControl extends UICorePlugin {
|
|
|
837
839
|
getRightPanel() {
|
|
838
840
|
return this.$el.find('.media-control-right-panel');
|
|
839
841
|
}
|
|
842
|
+
/**
|
|
843
|
+
* Get the left panel area to append custom elements to
|
|
844
|
+
* @returns ZeptoSelector of the left panel element
|
|
845
|
+
*/
|
|
846
|
+
getLeftPanel() {
|
|
847
|
+
return this.$el.find('.media-control-left-panel');
|
|
848
|
+
}
|
|
849
|
+
getCenterPanel() {
|
|
850
|
+
return this.$el.find('.media-control-center-panel');
|
|
851
|
+
}
|
|
840
852
|
resetIndicators() {
|
|
841
853
|
assert.ok(this.$duration && this.$position, 'duration and position elements must be present');
|
|
842
854
|
this.displayedPosition = this.$position.text();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Core, UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/multi-camera/style.scss';
|
|
3
3
|
/**
|
|
4
|
-
* PLUGIN that adds support for loading multiple streams and switching between them using the media control UI.
|
|
4
|
+
* `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export declare class MultiCamera extends UICorePlugin {
|
|
@@ -9,7 +9,7 @@ import streamsWhiteNightsIcon from '../../../assets/icons/old/wn.svg';
|
|
|
9
9
|
const VERSION = '0.0.1';
|
|
10
10
|
const T = 'plugins.multicamera';
|
|
11
11
|
/**
|
|
12
|
-
* PLUGIN that adds support for loading multiple streams and switching between them using the media control UI.
|
|
12
|
+
* `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
|
|
13
13
|
* @beta
|
|
14
14
|
*/
|
|
15
15
|
export class MultiCamera extends UICorePlugin {
|
|
@@ -22,7 +22,7 @@ const DEFAULT_PLAYBACK_RATES = [
|
|
|
22
22
|
const DEFAULT_PLAYBACK_RATE = '1.0';
|
|
23
23
|
const T = 'plugins.playback_rate';
|
|
24
24
|
/**
|
|
25
|
-
* PLUGIN that allows changing the playback speed of the video.
|
|
25
|
+
* `PLUGIN` that allows changing the playback speed of the video.
|
|
26
26
|
* @beta
|
|
27
27
|
*
|
|
28
28
|
* @remarks
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UIContainerPlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/poster/poster.scss';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
|
|
5
5
|
* @beta
|
|
6
6
|
* @remarks
|
|
7
7
|
* When the playback is stopped, media control UI is disabled.
|
|
@@ -9,7 +9,7 @@ import posterHTML from '../../../assets/poster/poster.ejs';
|
|
|
9
9
|
import playIcon from '../../../assets/icons/new/play.svg';
|
|
10
10
|
const T = 'plugins.poster';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
|
|
13
13
|
* @beta
|
|
14
14
|
* @remarks
|
|
15
15
|
* When the playback is stopped, media control UI is disabled.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/seek-time/seek-time.scss';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `PLUGIN` that adds a seek time indicator to the media control UI.
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export declare class SeekTime extends UICorePlugin {
|
|
@@ -7,7 +7,7 @@ import seekTimeHTML from '../../../assets/seek-time/seek-time.html';
|
|
|
7
7
|
import '../../../assets/seek-time/seek-time.scss';
|
|
8
8
|
const { formatTime } = Utils;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* `PLUGIN` that adds a seek time indicator to the media control UI.
|
|
11
11
|
* @beta
|
|
12
12
|
*/
|
|
13
13
|
export class SeekTime extends UICorePlugin {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/share/style.scss';
|
|
3
3
|
/**
|
|
4
|
-
* PLUGIN that adds a share button to the media control UI.
|
|
4
|
+
* `PLUGIN` that adds a share button to the media control UI.
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export declare class Share extends UICorePlugin {
|
|
@@ -7,7 +7,7 @@ import closeIcon from '../../../assets/icons/old/close-share.svg';
|
|
|
7
7
|
import fbIcon from '../../../assets/icons/old/fb.svg';
|
|
8
8
|
import twIcon from '../../../assets/icons/old/twitter.svg';
|
|
9
9
|
/**
|
|
10
|
-
* PLUGIN that adds a share button to the media control UI.
|
|
10
|
+
* `PLUGIN` that adds a share button to the media control UI.
|
|
11
11
|
* @beta
|
|
12
12
|
*/
|
|
13
13
|
export class Share extends UICorePlugin {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UICorePlugin as UICorePluginOriginal } from '@clappr/core';
|
|
2
2
|
import '../../../assets/skip-time/style.scss';
|
|
3
3
|
/**
|
|
4
|
-
* PLUGIN that adds skip controls to the media control UI.
|
|
4
|
+
* `PLUGIN` that adds skip controls to the media control UI.
|
|
5
5
|
* @beta
|
|
6
6
|
*/
|
|
7
7
|
export declare class SkipTime extends UICorePluginOriginal {
|
|
@@ -3,7 +3,7 @@ import { CLAPPR_VERSION } from '../../build.js';
|
|
|
3
3
|
import pluginHtml from '../../../assets/skip-time/skip-time.ejs';
|
|
4
4
|
import '../../../assets/skip-time/style.scss';
|
|
5
5
|
/**
|
|
6
|
-
* PLUGIN that adds skip controls to the media control UI.
|
|
6
|
+
* `PLUGIN` that adds skip controls to the media control UI.
|
|
7
7
|
* @beta
|
|
8
8
|
*/
|
|
9
9
|
export class SkipTime extends UICorePluginOriginal {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CorePlugin, type Core as ClapprCore } from '@clappr/core';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* `PLUGIN` that is responsible for managing the automatic failover between sources.
|
|
4
4
|
* @beta
|
|
5
5
|
* @remarks
|
|
6
6
|
* Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
|
|
@@ -12,7 +12,7 @@ function noSync(cb) {
|
|
|
12
12
|
queueMicrotask(cb);
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* `PLUGIN` that is responsible for managing the automatic failover between sources.
|
|
16
16
|
* @beta
|
|
17
17
|
* @remarks
|
|
18
18
|
* Have a look at the {@link https://miro.com/app/board/uXjVLiN15tY=/?share_link_id=390327585787 | source failover diagram} for the details
|
|
@@ -12,7 +12,7 @@ export declare enum SpinnerEvents {
|
|
|
12
12
|
SYNC = "plugins:spinner:sync"
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* PLUGIN that shows a pending operation indicator when playback is buffering or in a similar state
|
|
15
|
+
* `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
|
|
16
16
|
* @beta
|
|
17
17
|
* @remarks
|
|
18
18
|
* Events emitted- {@link SpinnerEvents}
|
|
@@ -21,7 +21,7 @@ export var SpinnerEvents;
|
|
|
21
21
|
SpinnerEvents["SYNC"] = "plugins:spinner:sync";
|
|
22
22
|
})(SpinnerEvents || (SpinnerEvents = {}));
|
|
23
23
|
/**
|
|
24
|
-
* PLUGIN that shows a pending operation indicator when playback is buffering or in a similar state
|
|
24
|
+
* `PLUGIN` that shows a pending operation indicator when playback is buffering or in a similar state
|
|
25
25
|
* @beta
|
|
26
26
|
* @remarks
|
|
27
27
|
* Events emitted- {@link SpinnerEvents}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/subtitles/style.scss';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `PLUGIN` that provides a UI to select the subtitles when available.
|
|
5
5
|
* @beta
|
|
6
6
|
*
|
|
7
7
|
* @remarks
|
|
@@ -13,7 +13,7 @@ const LOCAL_STORAGE_SUBTITLES_ID = 'gplayer.plugins.subtitles.selected';
|
|
|
13
13
|
const T = 'plugins.subtitles';
|
|
14
14
|
const NO_TRACK = { language: 'off' };
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* `PLUGIN` that provides a UI to select the subtitles when available.
|
|
17
17
|
* @beta
|
|
18
18
|
*
|
|
19
19
|
* @remarks
|
|
@@ -80,7 +80,7 @@ export declare enum TelemetryEvent {
|
|
|
80
80
|
Stall = 4
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
|
-
* PLUGIN that collects and reports the performance statistics.
|
|
83
|
+
* `PLUGIN` that collects and reports the performance statistics.
|
|
84
84
|
* @beta
|
|
85
85
|
* @remarks
|
|
86
86
|
* This plugin is experimental and its API is likely to change.
|
|
@@ -18,7 +18,7 @@ export var TelemetryEvent;
|
|
|
18
18
|
TelemetryEvent[TelemetryEvent["Stall"] = 4] = "Stall";
|
|
19
19
|
})(TelemetryEvent || (TelemetryEvent = {}));
|
|
20
20
|
/**
|
|
21
|
-
* PLUGIN that collects and reports the performance statistics.
|
|
21
|
+
* `PLUGIN` that collects and reports the performance statistics.
|
|
22
22
|
* @beta
|
|
23
23
|
* @remarks
|
|
24
24
|
* This plugin is experimental and its API is likely to change.
|
|
@@ -7,7 +7,7 @@ import '../../../assets/thumbnails/style.scss';
|
|
|
7
7
|
import { getPageX } from '../utils.js';
|
|
8
8
|
const T = 'plugins.thumbnails';
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* `PLUGIN` that displays the thumbnails of the video when available.
|
|
11
11
|
* @beta
|
|
12
12
|
* @example
|
|
13
13
|
* ```ts
|
|
@@ -7,7 +7,7 @@ export declare enum VolumeFadeEvents {
|
|
|
7
7
|
FADE = "core:volume:fade"
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* `PLUGIN` that applies fade effect to the player's volume change.
|
|
11
11
|
* @beta
|
|
12
12
|
*/
|
|
13
13
|
export declare class VolumeFade extends UICorePlugin {
|
|
@@ -9,7 +9,7 @@ export var VolumeFadeEvents;
|
|
|
9
9
|
VolumeFadeEvents["FADE"] = "core:volume:fade";
|
|
10
10
|
})(VolumeFadeEvents || (VolumeFadeEvents = {}));
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* `PLUGIN` that applies fade effect to the player's volume change.
|
|
13
13
|
* @beta
|
|
14
14
|
*/
|
|
15
15
|
export class VolumeFade extends UICorePlugin {
|