@gcorevideo/player 2.20.3 → 2.20.5
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/error-screen/error_screen.ejs +3 -1
- package/dist/core.js +436 -210
- package/dist/index.css +1223 -1223
- package/dist/index.js +580 -392
- package/dist/player.d.ts +10 -0
- package/dist/plugins/index.css +754 -754
- package/dist/plugins/index.js +122 -163
- package/docs/api/player.contextmenupluginsettings.label.md +3 -0
- package/docs/api/player.contextmenupluginsettings.md +8 -3
- package/docs/api/player.contextmenupluginsettings.preventshowcontextmenu.md +3 -0
- package/docs/api/player.contextmenupluginsettings.url.md +3 -0
- package/docs/api/player.md +6 -2
- package/docs/api/player.multicamera._constructor_.md +3 -0
- package/docs/api/player.multicamera.activebyid.md +3 -0
- package/docs/api/player.multicamera.attributes.md +3 -0
- package/docs/api/player.multicamera.bindevents.md +3 -0
- package/docs/api/player.multicamera.events.md +3 -0
- package/docs/api/player.multicamera.getcameraslist.md +3 -0
- package/docs/api/player.multicamera.getcurrentcamera.md +3 -0
- package/docs/api/player.multicamera.md +28 -1
- package/docs/api/player.multicamera.name.md +3 -0
- package/docs/api/player.multicamera.render.md +3 -0
- package/docs/api/player.multicamera.supportedversion.md +3 -0
- package/docs/api/player.multicamera.template.md +3 -0
- package/docs/api/player.multicamera.unbindevents.md +3 -0
- package/docs/api/player.multicamera.version.md +3 -0
- package/docs/api/player.volumefadeevents.md +7 -0
- package/docs/api/player.zeptoresult.md +1 -0
- package/lib/Player.d.ts +5 -3
- package/lib/Player.d.ts.map +1 -1
- package/lib/Player.js +32 -8
- package/lib/internal.types.d.ts +7 -7
- package/lib/internal.types.d.ts.map +1 -1
- package/lib/playback/BasePlayback.d.ts +11 -0
- package/lib/playback/BasePlayback.d.ts.map +1 -0
- package/lib/playback/BasePlayback.js +33 -0
- package/lib/playback/dash-playback/DashPlayback.d.ts +3 -2
- package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/playback/dash-playback/DashPlayback.js +7 -7
- package/lib/playback/hls-playback/HlsPlayback.d.ts +2 -2
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +8 -5
- package/lib/playback/utils.d.ts +2 -0
- package/lib/playback/utils.d.ts.map +1 -0
- package/lib/playback/utils.js +1 -0
- package/lib/playback.types.d.ts +10 -3
- package/lib/playback.types.d.ts.map +1 -1
- package/lib/playback.types.js +3 -3
- package/lib/plugins/context-menu/ContextMenu.d.ts +4 -0
- package/lib/plugins/context-menu/ContextMenu.d.ts.map +1 -1
- package/lib/plugins/context-menu/ContextMenu.js +1 -2
- package/lib/plugins/error-screen/ErrorScreen.d.ts +39 -24
- package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
- package/lib/plugins/error-screen/ErrorScreen.js +70 -136
- package/lib/plugins/media-control/MediaControl.d.ts +1 -1
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +7 -5
- package/lib/plugins/multi-camera/MultiCamera.d.ts +1 -0
- package/lib/plugins/multi-camera/MultiCamera.d.ts.map +1 -1
- package/lib/plugins/multi-camera/MultiCamera.js +5 -5
- package/lib/plugins/poster/Poster.js +1 -1
- package/lib/plugins/seek-time/SeekTime.js +1 -1
- package/lib/plugins/share/Share.js +1 -1
- package/lib/plugins/source-controller/SourceController.d.ts +2 -1
- package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
- package/lib/plugins/source-controller/SourceController.js +12 -6
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts +2 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +19 -3
- package/lib/plugins/volume-fade/VolumeFade.d.ts +4 -0
- package/lib/plugins/volume-fade/VolumeFade.d.ts.map +1 -1
- package/lib/plugins/volume-fade/VolumeFade.js +4 -0
- package/lib/testUtils.d.ts +66 -2
- package/lib/testUtils.d.ts.map +1 -1
- package/lib/testUtils.js +95 -2
- package/lib/types.d.ts +9 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/utils/types.d.ts +1 -0
- package/lib/utils/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/release_notes +297 -0
- package/src/Player.ts +103 -48
- package/src/__tests__/Player.test.ts +25 -4
- package/src/internal.types.ts +86 -79
- package/src/playback/BasePlayback.ts +41 -0
- package/src/playback/dash-playback/DashPlayback.ts +11 -15
- package/src/playback/hls-playback/HlsPlayback.ts +7 -5
- package/src/playback/utils.ts +2 -0
- package/src/playback.types.ts +11 -3
- package/src/plugins/context-menu/ContextMenu.ts +5 -2
- package/src/plugins/error-screen/ErrorScreen.ts +121 -195
- package/src/plugins/error-screen/__tests__/ErrorScreen.test.ts +113 -0
- package/src/plugins/error-screen/__tests__/__snapshots__/ErrorScreen.test.ts.snap +20 -0
- package/src/plugins/level-selector/__tests__/LevelSelector.test.ts +32 -57
- package/src/plugins/media-control/MediaControl.ts +8 -5
- package/src/plugins/multi-camera/MultiCamera.ts +5 -5
- 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/source-controller/SourceController.ts +20 -14
- package/src/plugins/source-controller/__tests__/SourceController.test.ts +29 -46
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +20 -3
- package/src/plugins/volume-fade/VolumeFade.ts +4 -0
- package/src/testUtils.ts +100 -3
- package/src/types.ts +11 -1
- package/src/utils/types.ts +1 -0
- package/temp/player.api.json +24 -24
- package/tsconfig.tsbuildinfo +1 -1
package/lib/playback.types.d.ts
CHANGED
|
@@ -61,15 +61,15 @@ export declare enum PlaybackErrorCode {
|
|
|
61
61
|
/**
|
|
62
62
|
* An unknown or uncategorised error.
|
|
63
63
|
*/
|
|
64
|
-
Generic =
|
|
64
|
+
Generic = "GENERIC_ERROR",
|
|
65
65
|
/**
|
|
66
66
|
* The media source is not available. Typically a network error.
|
|
67
67
|
*/
|
|
68
|
-
MediaSourceUnavailable =
|
|
68
|
+
MediaSourceUnavailable = "MEDIA_SOURCE_UNAVAILABLE",
|
|
69
69
|
/**
|
|
70
70
|
* The media source is not accessible due to some protection policy.
|
|
71
71
|
*/
|
|
72
|
-
MediaSourceAccessDenied =
|
|
72
|
+
MediaSourceAccessDenied = "MEDIA_SOURCE_ACCESS_DENIED"
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* Levels of severity of errors. Non-fatal errors usually can be ignored.
|
|
@@ -114,5 +114,12 @@ export interface PlaybackError {
|
|
|
114
114
|
* Component subsystem of the error origin
|
|
115
115
|
*/
|
|
116
116
|
scope: PlayerComponentType;
|
|
117
|
+
/**
|
|
118
|
+
* UI description of the error.
|
|
119
|
+
*/
|
|
120
|
+
UI?: {
|
|
121
|
+
title: string;
|
|
122
|
+
message: string;
|
|
123
|
+
};
|
|
117
124
|
}
|
|
118
125
|
//# sourceMappingURL=playback.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,
|
|
1
|
+
{"version":3,"file":"playback.types.d.ts","sourceRoot":"","sources":["../src/playback.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,SAAS,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;OAEG;IACH,OAAO,kBAAkB;IACzB;;OAEG;IACH,sBAAsB,6BAA6B;IACnD;;OAEG;IACH,uBAAuB,+BAA+B;CACvD;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;IAE1B;;OAEG;IACH,EAAE,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF"}
|
package/lib/playback.types.js
CHANGED
|
@@ -7,13 +7,13 @@ export var PlaybackErrorCode;
|
|
|
7
7
|
/**
|
|
8
8
|
* An unknown or uncategorised error.
|
|
9
9
|
*/
|
|
10
|
-
PlaybackErrorCode[
|
|
10
|
+
PlaybackErrorCode["Generic"] = "GENERIC_ERROR";
|
|
11
11
|
/**
|
|
12
12
|
* The media source is not available. Typically a network error.
|
|
13
13
|
*/
|
|
14
|
-
PlaybackErrorCode[
|
|
14
|
+
PlaybackErrorCode["MediaSourceUnavailable"] = "MEDIA_SOURCE_UNAVAILABLE";
|
|
15
15
|
/**
|
|
16
16
|
* The media source is not accessible due to some protection policy.
|
|
17
17
|
*/
|
|
18
|
-
PlaybackErrorCode[
|
|
18
|
+
PlaybackErrorCode["MediaSourceAccessDenied"] = "MEDIA_SOURCE_ACCESS_DENIED";
|
|
19
19
|
})(PlaybackErrorCode || (PlaybackErrorCode = {}));
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Container, UIContainerPlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/context-menu/context_menu.scss';
|
|
3
|
+
/**
|
|
4
|
+
* The plugin adds a context menu to the player.
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
3
7
|
export interface ContextMenuPluginSettings {
|
|
4
8
|
label?: string;
|
|
5
9
|
url?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,gDAAgD,CAAA;AASvD,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAYhC;;OAEG;IACM,UAAU;
|
|
1
|
+
{"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-menu/ContextMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,SAAS,EACT,iBAAiB,EAClB,MAAM,cAAc,CAAA;AAIrB,OAAO,gDAAgD,CAAA;AASvD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAChD,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO,CAAC,WAAW,CAAmB;IAEtC;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,UAAU;;MAEtB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAEzD,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,aAAa,GAKxB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;gBAEW,SAAS,EAAE,SAAS;IAYhC;;OAEG;IACM,UAAU;IASnB;;OAEG;IACM,OAAO;IAKhB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,cAAc;IAItB;;OAEG;IACM,MAAM;IASf,OAAO,CAAC,eAAe,CAEtB;CACF"}
|
|
@@ -61,7 +61,7 @@ export class ContextMenu extends UIContainerPlugin {
|
|
|
61
61
|
this._url = this.options.contextMenu.url;
|
|
62
62
|
}
|
|
63
63
|
this.render();
|
|
64
|
-
this.
|
|
64
|
+
$('body').on('click', this.hideOnBodyClick);
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* @internal
|
|
@@ -69,7 +69,6 @@ export class ContextMenu extends UIContainerPlugin {
|
|
|
69
69
|
bindEvents() {
|
|
70
70
|
this.listenTo(this.container, Events.CONTAINER_CONTEXTMENU, this.toggleContextMenu);
|
|
71
71
|
this.listenTo(this.container, Events.CONTAINER_CLICK, this.hide);
|
|
72
|
-
$('body').on('click', this.hideOnBodyClick);
|
|
73
72
|
}
|
|
74
73
|
/**
|
|
75
74
|
* @internal
|
|
@@ -1,48 +1,63 @@
|
|
|
1
1
|
import { UICorePlugin } from '@clappr/core';
|
|
2
2
|
import '../../../assets/error-screen/error_screen.scss';
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export type ErrorDesc = {
|
|
4
|
+
description: string;
|
|
5
|
+
level: string;
|
|
6
6
|
code: string;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
origin: string;
|
|
8
|
+
scope: string;
|
|
9
|
+
raw?: string;
|
|
10
|
+
UI?: {
|
|
11
|
+
icon?: string;
|
|
12
|
+
title: string;
|
|
13
|
+
message: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export type ErrorScreenPluginSettings = {
|
|
17
|
+
noReload?: boolean;
|
|
9
18
|
};
|
|
10
19
|
/**
|
|
11
|
-
* Displays
|
|
20
|
+
* Displays an error nicely in the overlay on top of the player.
|
|
12
21
|
* @beta
|
|
13
22
|
*/
|
|
14
23
|
export declare class ErrorScreen extends UICorePlugin {
|
|
15
|
-
private _retry;
|
|
16
24
|
private err;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
20
28
|
get name(): string;
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
21
32
|
get supportedVersion(): {
|
|
22
33
|
min: string;
|
|
23
34
|
};
|
|
24
|
-
|
|
25
|
-
|
|
35
|
+
private static readonly template;
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
26
39
|
get attributes(): {
|
|
27
40
|
class: string;
|
|
28
41
|
'data-error-screen': string;
|
|
29
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
30
46
|
bindEvents(): void;
|
|
31
|
-
private onCoreReady;
|
|
32
47
|
private onPlay;
|
|
33
|
-
private
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
private unmount;
|
|
49
|
+
/**
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
get events(): {
|
|
53
|
+
'click .player-error-screen__reload': string;
|
|
54
|
+
};
|
|
36
55
|
private reload;
|
|
37
|
-
private
|
|
38
|
-
private onContainerChanged;
|
|
39
|
-
private onStartAd;
|
|
40
|
-
private onFinishAd;
|
|
56
|
+
private onActiveContainerChanged;
|
|
41
57
|
private onError;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
/**
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
45
61
|
render(): this;
|
|
46
62
|
}
|
|
47
|
-
export {};
|
|
48
63
|
//# sourceMappingURL=ErrorScreen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorScreen.d.ts","sourceRoot":"","sources":["../../../src/plugins/error-screen/ErrorScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
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;AAGvD,MAAM,MAAM,SAAS,GAAG;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAAA;AASD,MAAM,MAAM,yBAAyB,GAAG;IACtC,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;IAOf;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACM,MAAM;CAkBhB"}
|
|
@@ -1,184 +1,118 @@
|
|
|
1
|
-
import { UICorePlugin, Events, template
|
|
1
|
+
import { UICorePlugin, Events, template } from '@clappr/core';
|
|
2
2
|
import { trace } from '@gcorevideo/utils';
|
|
3
3
|
import { CLAPPR_VERSION } from '../../build.js';
|
|
4
4
|
import reloadIcon from '../../../assets/icons/old/reload.svg';
|
|
5
5
|
import templateHtml from '../../../assets/error-screen/error_screen.ejs';
|
|
6
6
|
import '../../../assets/error-screen/error_screen.scss';
|
|
7
|
-
const TIME_FOR_UPDATE = 10000;
|
|
8
|
-
const MAX_RETRY = 10;
|
|
9
7
|
const T = 'plugins.error_screen';
|
|
10
8
|
/**
|
|
11
|
-
* Displays
|
|
9
|
+
* Displays an error nicely in the overlay on top of the player.
|
|
12
10
|
* @beta
|
|
13
11
|
*/
|
|
14
12
|
export class ErrorScreen extends UICorePlugin {
|
|
15
|
-
_retry = 0;
|
|
16
13
|
err = null;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
20
17
|
get name() {
|
|
21
|
-
return '
|
|
18
|
+
return 'error_screen';
|
|
22
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
23
|
get supportedVersion() {
|
|
24
24
|
return { min: CLAPPR_VERSION };
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return this.core.activeContainer;
|
|
31
|
-
}
|
|
26
|
+
static template = template(templateHtml);
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
32
30
|
get attributes() {
|
|
33
31
|
return {
|
|
34
|
-
|
|
32
|
+
class: 'player-error-screen',
|
|
35
33
|
'data-error-screen': '',
|
|
36
34
|
};
|
|
37
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
38
39
|
bindEvents() {
|
|
39
40
|
this.listenTo(this.core, Events.ERROR, this.onError);
|
|
40
|
-
this.listenTo(this.core, Events.
|
|
41
|
-
this.listenTo(this.core, 'core:advertisement:start', this.onStartAd);
|
|
42
|
-
this.listenTo(this.core, 'core:advertisement:finish', this.onFinishAd);
|
|
43
|
-
this.listenTo(this.core.mediaControl, Events.MEDIACONTROL_CONTAINERCHANGED, this.onContainerChanged);
|
|
44
|
-
}
|
|
45
|
-
onCoreReady() {
|
|
46
|
-
trace(`${T} onCoreReady`);
|
|
47
|
-
if (this.core.activePlayback) {
|
|
48
|
-
this.listenTo(this.core.activePlayback, Events.PLAYBACK_PLAY, this.onPlay);
|
|
49
|
-
}
|
|
41
|
+
this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
|
|
50
42
|
}
|
|
51
43
|
onPlay() {
|
|
52
44
|
trace(`${T} onPlay`);
|
|
53
|
-
this.
|
|
45
|
+
this.unmount();
|
|
54
46
|
}
|
|
55
|
-
|
|
56
|
-
trace(`${T}
|
|
57
|
-
this._retry = 0;
|
|
47
|
+
unmount() {
|
|
48
|
+
trace(`${T} unmount`);
|
|
58
49
|
this.err = null;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this.timeout = null;
|
|
62
|
-
}
|
|
63
|
-
this.$el.hide();
|
|
64
|
-
}
|
|
65
|
-
unBindEvents() {
|
|
66
|
-
// @ts-ignore
|
|
67
|
-
this.stopListening(this.core, 'core:advertisement:start');
|
|
68
|
-
// @ts-ignore
|
|
69
|
-
this.stopListening(this.core, 'core:advertisement:finish');
|
|
70
|
-
// @ts-ignore
|
|
71
|
-
this.stopListening(this.core, Events.ERROR);
|
|
50
|
+
this.$el.empty();
|
|
51
|
+
// this.$el.hide();
|
|
72
52
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
53
|
+
/**
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
get events() {
|
|
57
|
+
return {
|
|
58
|
+
'click .player-error-screen__reload': 'reload',
|
|
59
|
+
};
|
|
76
60
|
}
|
|
77
61
|
reload() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
this.core.configure({
|
|
64
|
+
reloading: true,
|
|
65
|
+
source: this.core.options.source,
|
|
66
|
+
sources: this.core.options.sources,
|
|
67
|
+
});
|
|
68
|
+
}, 0);
|
|
69
|
+
}
|
|
70
|
+
onActiveContainerChanged() {
|
|
71
|
+
trace(`${T} onActiveContainerChanged`, {
|
|
72
|
+
reloading: this.core.options.reloading,
|
|
82
73
|
});
|
|
83
|
-
this.core.activeContainer.mediaControlDisabled = false;
|
|
84
|
-
this.unbindReload();
|
|
85
|
-
}
|
|
86
|
-
unbindReload() {
|
|
87
|
-
this.reloadButton && this.reloadButton.off('click');
|
|
88
|
-
}
|
|
89
|
-
onContainerChanged() {
|
|
90
74
|
this.err = null;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
this.hide();
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
onFinishAd() {
|
|
104
|
-
this.hideValue = false;
|
|
105
|
-
if (this.err) {
|
|
106
|
-
this.container.disableMediaControl();
|
|
107
|
-
this.container.stop();
|
|
108
|
-
this.show();
|
|
75
|
+
this.listenTo(this.core.activeContainer.playback, Events.PLAYBACK_PLAY, this.onPlay);
|
|
76
|
+
if (this.core.options.reloading) {
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
this.core.options.reloading = false;
|
|
79
|
+
this.unmount();
|
|
80
|
+
this.core.activeContainer.play({
|
|
81
|
+
reloading: true,
|
|
82
|
+
});
|
|
83
|
+
}, 0);
|
|
109
84
|
}
|
|
110
85
|
}
|
|
111
86
|
onError(err) {
|
|
112
87
|
trace(`${T} onError`, { err });
|
|
113
|
-
if (err.
|
|
114
|
-
err
|
|
115
|
-
|
|
88
|
+
if (err.UI) {
|
|
89
|
+
if (this.err) {
|
|
90
|
+
this.unmount();
|
|
91
|
+
}
|
|
116
92
|
this.err = {
|
|
117
|
-
title:
|
|
118
|
-
message:
|
|
119
|
-
code:
|
|
120
|
-
|
|
121
|
-
icon: '',
|
|
122
|
-
reloadIcon,
|
|
93
|
+
title: err.UI.title,
|
|
94
|
+
message: err.UI.message,
|
|
95
|
+
code: err.code,
|
|
96
|
+
icon: err.UI.icon,
|
|
123
97
|
};
|
|
124
|
-
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
if (this.options.errorScreen?.neverStopToRetry) {
|
|
128
|
-
this._retry = 0;
|
|
129
|
-
}
|
|
130
|
-
if (this._retry >= MAX_RETRY) {
|
|
131
|
-
this.drying();
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
const ctp = this.container.getPlugin('click_to_pause_custom');
|
|
135
|
-
const toggleCTP = !!ctp?.enabled;
|
|
136
|
-
if (toggleCTP) {
|
|
137
|
-
// clickToPausePlugin.afterEnabled = true;
|
|
138
|
-
ctp.disable();
|
|
139
|
-
}
|
|
140
|
-
this.timeout = setTimeout(() => {
|
|
141
|
-
if (toggleCTP) {
|
|
142
|
-
ctp.enable();
|
|
143
|
-
}
|
|
144
|
-
this.reload();
|
|
145
|
-
}, TIME_FOR_UPDATE);
|
|
146
|
-
const spinnerPlugin = this.container.getPlugin('spinner');
|
|
147
|
-
if (spinnerPlugin) {
|
|
148
|
-
spinnerPlugin.show(); // TODO remove?
|
|
149
|
-
setTimeout(() => spinnerPlugin.show(), 0);
|
|
150
|
-
}
|
|
98
|
+
this.render();
|
|
151
99
|
}
|
|
152
100
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
this._retry = 0;
|
|
157
|
-
if (!this.hideValue) {
|
|
158
|
-
this.container.disableMediaControl();
|
|
159
|
-
this.container.stop();
|
|
160
|
-
this.show();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
show(err) {
|
|
164
|
-
if (err) {
|
|
165
|
-
this.err = err;
|
|
166
|
-
}
|
|
167
|
-
// TODO use container.disableMediaControl() instead
|
|
168
|
-
this.core.mediaControl.disable();
|
|
169
|
-
this.render();
|
|
170
|
-
this.$el.show();
|
|
171
|
-
}
|
|
172
|
-
hide() {
|
|
173
|
-
this.$el.hide();
|
|
174
|
-
}
|
|
101
|
+
/**
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
175
104
|
render() {
|
|
176
105
|
if (!this.err) {
|
|
177
106
|
return this;
|
|
178
107
|
}
|
|
179
|
-
this.$el.html(
|
|
180
|
-
|
|
181
|
-
|
|
108
|
+
this.$el.html(ErrorScreen.template({
|
|
109
|
+
...this.err,
|
|
110
|
+
reloadIcon: this.options.errorScreen?.noReload ? null : reloadIcon,
|
|
111
|
+
}));
|
|
112
|
+
// TODO append to container instead of core?
|
|
113
|
+
if (!this.el.parentElement) {
|
|
114
|
+
this.core.$el.append(this.el);
|
|
115
|
+
}
|
|
182
116
|
return this;
|
|
183
117
|
}
|
|
184
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,YAAY,EAMZ,IAAI,EACL,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// license that can be found in the LICENSE file.
|
|
4
4
|
import assert from 'assert';
|
|
5
5
|
import { Events, UICorePlugin, Browser, Playback, Utils, template, $, } from '@clappr/core';
|
|
6
|
-
import { reportError } from '@gcorevideo/utils';
|
|
6
|
+
import { reportError, trace } from '@gcorevideo/utils';
|
|
7
7
|
import { Kibo } from '../kibo/index.js';
|
|
8
8
|
import { CLAPPR_VERSION } from '../../build.js';
|
|
9
9
|
import { getPageX, isFullscreen } from '../utils.js';
|
|
@@ -262,9 +262,10 @@ export class MediaControl extends UICorePlugin {
|
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
/**
|
|
265
|
-
*
|
|
265
|
+
* Hides the media control UI
|
|
266
266
|
*/
|
|
267
267
|
disable() {
|
|
268
|
+
trace(`${T} disable`);
|
|
268
269
|
this.userDisabled = true;
|
|
269
270
|
this.hide();
|
|
270
271
|
this.unbindKeyEvents();
|
|
@@ -274,6 +275,7 @@ export class MediaControl extends UICorePlugin {
|
|
|
274
275
|
* Reenables the plugin disabled earlier with the {@link MediaControl.disable} method
|
|
275
276
|
*/
|
|
276
277
|
enable() {
|
|
278
|
+
trace(`${T} enable`);
|
|
277
279
|
if (this.options.chromeless) {
|
|
278
280
|
return;
|
|
279
281
|
}
|
|
@@ -951,13 +953,13 @@ export class MediaControl extends UICorePlugin {
|
|
|
951
953
|
destroy() {
|
|
952
954
|
$(document).unbind('mouseup', this.stopDrag);
|
|
953
955
|
$(document).unbind('mousemove', this.updateDrag);
|
|
956
|
+
$(document).unbind('touchend', this.stopDrag);
|
|
957
|
+
$(document).unbind('touchmove', this.updateDrag);
|
|
954
958
|
this.unbindKeyEvents();
|
|
955
|
-
// @ts-ignore
|
|
956
|
-
this.stopListening();
|
|
957
959
|
return super.destroy();
|
|
958
960
|
}
|
|
959
961
|
configure() {
|
|
960
|
-
this.advertisementPlaying ? this.disable() : this.enable()
|
|
962
|
+
// this.advertisementPlaying ? this.disable() : this.enable()
|
|
961
963
|
this.trigger(Events.MEDIACONTROL_OPTIONS_CHANGE);
|
|
962
964
|
}
|
|
963
965
|
/**
|
|
@@ -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;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD
|
|
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;AASjD,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAA;AAMD;;;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,cAAc;IAId,gBAAgB;IAIhB,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"}
|
|
@@ -7,9 +7,10 @@ import streamsIcon from '../../../assets/icons/old/streams.svg';
|
|
|
7
7
|
import streamsMomentoIcon from '../../../assets/icons/old/language.svg';
|
|
8
8
|
import streamsWhiteNightsIcon from '../../../assets/icons/old/wn.svg';
|
|
9
9
|
const VERSION = '0.0.1';
|
|
10
|
-
const T = 'plugins.
|
|
10
|
+
const T = 'plugins.multicamera';
|
|
11
11
|
/**
|
|
12
12
|
* The plugin adds support for loading multiple streams and switching between them using the media control UI.
|
|
13
|
+
* @beta
|
|
13
14
|
*/
|
|
14
15
|
export class MultiCamera extends UICorePlugin {
|
|
15
16
|
currentCamera = null;
|
|
@@ -18,7 +19,7 @@ export class MultiCamera extends UICorePlugin {
|
|
|
18
19
|
multicamera = [];
|
|
19
20
|
noActiveStreams = false;
|
|
20
21
|
get name() {
|
|
21
|
-
return '
|
|
22
|
+
return 'multicamera';
|
|
22
23
|
}
|
|
23
24
|
get supportedVersion() {
|
|
24
25
|
return { min: CLAPPR_VERSION };
|
|
@@ -261,13 +262,12 @@ export class MultiCamera extends UICorePlugin {
|
|
|
261
262
|
catch (error) {
|
|
262
263
|
reportError(error);
|
|
263
264
|
}
|
|
264
|
-
// TODO
|
|
265
|
-
this.core.getPlugin('
|
|
265
|
+
// TODO trigger error instead
|
|
266
|
+
this.core.getPlugin('error_screen')?.show({
|
|
266
267
|
title: this.core.i18n.t('source_offline'),
|
|
267
268
|
message: '',
|
|
268
269
|
code: '',
|
|
269
270
|
icon: '',
|
|
270
|
-
reloadIcon: '',
|
|
271
271
|
});
|
|
272
272
|
}
|
|
273
273
|
hideError() {
|
|
@@ -55,7 +55,7 @@ export class Poster extends UIContainerPlugin {
|
|
|
55
55
|
}
|
|
56
56
|
static template = template(posterHTML);
|
|
57
57
|
get shouldRender() {
|
|
58
|
-
if (!this.enabled) {
|
|
58
|
+
if (!this.enabled || this.options.reloading) {
|
|
59
59
|
return false;
|
|
60
60
|
}
|
|
61
61
|
const showForNoOp = !!this.options.poster?.showForNoOp;
|
|
@@ -37,7 +37,8 @@ export declare class SourceController extends CorePlugin {
|
|
|
37
37
|
* @internal
|
|
38
38
|
*/
|
|
39
39
|
bindEvents(): void;
|
|
40
|
-
private
|
|
40
|
+
private onCoreReady;
|
|
41
|
+
private onActiveContainerChanged;
|
|
41
42
|
private bindContainerEventListeners;
|
|
42
43
|
private reset;
|
|
43
44
|
private retryPlayback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"SourceController.d.ts","sourceRoot":"","sources":["../../../src/plugins/source-controller/SourceController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,IAAI,IAAI,UAAU,EACxB,MAAM,cAAc,CAAA;AAwBrB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAuC9C,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,kBAAkB,CAAI;IAE9B,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,IAAI,CAAiB;IAE7B;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;gBAEW,IAAI,EAAE,UAAU;IAW5B;;OAEG;IACM,UAAU;IAWnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,aAAa;IA2BrB,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;CACF"}
|