@gcorevideo/player 2.20.8 → 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 +22 -17
- package/dist/index.css +1343 -1346
- package/dist/index.js +119 -109
- package/dist/player.d.ts +238 -179
- package/dist/plugins/index.css +461 -464
- package/dist/plugins/index.js +97 -93
- package/docs/api/player.audioselector.md +1 -1
- package/docs/api/player.bigmutebutton.md +1 -1
- package/docs/api/player.bottomgear.md +15 -1
- package/docs/api/player.bottomgear.refresh.md +20 -0
- package/docs/api/player.clapprnerdstats.md +1 -1
- package/docs/api/player.clapprstats.exportmetrics.md +1 -1
- package/docs/api/player.clapprstats.md +1 -15
- package/docs/api/player.clapprstats.setupdatemetrics.md +2 -0
- package/docs/api/player.clicktopause.md +1 -1
- package/docs/api/player.clipsplugin.md +1 -1
- package/docs/api/player.clipspluginsettings.md +5 -2
- package/docs/api/player.clipspluginsettings.text.md +3 -0
- package/docs/api/player.containerpluginconstructor.md +17 -0
- package/docs/api/player.containersize.md +0 -3
- package/docs/api/player.contextmenu.md +1 -1
- package/docs/api/player.corepluginconstructor.md +17 -0
- 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 -220
- package/docs/api/{player.errorscreen.render.md → player.errorscreenpluginsettings.md} +7 -7
- 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 +3 -9
- package/docs/api/{player.errorscreen.bindevents.md → player.levelselectorpluginsettings.labels.md} +11 -5
- package/docs/api/player.levelselectorpluginsettings.md +79 -0
- package/docs/api/{player.errorscreen.unbindevents.md → player.levelselectorpluginsettings.restrictresolution.md} +5 -7
- package/docs/api/player.logo.md +1 -1
- package/docs/api/player.md +131 -65
- package/docs/api/{player.errorscreen.container.md → player.mediacontrol.currentseekpos.md} +3 -3
- package/docs/api/player.mediacontrol.disable.md +1 -1
- package/docs/api/player.mediacontrol.md +24 -3
- package/docs/api/{player.gearevents.md → player.mediacontrolevents.md} +4 -4
- package/docs/api/player.multicamera.md +1 -29
- 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 +25 -9
- 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 +17 -0
- package/docs/api/player.playbackerrorcode.md +6 -9
- package/docs/api/player.playbackmodule.md +0 -3
- package/docs/api/{player.dvrcontrols._constructor_.md → player.playbackrate._constructor_.md} +3 -3
- package/docs/api/player.playbackrate.md +35 -2
- 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 +2 -5
- 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 +14 -0
- 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.attributes.md +3 -0
- package/docs/api/player.share.bindevents.md +3 -0
- package/docs/api/player.share.canshowshare.md +3 -0
- package/docs/api/player.share.events.md +3 -0
- package/docs/api/player.share.hideshare.md +3 -0
- package/docs/api/player.share.initializeicons.md +3 -0
- package/docs/api/player.share.md +40 -1
- package/docs/api/player.share.name.md +3 -0
- package/docs/api/player.share.onshareembedclick.md +3 -0
- package/docs/api/player.share.onsharefb.md +3 -0
- package/docs/api/player.share.onsharehide.md +3 -0
- package/docs/api/player.share.onsharelinkclick.md +3 -0
- package/docs/api/player.share.onshareshow.md +3 -0
- package/docs/api/player.share.onsharetw.md +3 -0
- package/docs/api/player.share.render.md +3 -0
- package/docs/api/player.share.showshare.md +3 -0
- package/docs/api/player.share.supportedversion.md +3 -0
- package/docs/api/player.share.template.md +3 -0
- package/docs/api/player.share.unbindevents.md +3 -0
- package/docs/api/player.skiptime.attributes.md +3 -0
- package/docs/api/player.skiptime.bindevents.md +3 -0
- package/docs/api/player.skiptime.container.md +3 -0
- package/docs/api/player.skiptime.events.md +3 -0
- package/docs/api/player.skiptime.handlerewindclicks.md +3 -0
- package/docs/api/player.skiptime.md +30 -1
- package/docs/api/player.skiptime.name.md +3 -0
- package/docs/api/player.skiptime.render.md +3 -0
- package/docs/api/player.skiptime.setback.md +3 -0
- package/docs/api/player.skiptime.setforward.md +3 -0
- package/docs/api/player.skiptime.setmidclick.md +3 -0
- package/docs/api/player.skiptime.supportedversion.md +3 -0
- package/docs/api/player.skiptime.template.md +3 -0
- package/docs/api/player.skiptime.togglefullscreen.md +3 -0
- package/docs/api/player.sourcecontroller.md +1 -1
- package/docs/api/player.spinnerevents.md +4 -1
- package/docs/api/player.spinnerthreebounce.hide.md +1 -1
- package/docs/api/player.spinnerthreebounce.md +7 -5
- package/docs/api/player.spinnerthreebounce.show.md +40 -2
- package/docs/api/player.subtitles.md +1 -1
- package/docs/api/player.telemetry.md +1 -1
- package/docs/api/player.telemetrypluginsettings.md +1 -1
- package/docs/api/{player.errorscreen.hide.md → player.telemetrysendfn.md} +6 -6
- 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 +18 -9
- package/lib/Player.d.ts.map +1 -1
- package/lib/Player.js +19 -14
- package/lib/index.core.d.ts +0 -1
- package/lib/index.core.d.ts.map +1 -1
- package/lib/index.core.js +0 -1
- package/lib/index.d.ts +18 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -1
- package/lib/index.plugins.d.ts +0 -1
- package/lib/index.plugins.d.ts.map +1 -1
- package/lib/index.plugins.js +0 -1
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +1 -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 +2 -2
- package/lib/plugins/bottom-gear/BottomGear.d.ts.map +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-nerd-stats/speedtest/Speedtest.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/speedtest/Speedtest.js +8 -8
- package/lib/plugins/clappr-stats/ClapprStats.d.ts +4 -5
- package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
- package/lib/plugins/clappr-stats/ClapprStats.js +4 -3
- 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 +3 -2
- package/lib/plugins/clips/Clips.d.ts.map +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.d.ts.map +1 -1
- package/lib/plugins/context-menu/ContextMenu.js +1 -1
- package/lib/plugins/dvr-controls/DvrControls.d.ts +7 -4
- package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
- package/lib/plugins/dvr-controls/DvrControls.js +29 -36
- package/lib/plugins/error-screen/ErrorScreen.d.ts +8 -14
- 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/index.d.ts +0 -1
- package/lib/plugins/index.d.ts.map +1 -1
- package/lib/plugins/index.js +0 -1
- package/lib/plugins/kibo/index.d.ts +0 -3
- package/lib/plugins/kibo/index.d.ts.map +1 -1
- package/lib/plugins/kibo/index.js +0 -3
- package/lib/plugins/level-selector/LevelSelector.d.ts +6 -4
- package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
- package/lib/plugins/level-selector/LevelSelector.js +2 -4
- 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 +11 -5
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +17 -5
- package/lib/plugins/multi-camera/MultiCamera.d.ts +3 -11
- package/lib/plugins/multi-camera/MultiCamera.d.ts.map +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 +3 -3
- 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 +2 -1
- package/lib/plugins/share/Share.d.ts.map +1 -1
- package/lib/plugins/share/Share.js +2 -1
- package/lib/plugins/skip-time/SkipTime.d.ts +2 -1
- package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
- package/lib/plugins/skip-time/SkipTime.js +2 -1
- package/lib/plugins/source-controller/SourceController.d.ts +1 -1
- package/lib/plugins/source-controller/SourceController.js +4 -4
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +6 -3
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +6 -3
- package/lib/plugins/subtitles/Subtitles.d.ts +1 -1
- package/lib/plugins/subtitles/Subtitles.js +1 -1
- package/lib/plugins/telemetry/Telemetry.d.ts +2 -3
- package/lib/plugins/telemetry/Telemetry.d.ts.map +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/vast-ads/VastAds.d.ts.map +1 -1
- package/lib/plugins/vast-ads/VastAds.js +3 -3
- package/lib/plugins/vast-ads/roll.d.ts +1 -1
- package/lib/plugins/vast-ads/roll.d.ts.map +1 -1
- package/lib/plugins/vast-ads/rollmanager.d.ts +1 -1
- package/lib/plugins/vast-ads/rollmanager.d.ts.map +1 -1
- package/lib/plugins/vast-ads/rollmanager.js +2 -2
- 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 +38 -27
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -1
- package/lib/utils/types.d.ts +0 -6
- package/lib/utils/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Player.ts +23 -21
- package/src/index.core.ts +0 -1
- package/src/index.plugins.ts +0 -1
- package/src/index.ts +18 -1
- package/src/playback/hls-playback/HlsPlayback.ts +7 -11
- package/src/playback.types.ts +8 -7
- package/src/plugins/audio-selector/AudioSelector.ts +2 -2
- package/src/plugins/big-mute-button/BigMuteButton.ts +2 -3
- package/src/plugins/bottom-gear/BottomGear.ts +2 -2
- package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +2 -2
- package/src/plugins/clappr-nerd-stats/speedtest/Speedtest.ts +184 -187
- package/src/plugins/clappr-stats/ClapprStats.ts +5 -4
- package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
- package/src/plugins/clips/Clips.ts +4 -3
- package/src/plugins/context-menu/ContextMenu.ts +1 -3
- package/src/plugins/dvr-controls/DvrControls.ts +34 -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 +10 -17
- package/src/plugins/favicon/Favicon.ts +2 -2
- package/src/plugins/google-analytics/GoogleAnalytics.ts +1 -1
- package/src/plugins/index.ts +0 -1
- package/src/plugins/kibo/index.ts +0 -3
- package/src/plugins/level-selector/LevelSelector.ts +7 -5
- package/src/plugins/logo/Logo.ts +2 -2
- package/src/plugins/media-control/MediaControl.ts +20 -6
- package/src/plugins/multi-camera/MultiCamera.ts +4 -4
- package/src/plugins/picture-in-picture/PictureInPicture.ts +1 -1
- package/src/plugins/playback-rate/PlaybackRate.ts +2 -2
- package/src/plugins/poster/Poster.ts +4 -4
- package/src/plugins/seek-time/SeekTime.ts +2 -2
- package/src/plugins/share/Share.ts +2 -1
- package/src/plugins/skip-time/SkipTime.ts +2 -1
- package/src/plugins/source-controller/SourceController.ts +4 -4
- package/src/plugins/source-controller/__tests__/SourceController.test.ts +2 -2
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +6 -3
- package/src/plugins/subtitles/Subtitles.ts +2 -2
- package/src/plugins/telemetry/Telemetry.ts +2 -2
- package/src/plugins/thumbnails/Thumbnails.ts +2 -2
- package/src/plugins/vast-ads/VastAds.ts +5 -4
- package/src/plugins/vast-ads/roll.ts +2 -1
- package/src/plugins/vast-ads/rollmanager.ts +3 -3
- package/src/plugins/volume-fade/VolumeFade.ts +1 -1
- package/src/testUtils.ts +28 -4
- package/src/types.ts +41 -28
- package/src/utils/types.ts +0 -8
- package/temp/player.api.json +680 -786
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.clapprstats.onbitrate.md +0 -52
- package/docs/api/player.errorscreen.attributes.md +0 -17
- package/docs/api/player.errorscreen.name.md +0 -14
- package/docs/api/player.errorscreen.show.md +0 -54
- package/docs/api/player.errorscreen.supportedversion.md +0 -16
- package/docs/api/player.errorscreen.template.md +0 -14
- package/docs/api/player.mediatransport.md +0 -16
- package/docs/api/player.multicamera.getcameraslist.md +0 -18
- package/docs/api/player.multicamera.getcurrentcamera.md +0 -18
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/dvr-controls/dvr_controls.scss';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* `PLUGIN` that adds the DVR controls to the media control UI
|
|
5
|
+
*
|
|
5
6
|
* @beta
|
|
6
7
|
*
|
|
7
8
|
* @remarks
|
|
@@ -9,7 +10,9 @@ import '../../../assets/dvr-controls/dvr_controls.scss';
|
|
|
9
10
|
*
|
|
10
11
|
* - {@link MediaControl}
|
|
11
12
|
*
|
|
12
|
-
* The plugin renders
|
|
13
|
+
* The plugin renders live stream indicator.
|
|
14
|
+
* If DVR is enabled, the indicator shows whether the current position is at the live edge of the stream or not.
|
|
15
|
+
* In the latter case, the indicator can be clicked to seek to the live edge.
|
|
13
16
|
*/
|
|
14
17
|
export declare class DvrControls extends UICorePlugin {
|
|
15
18
|
private static readonly template;
|
|
@@ -36,11 +39,11 @@ export declare class DvrControls extends UICorePlugin {
|
|
|
36
39
|
class: string;
|
|
37
40
|
'data-dvr-controls': string;
|
|
38
41
|
};
|
|
39
|
-
constructor(core: Core);
|
|
40
42
|
/**
|
|
41
43
|
* @internal
|
|
42
44
|
*/
|
|
43
45
|
bindEvents(): void;
|
|
46
|
+
private onCoreReady;
|
|
44
47
|
private bindContainerEvents;
|
|
45
48
|
private onDvrChanged;
|
|
46
49
|
private click;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DvrControls.d.ts","sourceRoot":"","sources":["../../../src/plugins/dvr-controls/DvrControls.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DvrControls.d.ts","sourceRoot":"","sources":["../../../src/plugins/dvr-controls/DvrControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAY,MAAM,cAAc,CAAA;AAM7E,OAAO,gDAAgD,CAAA;AAMvD;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACM,UAAU;IAUnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACM,MAAM;CAoBhB"}
|
|
@@ -6,7 +6,8 @@ import '../../../assets/dvr-controls/dvr_controls.scss';
|
|
|
6
6
|
import { trace } from '@gcorevideo/utils';
|
|
7
7
|
const T = 'plugins.dvr_controls';
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* `PLUGIN` that adds the DVR controls to the media control UI
|
|
10
|
+
*
|
|
10
11
|
* @beta
|
|
11
12
|
*
|
|
12
13
|
* @remarks
|
|
@@ -14,7 +15,9 @@ const T = 'plugins.dvr_controls';
|
|
|
14
15
|
*
|
|
15
16
|
* - {@link MediaControl}
|
|
16
17
|
*
|
|
17
|
-
* The plugin renders
|
|
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.
|
|
18
21
|
*/
|
|
19
22
|
export class DvrControls extends UICorePlugin {
|
|
20
23
|
static template = template(dvrHTML);
|
|
@@ -47,67 +50,60 @@ export class DvrControls extends UICorePlugin {
|
|
|
47
50
|
'data-dvr-controls': '',
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
|
-
constructor(core) {
|
|
51
|
-
super(core);
|
|
52
|
-
this.settingsUpdate();
|
|
53
|
-
}
|
|
54
53
|
/**
|
|
55
54
|
* @internal
|
|
56
55
|
*/
|
|
57
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() {
|
|
58
62
|
const mediaControl = this.core.getPlugin('media_control');
|
|
59
63
|
assert(mediaControl, 'media_control plugin is required');
|
|
60
64
|
this.listenTo(mediaControl, Events.MEDIACONTROL_RENDERED, this.settingsUpdate);
|
|
61
|
-
this.
|
|
62
|
-
this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindContainerEvents);
|
|
65
|
+
this.settingsUpdate();
|
|
63
66
|
}
|
|
64
67
|
bindContainerEvents() {
|
|
65
68
|
this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);
|
|
66
69
|
this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
|
|
67
70
|
}
|
|
68
|
-
onDvrChanged(
|
|
71
|
+
onDvrChanged(dvrInUse) {
|
|
69
72
|
trace(`${T} onDvrChanged`, {
|
|
70
|
-
|
|
73
|
+
dvrInUse,
|
|
71
74
|
});
|
|
72
75
|
if (this.core.getPlaybackType() !== Playback.LIVE) {
|
|
73
76
|
return;
|
|
74
77
|
}
|
|
75
|
-
this.
|
|
76
|
-
this.core.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
this.render();
|
|
79
|
+
const mediaControl = this.core.getPlugin('media_control');
|
|
80
|
+
mediaControl.$el.addClass('live');
|
|
81
|
+
if (dvrInUse) {
|
|
82
|
+
mediaControl.$el
|
|
80
83
|
.addClass('dvr')
|
|
81
|
-
.find(
|
|
84
|
+
.find(
|
|
85
|
+
// TODO add API, test
|
|
86
|
+
'.media-control-indicator[data-position], .media-control-indicator[data-duration]')
|
|
82
87
|
.hide();
|
|
83
88
|
}
|
|
84
89
|
else {
|
|
85
|
-
|
|
90
|
+
mediaControl.$el.removeClass('dvr');
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
click() {
|
|
89
|
-
const mediaControl = this.core.getPlugin('media_control');
|
|
90
94
|
const container = this.core.activeContainer;
|
|
91
95
|
if (!container.isPlaying()) {
|
|
92
96
|
container.play();
|
|
93
97
|
}
|
|
94
|
-
|
|
95
|
-
container.seek(container.getDuration());
|
|
96
|
-
}
|
|
98
|
+
container.seek(container.getDuration());
|
|
97
99
|
}
|
|
98
100
|
settingsUpdate() {
|
|
99
|
-
|
|
100
|
-
this.
|
|
101
|
-
this.
|
|
102
|
-
if (this.shouldRender()) {
|
|
103
|
-
this.render();
|
|
104
|
-
this.$el.click(() => this.click());
|
|
105
|
-
}
|
|
106
|
-
this.bindEvents();
|
|
101
|
+
trace(`${T} settingsUpdate`);
|
|
102
|
+
this.core.getPlugin('media_control').$el.removeClass('live');
|
|
103
|
+
this.render();
|
|
107
104
|
}
|
|
108
105
|
shouldRender() {
|
|
109
|
-
const useDvrControls = this.core.options.useDvrControls
|
|
110
|
-
!!this.core.options.useDvrControls;
|
|
106
|
+
const useDvrControls = this.core.options.useDvrControls !== false;
|
|
111
107
|
return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
|
|
112
108
|
}
|
|
113
109
|
/**
|
|
@@ -116,6 +112,7 @@ export class DvrControls extends UICorePlugin {
|
|
|
116
112
|
render() {
|
|
117
113
|
trace(`${T} render`, {
|
|
118
114
|
dvrEnabled: this.core.activePlayback?.dvrEnabled,
|
|
115
|
+
playbackType: this.core.getPlaybackType(),
|
|
119
116
|
});
|
|
120
117
|
if (!this.shouldRender()) {
|
|
121
118
|
return this;
|
|
@@ -125,12 +122,8 @@ export class DvrControls extends UICorePlugin {
|
|
|
125
122
|
backToLive: this.core.i18n.t('back_to_live'),
|
|
126
123
|
}));
|
|
127
124
|
const mediaControl = this.core.getPlugin('media_control');
|
|
128
|
-
assert(mediaControl, 'media_control plugin is required');
|
|
129
|
-
// TODO don't tap into the $el directly
|
|
130
125
|
mediaControl.$el.addClass('live');
|
|
131
|
-
mediaControl
|
|
132
|
-
.$('.media-control-left-panel[data-media-control]')
|
|
133
|
-
.append(this.$el);
|
|
126
|
+
mediaControl.getLeftPanel().append(this.$el);
|
|
134
127
|
return this;
|
|
135
128
|
}
|
|
136
129
|
}
|
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/error-screen/error_screen.scss';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
origin: string;
|
|
8
|
-
scope: string;
|
|
9
|
-
raw?: string;
|
|
10
|
-
UI?: {
|
|
11
|
-
icon?: string;
|
|
12
|
-
title: string;
|
|
13
|
-
message: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the {@link ErrorScreen | error screen} plugin.
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
16
7
|
export type ErrorScreenPluginSettings = {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to hide the reload button.
|
|
10
|
+
*/
|
|
17
11
|
noReload?: boolean;
|
|
18
12
|
};
|
|
19
13
|
/**
|
|
20
|
-
*
|
|
14
|
+
* `PLUGIN` that displays errors nicely in the overlay on top of the player.
|
|
21
15
|
* @beta
|
|
22
16
|
*/
|
|
23
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
|
-
*
|
|
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 {
|
package/lib/plugins/index.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export * from "./dvr-controls/DvrControls.js";
|
|
|
16
16
|
export * from "./error-screen/ErrorScreen.js";
|
|
17
17
|
export * from "./favicon/Favicon.js";
|
|
18
18
|
export * from "./google-analytics/GoogleAnalytics.js";
|
|
19
|
-
export * from "./kibo/index.js";
|
|
20
19
|
export * from "./level-selector/LevelSelector.js";
|
|
21
20
|
export * from "./logo/Logo.js";
|
|
22
21
|
export * from "./media-control/MediaControl.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AAErC,cAAc,uCAAuC,CAAC;AACtD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AAErC,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iCAAiC,CAAC;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yCAAyC,CAAC;AACxD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,6BAA6B,CAAC"}
|
package/lib/plugins/index.js
CHANGED
|
@@ -17,7 +17,6 @@ export * from "./error-screen/ErrorScreen.js";
|
|
|
17
17
|
export * from "./favicon/Favicon.js";
|
|
18
18
|
// _ ga-events
|
|
19
19
|
export * from "./google-analytics/GoogleAnalytics.js";
|
|
20
|
-
export * from "./kibo/index.js";
|
|
21
20
|
export * from "./level-selector/LevelSelector.js";
|
|
22
21
|
export * from "./logo/Logo.js";
|
|
23
22
|
export * from "./media-control/MediaControl.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/kibo/index.ts"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG,CAAC,CAAC,EAAE,aAAa,KAAK,OAAO,GAAG,SAAS,CAAC;AAOtE,KAAK,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/kibo/index.ts"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG,CAAC,CAAC,EAAE,aAAa,KAAK,OAAO,GAAG,SAAS,CAAC;AAOtE,KAAK,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5B,qBAAa,IAAI;IAYH,OAAO,CAAC,OAAO;IAX3B,OAAO,CAAC,WAAW,CAAM;IAEzB,OAAO,CAAC,aAAa,CAA+B;IAEpD,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,MAAM,CAAsC;IAEpD,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,SAAS,CAA6B;gBAE1B,OAAO,GAAE,QAAQ,GAAG,OAAyB;IAoBjE,OAAO,CAAC,OAAO;IA8Cf,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,cAAc;IAqBtB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAIlC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAM7F,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAIvE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI;IAIrE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAQ5C,mBAAmB;CAQpB"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/level-selector/style.scss';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the {@link LevelSelector | level selector} plugin.
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
3
7
|
export interface LevelSelectorPluginSettings {
|
|
4
8
|
/**
|
|
5
9
|
* The maximum resolution to allow in the level selector.
|
|
@@ -15,7 +19,7 @@ export interface LevelSelectorPluginSettings {
|
|
|
15
19
|
labels?: Record<number, string>;
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
|
-
*
|
|
22
|
+
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
19
23
|
* @beta
|
|
20
24
|
*
|
|
21
25
|
* @remarks
|
|
@@ -25,9 +29,7 @@ export interface LevelSelectorPluginSettings {
|
|
|
25
29
|
*
|
|
26
30
|
* - {@link BottomGear}
|
|
27
31
|
*
|
|
28
|
-
* The plugin is rendered as an item in the gear menu.
|
|
29
|
-
*
|
|
30
|
-
* When clicked, it shows a list of quality levels to choose from.
|
|
32
|
+
* The plugin is rendered as an item in the gear menu, which, when clicked, shows a list of quality levels to choose from.
|
|
31
33
|
*
|
|
32
34
|
* Configuration options - {@link LevelSelectorPluginSettings}
|
|
33
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LevelSelector.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/LevelSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED
|
|
1
|
+
{"version":3,"file":"LevelSelector.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/LevelSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAChB;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAE3E;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAK;IAE5B,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACM,MAAM;IAUf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAetB,OAAO,KAAK,QAAQ,GASnB;IAED,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,WAAW,CAAmC;CACvD"}
|
|
@@ -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
|
-
*
|
|
16
|
+
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
17
17
|
* @beta
|
|
18
18
|
*
|
|
19
19
|
* @remarks
|
|
@@ -23,9 +23,7 @@ const VERSION = '2.19.4';
|
|
|
23
23
|
*
|
|
24
24
|
* - {@link BottomGear}
|
|
25
25
|
*
|
|
26
|
-
* The plugin is rendered as an item in the gear menu.
|
|
27
|
-
*
|
|
28
|
-
* When clicked, it shows a list of quality levels to choose from.
|
|
26
|
+
* The plugin is rendered as an item in the gear menu, which, when clicked, shows a list of quality levels to choose from.
|
|
29
27
|
*
|
|
30
28
|
* Configuration options - {@link LevelSelectorPluginSettings}
|
|
31
29
|
*
|
|
@@ -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 {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UICorePlugin, Core } from '@clappr/core';
|
|
2
|
-
import { ZeptoResult } from '../../
|
|
2
|
+
import { ZeptoResult } from '../../types.js';
|
|
3
3
|
import '../../../assets/media-control/media-control.scss';
|
|
4
4
|
import '../../../assets/media-control/plugins.scss';
|
|
5
5
|
/**
|
|
@@ -18,11 +18,11 @@ export declare enum MediaControlEvents {
|
|
|
18
18
|
MEDIACONTROL_GEAR_RENDERED = "mediacontrol:gear:rendered"
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
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
|
|
@@ -95,12 +95,12 @@ export declare class MediaControl extends UICorePlugin {
|
|
|
95
95
|
private get disabled();
|
|
96
96
|
/**
|
|
97
97
|
* @internal
|
|
98
|
-
* @deprecated
|
|
98
|
+
* @deprecated Use core.activeContainer directly
|
|
99
99
|
*/
|
|
100
100
|
get container(): any;
|
|
101
101
|
/**
|
|
102
102
|
* @internal
|
|
103
|
-
* @deprecated
|
|
103
|
+
* @deprecated Use core.activePlayback directly
|
|
104
104
|
*/
|
|
105
105
|
get playback(): any;
|
|
106
106
|
/**
|
|
@@ -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
|
-
*
|
|
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
|
|
@@ -127,14 +129,14 @@ export class MediaControl extends UICorePlugin {
|
|
|
127
129
|
}
|
|
128
130
|
/**
|
|
129
131
|
* @internal
|
|
130
|
-
* @deprecated
|
|
132
|
+
* @deprecated Use core.activeContainer directly
|
|
131
133
|
*/
|
|
132
134
|
get container() {
|
|
133
135
|
return this.core.activeContainer;
|
|
134
136
|
}
|
|
135
137
|
/**
|
|
136
138
|
* @internal
|
|
137
|
-
* @deprecated
|
|
139
|
+
* @deprecated Use core.activePlayback directly
|
|
138
140
|
*/
|
|
139
141
|
get playback() {
|
|
140
142
|
return this.core.activePlayback;
|
|
@@ -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,14 +1,7 @@
|
|
|
1
1
|
import { Core, UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/multi-camera/style.scss';
|
|
3
|
-
type MediaSourceInfo = {
|
|
4
|
-
live: boolean;
|
|
5
|
-
source: string;
|
|
6
|
-
id: number;
|
|
7
|
-
dvr: boolean;
|
|
8
|
-
projection: string | null;
|
|
9
|
-
};
|
|
10
3
|
/**
|
|
11
|
-
*
|
|
4
|
+
* `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
|
|
12
5
|
* @beta
|
|
13
6
|
*/
|
|
14
7
|
export declare class MultiCamera extends UICorePlugin {
|
|
@@ -49,8 +42,8 @@ export declare class MultiCamera extends UICorePlugin {
|
|
|
49
42
|
private showError;
|
|
50
43
|
private hideError;
|
|
51
44
|
private changeById;
|
|
52
|
-
getCamerasList
|
|
53
|
-
getCurrentCamera
|
|
45
|
+
private getCamerasList;
|
|
46
|
+
private getCurrentCamera;
|
|
54
47
|
private findElementById;
|
|
55
48
|
private findIndexById;
|
|
56
49
|
private onShowLevelSelectMenu;
|
|
@@ -59,5 +52,4 @@ export declare class MultiCamera extends UICorePlugin {
|
|
|
59
52
|
private levelElement;
|
|
60
53
|
private highlightCurrentLevel;
|
|
61
54
|
}
|
|
62
|
-
export {};
|
|
63
55
|
//# sourceMappingURL=MultiCamera.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiCamera.d.ts","sourceRoot":"","sources":["../../../src/plugins/multi-camera/MultiCamera.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,IAAI,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAMvF,OAAO,yCAAyC,CAAC;AAqBjD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,aAAa,CAAgC;IAErD,OAAO,CAAC,WAAW,CAAa;IAEhC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,eAAe,CAAS;IAEhC,IAAI,IAAI,WAEP;IAED,IAAI,gBAAgB;;MAEnB;IAED,MAAM,KAAK,OAAO,WAEjB;IAED,IAAI,QAAQ,QAEX;IAED,IAAa,UAAU;;;MAKtB;IAED,IAAa,MAAM;;;MAKlB;gBAEW,IAAI,EAAE,IAAI;IAYb,UAAU;IAOnB,YAAY;IAaZ,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAYX,MAAM;IAwEf,OAAO,CAAC,cAAc;IAUtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IA8BtC,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAK9B"}
|
|
@@ -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
|
-
*
|
|
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.
|