@gcorevideo/player 2.20.9 → 2.20.12
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 +1521 -1524
- package/dist/index.js +101 -106
- package/dist/player.d.ts +141 -100
- package/dist/plugins/index.css +1376 -1379
- package/dist/plugins/index.js +96 -102
- 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.contextmenupluginsettings.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 +4 -174
- package/docs/api/{player.favicon.disable.md → player.faviconpluginsettings.faviconcolor.md} +5 -7
- package/docs/api/{player.dvrcontrols._constructor_.md → player.faviconpluginsettings.md} +17 -8
- 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 +82 -82
- package/docs/api/{player.favicon.configure.md → player.mediacontrol.getcenterpanel.md} +4 -4
- package/docs/api/{player.favicon.destroy.md → player.mediacontrol.getleftpanel.md} +8 -4
- package/docs/api/player.mediacontrol.md +30 -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 +2 -2
- 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 -2
- package/lib/plugins/favicon/Favicon.d.ts +30 -3
- package/lib/plugins/favicon/Favicon.d.ts.map +1 -1
- package/lib/plugins/favicon/Favicon.js +28 -35
- 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 +2 -2
- 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 -22
- package/src/plugins/favicon/Favicon.ts +38 -41
- 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 +274 -455
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.errordesc.md +0 -28
- package/docs/api/player.favicon._constructor_.md +0 -50
- package/docs/api/player.favicon.bindevents.md +0 -18
- package/docs/api/player.favicon.name.md +0 -14
- package/docs/api/player.favicon.supportedversion.md +0 -16
- package/docs/api/player.mediatransport.md +0 -16
|
@@ -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 {
|
package/lib/testUtils.d.ts
CHANGED
|
@@ -39,10 +39,14 @@ export declare function createMockCore(options?: Record<string, unknown>, contai
|
|
|
39
39
|
$el: any;
|
|
40
40
|
activePlayback: any;
|
|
41
41
|
activeContainer: any;
|
|
42
|
+
i18n: {
|
|
43
|
+
t: import("vitest").Mock<(...args: any[]) => any>;
|
|
44
|
+
};
|
|
42
45
|
options: {
|
|
43
46
|
[x: string]: unknown;
|
|
44
47
|
};
|
|
45
48
|
configure: import("vitest").Mock<(...args: any[]) => any>;
|
|
49
|
+
getPlaybackType: import("vitest").Mock<(...args: any[]) => any>;
|
|
46
50
|
getPlugin: import("vitest").Mock<(...args: any[]) => any>;
|
|
47
51
|
load: import("vitest").Mock<(...args: any[]) => any>;
|
|
48
52
|
trigger: <T extends string | symbol>(event: T, ...args: any[]) => boolean;
|
|
@@ -86,10 +90,15 @@ export declare function createMockPlayback(name?: string): Events<string | symbo
|
|
|
86
90
|
trigger(event: string, ...args: any[]): void;
|
|
87
91
|
};
|
|
88
92
|
export declare function createMockContainer(playback?: any): Events<string | symbol, any> & {
|
|
89
|
-
$el: any;
|
|
90
93
|
el: HTMLDivElement;
|
|
91
|
-
getPlugin: import("vitest").Mock<(...args: any[]) => any>;
|
|
92
94
|
playback: any;
|
|
95
|
+
$el: any;
|
|
96
|
+
getDuration: import("vitest").Mock<(...args: any[]) => any>;
|
|
97
|
+
getPlugin: import("vitest").Mock<(...args: any[]) => any>;
|
|
98
|
+
isPlaying: import("vitest").Mock<(...args: any[]) => any>;
|
|
99
|
+
play: import("vitest").Mock<(...args: any[]) => any>;
|
|
100
|
+
seek: import("vitest").Mock<(...args: any[]) => any>;
|
|
101
|
+
trigger: <T extends string | symbol>(event: T, ...args: any[]) => boolean;
|
|
93
102
|
};
|
|
94
103
|
export declare function createMockMediaControl(core: any): UICorePlugin;
|
|
95
104
|
//# sourceMappingURL=testUtils.d.ts.map
|
package/lib/testUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,MAAM;IAErC,SAAS,CAAC,OAAO,EAAE,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG;gBAFjB,OAAO,EAAE,GAAG,EACb,IAAI,EAAE,GAAG,EACR,WAAW,CAAC,EAAE,GAAG,YAAA;IAK7B,IAAI,IAAI,WAEP;IAED,OAAO;IAEP,IAAI;IAEJ,KAAK;IAEL,IAAI;IAEJ,OAAO;IAEP,IAAI;IAEJ,cAAc;IAEd,WAAW;IAIX,QAAQ;IAER,OAAO;IAEP,eAAe;IAIf,kBAAkB;IAIlB,cAAc;IAId,qBAAqB;IAIrB,IAAI;IAEJ,MAAM;IAEN,MAAM;IAEN,SAAS;IAET,eAAe;IAIf,WAAW;IAIX,QAAQ;IAIR,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAGtC;AAED,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../src/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,MAAM,MAAM,eAAe,CAAA;AAElC;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,MAAM;IAErC,SAAS,CAAC,OAAO,EAAE,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,GAAG;IAClB,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG;gBAFjB,OAAO,EAAE,GAAG,EACb,IAAI,EAAE,GAAG,EACR,WAAW,CAAC,EAAE,GAAG,YAAA;IAK7B,IAAI,IAAI,WAEP;IAED,OAAO;IAEP,IAAI;IAEJ,KAAK;IAEL,IAAI;IAEJ,OAAO;IAEP,IAAI;IAEJ,cAAc;IAEd,WAAW;IAIX,QAAQ;IAER,OAAO;IAEP,eAAe;IAIf,kBAAkB;IAIlB,cAAc;IAId,qBAAqB;IAIrB,IAAI;IAEJ,MAAM;IAEN,MAAM;IAEN,SAAS;IAET,eAAe;IAIf,WAAW;IAIX,QAAQ;IAIR,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAGtC;AAED,wBAAgB,cAAc,CAC5B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,SAAS,GAAE,GAA2B;;;;;;;;;;;;;;;;EAqBvC;AAED,wBAAgB,gBAAgB;;;EAK/B;AAED,wBAAgB,mBAAmB;;;;;;EAKlC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;mBA2C7B,MAAM,WAAW,GAAG,EAAE;EAIxC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,GAA0B;;;;;;;;;;EAcvE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,gBAmB/C"}
|
package/lib/testUtils.js
CHANGED
|
@@ -68,10 +68,14 @@ export function createMockCore(options = {}, container = createMockContainer())
|
|
|
68
68
|
$el: $(el),
|
|
69
69
|
activePlayback: container.playback,
|
|
70
70
|
activeContainer: container,
|
|
71
|
+
i18n: {
|
|
72
|
+
t: vi.fn().mockImplementation((key) => key),
|
|
73
|
+
},
|
|
71
74
|
options: {
|
|
72
75
|
...options,
|
|
73
76
|
},
|
|
74
77
|
configure: vi.fn(),
|
|
78
|
+
getPlaybackType: vi.fn(),
|
|
75
79
|
getPlugin: vi.fn(),
|
|
76
80
|
load: vi.fn(),
|
|
77
81
|
trigger: emitter.emit,
|
|
@@ -139,19 +143,34 @@ export function createMockPlayback(name = 'mock') {
|
|
|
139
143
|
}
|
|
140
144
|
export function createMockContainer(playback = createMockPlayback()) {
|
|
141
145
|
const el = document.createElement('div');
|
|
142
|
-
|
|
143
|
-
|
|
146
|
+
const emitter = new Events();
|
|
147
|
+
return Object.assign(emitter, {
|
|
144
148
|
el,
|
|
145
|
-
getPlugin: vi.fn(),
|
|
146
149
|
playback,
|
|
150
|
+
$el: $(el),
|
|
151
|
+
getDuration: vi.fn().mockReturnValue(0),
|
|
152
|
+
getPlugin: vi.fn(),
|
|
153
|
+
isPlaying: vi.fn().mockReturnValue(false),
|
|
154
|
+
play: vi.fn(),
|
|
155
|
+
seek: vi.fn(),
|
|
156
|
+
trigger: emitter.emit,
|
|
147
157
|
});
|
|
148
158
|
}
|
|
149
159
|
export function createMockMediaControl(core) {
|
|
150
160
|
const mediaControl = new UICorePlugin(core);
|
|
161
|
+
mediaControl.$el.html(`<div class="media-control-left-panel" data-media-control></div>
|
|
162
|
+
<div class="media-control-right-panel" data-media-control></div>
|
|
163
|
+
<div class="media-control-center-panel" data-media-control></div>`);
|
|
151
164
|
const elements = {
|
|
152
165
|
gear: $(document.createElement('div')),
|
|
153
166
|
};
|
|
154
167
|
// @ts-ignore
|
|
155
168
|
mediaControl.getElement = vi.fn().mockImplementation((name) => elements[name]);
|
|
169
|
+
// @ts-ignore
|
|
170
|
+
mediaControl.getLeftPanel = vi.fn().mockImplementation(() => mediaControl.$el.find('.media-control-left-panel'));
|
|
171
|
+
// @ts-ignore
|
|
172
|
+
mediaControl.getRightPanel = vi.fn().mockImplementation(() => mediaControl.$el.find('.media-control-right-panel'));
|
|
173
|
+
// @ts-ignore
|
|
174
|
+
mediaControl.getCenterPanel = vi.fn().mockImplementation(() => mediaControl.$el.find('.media-control-center-panel'));
|
|
156
175
|
return mediaControl;
|
|
157
176
|
}
|
package/lib/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { $, Container, Core } from "@clappr/core";
|
|
|
5
5
|
* @remarks
|
|
6
6
|
* When the MIME type is provided, it helps the player determine the appropriate playback engine.
|
|
7
7
|
* If omitted, the player will attempt to detect the type from the source URL extension.
|
|
8
|
-
* @
|
|
8
|
+
* @public
|
|
9
9
|
*/
|
|
10
10
|
export interface PlayerMediaSourceDesc {
|
|
11
11
|
/**
|
|
@@ -20,36 +20,31 @@ export interface PlayerMediaSourceDesc {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* A media source to fetch the media data from
|
|
23
|
-
* @
|
|
23
|
+
* @public
|
|
24
24
|
*/
|
|
25
25
|
export type PlayerMediaSource = string | PlayerMediaSourceDesc;
|
|
26
26
|
/**
|
|
27
27
|
* Debug output category selector
|
|
28
|
-
* @
|
|
28
|
+
* @public
|
|
29
29
|
*/
|
|
30
30
|
export type PlayerDebugTag = 'all' | 'clappr' | 'dash' | 'hls' | 'none';
|
|
31
31
|
/**
|
|
32
32
|
* @remarks `true` is equivalent to `'all'`, `false` is equivalent to `'none'`
|
|
33
|
-
* @
|
|
33
|
+
* @public
|
|
34
34
|
*/
|
|
35
35
|
export type PlayerDebugSettings = PlayerDebugTag | boolean;
|
|
36
36
|
/**
|
|
37
|
-
* Type of a stream
|
|
38
|
-
* @
|
|
37
|
+
* Type of a stream
|
|
38
|
+
* @public
|
|
39
39
|
*/
|
|
40
40
|
export type PlaybackType = 'live' | 'vod';
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @
|
|
42
|
+
* Preferred streaming media delivery protocol
|
|
43
|
+
* @public
|
|
44
44
|
*/
|
|
45
|
-
export type
|
|
45
|
+
export type TransportPreference = 'dash' | 'hls';
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
* @beta
|
|
49
|
-
*/
|
|
50
|
-
export type TransportPreference = MediaTransport;
|
|
51
|
-
/**
|
|
52
|
-
* @beta
|
|
47
|
+
* @public
|
|
53
48
|
* @see {@link https://clappr.github.io/classes/UIContainerPlugin.html},
|
|
54
49
|
* {@link https://clappr.github.io/classes/ContainerPlugin.html}
|
|
55
50
|
*/
|
|
@@ -57,18 +52,18 @@ export type PlayerPlugin = {
|
|
|
57
52
|
name: string;
|
|
58
53
|
};
|
|
59
54
|
/**
|
|
60
|
-
* @
|
|
55
|
+
* @public
|
|
61
56
|
*/
|
|
62
57
|
export type PlayerPluginConstructor = CorePluginConstructor | ContainerPluginConstructor;
|
|
63
58
|
/**
|
|
64
|
-
* @
|
|
59
|
+
* @public
|
|
65
60
|
*/
|
|
66
61
|
export type CorePluginConstructor = {
|
|
67
62
|
new (core: Core): PlayerPlugin;
|
|
68
63
|
type: string;
|
|
69
64
|
};
|
|
70
65
|
/**
|
|
71
|
-
* @
|
|
66
|
+
* @public
|
|
72
67
|
*/
|
|
73
68
|
export type ContainerPluginConstructor = {
|
|
74
69
|
new (container: Container): PlayerPlugin;
|
|
@@ -113,7 +108,7 @@ export type ContainerPluginConstructor = {
|
|
|
113
108
|
* },
|
|
114
109
|
* }
|
|
115
110
|
* ```
|
|
116
|
-
* @
|
|
111
|
+
* @public
|
|
117
112
|
*/
|
|
118
113
|
export interface PlayerConfig extends Record<string, unknown> {
|
|
119
114
|
/**
|
|
@@ -171,16 +166,16 @@ export interface PlayerConfig extends Record<string, unknown> {
|
|
|
171
166
|
/**
|
|
172
167
|
* An ISO 639-1 language code.
|
|
173
168
|
* @example `pt`
|
|
174
|
-
* @
|
|
169
|
+
* @public
|
|
175
170
|
*/
|
|
176
171
|
export type LangTag = string;
|
|
177
172
|
/**
|
|
178
|
-
* @
|
|
173
|
+
* @public
|
|
179
174
|
*/
|
|
180
175
|
export type TranslationKey = string;
|
|
181
176
|
/**
|
|
182
177
|
* A plain JS object that must conform to the DASH.js settings schema.
|
|
183
|
-
* @
|
|
178
|
+
* @public
|
|
184
179
|
* {@link https://cdn.dashjs.org/latest/jsdoc/module-Settings.html | DASH.js settings}
|
|
185
180
|
*/
|
|
186
181
|
export type DashSettings = Record<string, unknown>;
|
|
@@ -206,12 +201,12 @@ export type DashSettings = Record<string, unknown>;
|
|
|
206
201
|
* }
|
|
207
202
|
* ```
|
|
208
203
|
*
|
|
209
|
-
* @
|
|
204
|
+
* @public
|
|
210
205
|
*/
|
|
211
206
|
export type TranslationSettings = Partial<Record<LangTag, Record<TranslationKey, string>>>;
|
|
212
207
|
/**
|
|
213
208
|
* Dimensions of the player container DOM element.
|
|
214
|
-
* @
|
|
209
|
+
* @public
|
|
215
210
|
*/
|
|
216
211
|
export type ContainerSize = {
|
|
217
212
|
width: number;
|
|
@@ -219,7 +214,7 @@ export type ContainerSize = {
|
|
|
219
214
|
};
|
|
220
215
|
/**
|
|
221
216
|
* A top-level event on the player object
|
|
222
|
-
* @
|
|
217
|
+
* @public
|
|
223
218
|
*/
|
|
224
219
|
export declare enum PlayerEvent {
|
|
225
220
|
/**
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,qBAAqB,CAAA;AAE9D;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAEvE;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,OAAO,CAAA;AAE1D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAA;AAEzC;;;GAGG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
CHANGED
package/package.json
CHANGED
package/src/Player.ts
CHANGED
|
@@ -26,7 +26,7 @@ import { registerPlaybacks } from './playback/index.js'
|
|
|
26
26
|
import { PlaybackError, TimePosition } from './playback.types.js'
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* @
|
|
29
|
+
* @public
|
|
30
30
|
*/
|
|
31
31
|
export type PlayerEventParams<E extends PlayerEvent> =
|
|
32
32
|
E extends PlayerEvent.Seek
|
|
@@ -46,7 +46,7 @@ export type PlayerEventParams<E extends PlayerEvent> =
|
|
|
46
46
|
/**
|
|
47
47
|
* Type of a listener callback function for a player event.
|
|
48
48
|
* See the description of the event parameters in {@link PlayerEvent}.
|
|
49
|
-
* @
|
|
49
|
+
* @public
|
|
50
50
|
*/
|
|
51
51
|
export type PlayerEventHandler<E extends PlayerEvent> = (
|
|
52
52
|
...args: PlayerEventParams<E>
|
|
@@ -67,15 +67,15 @@ const DEFAULT_OPTIONS: PlayerConfig = {
|
|
|
67
67
|
|
|
68
68
|
/**
|
|
69
69
|
* Module to perform the playback.
|
|
70
|
-
* @
|
|
70
|
+
* @public
|
|
71
71
|
*/
|
|
72
72
|
export type PlaybackModule = 'dash' | 'hls' | 'html5_video'
|
|
73
73
|
|
|
74
74
|
type PluginOptions = Record<string, unknown>
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
78
|
-
* @
|
|
77
|
+
* `MAIN` component to use in the application code.
|
|
78
|
+
* @public
|
|
79
79
|
* @remarks
|
|
80
80
|
* The Player object provides very basic API to control playback.
|
|
81
81
|
* To build a sophisticated UI, use the plugins framework to tap into the Clappr core.
|
package/src/index.ts
CHANGED
|
@@ -3,9 +3,26 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @remarks
|
|
5
5
|
* This package provides a video player for the Gcore streaming platform.
|
|
6
|
-
* It is built on top of the Clappr library and provides a framework for building custom integrations.
|
|
6
|
+
* It is built on top of the {@link https://github.com/clappr/clappr | Clappr} library and provides a framework for building custom integrations.
|
|
7
7
|
* Start with {@link Player} for more information.
|
|
8
8
|
*
|
|
9
|
+
* Various plugins (marked with `PLUGIN` keyword) are available to extend the player with additional features.
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { Player, MediaControl, ErrorScreen } from '@gcorevideo/player'
|
|
13
|
+
*
|
|
14
|
+
* Player.registerPlugin(MediaControl)
|
|
15
|
+
* Player.registerPlugin(ErrorScreen)
|
|
16
|
+
*
|
|
17
|
+
* const player = new Player({
|
|
18
|
+
* autoPlay: true,
|
|
19
|
+
* mute: true,
|
|
20
|
+
* sources: [{ source: 'https://example.com/a.mpd', mimeType: 'application/dash+xml' }],
|
|
21
|
+
* })
|
|
22
|
+
*
|
|
23
|
+
* player.attachTo(document.getElementById('container'))
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
9
26
|
* @packageDocumentation
|
|
10
27
|
*/
|
|
11
28
|
export * from './index.core.js'
|
package/src/playback.types.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Playback time in seconds since the beginning of the stream (or a segment for the live streams)
|
|
3
|
-
* @
|
|
3
|
+
* @public
|
|
4
4
|
*/
|
|
5
5
|
export type TimeValue = number
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Current playback time and total duration of the media.
|
|
9
|
-
* @
|
|
9
|
+
* @public
|
|
10
10
|
*/
|
|
11
11
|
export interface TimePosition {
|
|
12
12
|
/**
|
|
@@ -35,7 +35,7 @@ export type TimeUpdate = TimePosition & {
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* A level of quality within a media source.
|
|
38
|
-
* @
|
|
38
|
+
* @public
|
|
39
39
|
*/
|
|
40
40
|
export interface QualityLevel {
|
|
41
41
|
/**
|
|
@@ -58,7 +58,7 @@ export interface QualityLevel {
|
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* Codes of errors occurring within the playback component.
|
|
61
|
-
* @
|
|
61
|
+
* @public
|
|
62
62
|
*/
|
|
63
63
|
export enum PlaybackErrorCode {
|
|
64
64
|
/**
|
|
@@ -77,19 +77,19 @@ export enum PlaybackErrorCode {
|
|
|
77
77
|
|
|
78
78
|
/**
|
|
79
79
|
* Levels of severity of errors. Non-fatal errors usually can be ignored.
|
|
80
|
-
* @
|
|
80
|
+
* @public
|
|
81
81
|
*/
|
|
82
82
|
export type ErrorLevel = 'FATAL' | 'WARN' | 'INFO'
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
85
|
* Subsystems of a player component.
|
|
86
|
-
* @
|
|
86
|
+
* @public
|
|
87
87
|
*/
|
|
88
88
|
export type PlayerComponentType = 'container' | 'core' | 'playback'
|
|
89
89
|
|
|
90
90
|
/**
|
|
91
91
|
* An error occurred during the playback.
|
|
92
|
-
* @
|
|
92
|
+
* @public
|
|
93
93
|
*/
|
|
94
94
|
export interface PlaybackError {
|
|
95
95
|
/**
|
|
@@ -127,5 +127,6 @@ export interface PlaybackError {
|
|
|
127
127
|
UI?: {
|
|
128
128
|
title: string
|
|
129
129
|
message: string
|
|
130
|
+
icon?: string
|
|
130
131
|
}
|
|
131
132
|
}
|
|
@@ -13,7 +13,7 @@ const T = 'plugins.big_mute_button'
|
|
|
13
13
|
// TODO rewrite as a container plugin
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* `PLUGIN` that displays a big mute button over the video when it's muted.
|
|
17
17
|
* Once pressed, it unmutes the video.
|
|
18
18
|
* @beta
|
|
19
19
|
*/
|
|
@@ -56,7 +56,6 @@ export class BigMuteButton extends UICorePlugin {
|
|
|
56
56
|
* @internal
|
|
57
57
|
*/
|
|
58
58
|
override bindEvents() {
|
|
59
|
-
super.bindEvents()
|
|
60
59
|
this.listenTo(this.core, Events.CORE_READY, this.onCoreReady)
|
|
61
60
|
this.listenTo(this.core, 'core:advertisement:start', this.onStartAd)
|
|
62
61
|
this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd)
|
|
@@ -23,7 +23,7 @@ const T = 'plugins.bottom_gear';
|
|
|
23
23
|
export type GearItemElement = 'quality' | 'rate' | 'nerd';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* `PLUGIN` that adds the gear button with an extra options menu on the right side of the {@link MediaControl | media control} UI
|
|
27
27
|
* @beta
|
|
28
28
|
* @remarks
|
|
29
29
|
* The plugins provides a base for attaching custom settings UI in the gear menu
|
|
@@ -23,7 +23,7 @@ type UriToMeasureBandwidth = {
|
|
|
23
23
|
const updateMetrics = () => {};
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* `PLUGIN` that collects useful statistics about playback performance.
|
|
27
27
|
* @beta
|
|
28
28
|
* @remarks
|
|
29
29
|
* This plugin does not render anything and is supposed to be extended or used together with other plugins that actually render something.
|
|
@@ -12,7 +12,7 @@ type Timer = ReturnType<typeof setTimeout>
|
|
|
12
12
|
const T = 'plugins.click_to_pause_custom'
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* `PLUGIN` that adds a behavior of toggling the playback state on click over the container
|
|
16
16
|
* @beta
|
|
17
17
|
*/
|
|
18
18
|
export class ClickToPause extends ContainerPlugin {
|
|
@@ -18,7 +18,7 @@ type MenuOption = {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Context menu plugin settings
|
|
22
22
|
* @beta
|
|
23
23
|
*/
|
|
24
24
|
export interface ContextMenuPluginSettings {
|
|
@@ -28,7 +28,7 @@ export interface ContextMenuPluginSettings {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* `PLUGIN` that displays a small context menu when clicked on the player container.
|
|
32
32
|
* @beta
|
|
33
33
|
* @remarks
|
|
34
34
|
* Configuration options - {@link ContextMenuPluginSettings}
|