@gcorevideo/player 2.25.10 → 2.26.1
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/dist/core.js +1 -60
- package/dist/index.css +851 -851
- package/dist/index.embed.js +50 -130
- package/dist/index.js +79 -230
- package/dist/player.d.ts +2798 -2785
- package/docs/api/player.bigmutebutton.md +0 -3
- package/docs/api/player.bottomgear.additem.md +0 -3
- package/docs/api/player.bottomgear.md +2 -5
- package/docs/api/player.bottomgear.refresh.md +0 -3
- package/docs/api/player.clapprstats._constructor_.md +0 -3
- package/docs/api/player.clapprstats.clearmetrics.md +0 -3
- package/docs/api/player.clapprstats.exportmetrics.md +1 -4
- package/docs/api/player.clapprstats.md +2 -7
- package/docs/api/player.clapprstatsbitratetrack.md +0 -3
- package/docs/api/player.clapprstatschronograph.md +0 -13
- package/docs/api/player.clapprstatscounter.md +0 -25
- package/docs/api/player.clapprstatsevents.md +1 -4
- package/docs/api/player.clapprstatsmetrics.md +0 -3
- package/docs/api/player.clapprstatssettings.md +1 -4
- package/docs/api/player.clapprstatssettings.runeach.md +0 -3
- package/docs/api/player.clicktopause.md +0 -3
- package/docs/api/player.clips.destroy.md +0 -3
- package/docs/api/player.clips.disable.md +0 -3
- package/docs/api/player.clips.enable.md +0 -3
- package/docs/api/player.clips.gettext.md +0 -3
- package/docs/api/player.clips.md +1 -16
- package/docs/api/player.clips.render.md +0 -3
- package/docs/api/player.clips.supportedversion.md +0 -3
- package/docs/api/player.clips.version.md +0 -3
- package/docs/api/player.clipspluginsettings.md +1 -4
- package/docs/api/player.clipspluginsettings.text.md +0 -3
- package/docs/api/player.closedcaptions.hide.md +0 -3
- package/docs/api/player.closedcaptions.md +6 -5
- package/docs/api/player.closedcaptions.show.md +0 -3
- package/docs/api/player.closedcaptionspluginsettings.md +0 -3
- package/docs/api/player.cmcdconfig._constructor_.md +0 -3
- package/docs/api/player.cmcdconfig.exportids.md +0 -3
- package/docs/api/player.cmcdconfig.md +2 -5
- package/docs/api/player.cmcdconfigoptions.contentid.md +0 -3
- package/docs/api/player.cmcdconfigoptions.md +2 -5
- package/docs/api/player.cmcdconfigoptions.sessionid.md +0 -3
- package/docs/api/player.dvrcontrols.md +0 -3
- package/docs/api/player.extendedevents.md +0 -7
- package/docs/api/player.favicon.md +0 -3
- package/docs/api/player.faviconpluginsettings.faviconcolor.md +0 -3
- package/docs/api/player.faviconpluginsettings.md +1 -4
- package/docs/api/player.gearevents.md +1 -4
- package/docs/api/player.md +24 -43
- package/docs/api/player.mediacontrol.defaultsettings.md +5 -1
- package/docs/api/player.mediacontrol.getavailablepopupheight.md +20 -0
- package/docs/api/player.mediacontrol.md +14 -0
- package/docs/api/player.menuoption.md +0 -3
- package/docs/api/player.nerdstats._constructor_.md +0 -3
- package/docs/api/player.nerdstats.md +1 -4
- package/docs/api/player.pictureinpicture.attributes.md +0 -3
- package/docs/api/player.pictureinpicture.md +2 -7
- package/docs/api/player.playbackrateoption.md +0 -3
- package/docs/api/player.playbackratesettings.md +0 -3
- package/docs/api/player.poster.disable.md +0 -3
- package/docs/api/player.poster.enable.md +0 -3
- package/docs/api/player.poster.md +2 -5
- package/docs/api/player.posterpluginsettings.custom.md +0 -3
- package/docs/api/player.posterpluginsettings.md +4 -7
- package/docs/api/player.posterpluginsettings.showfornoop.md +0 -3
- package/docs/api/player.posterpluginsettings.showonvideoend.md +0 -3
- package/docs/api/player.posterpluginsettings.url.md +0 -3
- package/docs/api/player.qualitylevels.events.md +0 -3
- package/docs/api/player.qualitylevels.md +0 -5
- package/docs/api/player.qualitylevelspluginsettings.labels.md +0 -3
- package/docs/api/player.qualitylevelspluginsettings.md +2 -5
- package/docs/api/player.qualitylevelspluginsettings.restrictresolution.md +0 -3
- package/docs/api/player.skiptime.container.md +0 -3
- package/docs/api/player.skiptime.md +0 -9
- package/docs/api/player.skiptime.name.md +0 -3
- package/docs/api/player.skiptime.supportedversion.md +0 -3
- package/docs/api/player.volumefadeevents.md +0 -5
- package/docs/api/player.volumefadesettings.md +0 -3
- package/docs/api/player.zeptoresult.md +0 -3
- package/lib/Player.d.ts.map +1 -1
- package/lib/Player.js +0 -29
- package/lib/playback/HTML5Video.d.ts.map +1 -1
- package/lib/playback/HTML5Video.js +0 -18
- package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
- package/lib/playback/dash-playback/DashPlayback.js +0 -10
- package/lib/playback/hls-playback/HlsPlayback.d.ts.map +1 -1
- package/lib/playback/hls-playback/HlsPlayback.js +0 -2
- 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 -3
- 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 +4 -8
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts +1 -1
- package/lib/plugins/clappr-nerd-stats/NerdStats.d.ts.map +1 -1
- package/lib/plugins/clappr-nerd-stats/NerdStats.js +3 -5
- package/lib/plugins/clappr-stats/ClapprStats.d.ts +3 -3
- package/lib/plugins/clappr-stats/ClapprStats.js +2 -2
- package/lib/plugins/clappr-stats/types.d.ts +5 -5
- package/lib/plugins/clappr-stats/types.js +3 -3
- package/lib/plugins/click-to-pause/ClickToPause.d.ts +1 -1
- package/lib/plugins/click-to-pause/ClickToPause.d.ts.map +1 -1
- package/lib/plugins/click-to-pause/ClickToPause.js +3 -7
- package/lib/plugins/clips/Clips.d.ts +2 -2
- package/lib/plugins/clips/Clips.d.ts.map +1 -1
- package/lib/plugins/clips/Clips.js +2 -6
- package/lib/plugins/cmcd-config/CmcdConfig.d.ts +2 -2
- package/lib/plugins/cmcd-config/CmcdConfig.js +1 -1
- package/lib/plugins/context-menu/ContextMenu.d.ts +1 -1
- package/lib/plugins/dvr-controls/DvrControls.d.ts +1 -1
- package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
- package/lib/plugins/dvr-controls/DvrControls.js +3 -4
- package/lib/plugins/error-screen/ErrorScreen.d.ts.map +1 -1
- package/lib/plugins/error-screen/ErrorScreen.js +0 -3
- package/lib/plugins/favicon/Favicon.d.ts +2 -2
- package/lib/plugins/favicon/Favicon.js +1 -1
- package/lib/plugins/level-selector/QualityLevels.d.ts +2 -2
- package/lib/plugins/level-selector/QualityLevels.d.ts.map +1 -1
- package/lib/plugins/level-selector/QualityLevels.js +3 -11
- package/lib/plugins/media-control/MediaControl.d.ts +2 -5
- package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
- package/lib/plugins/media-control/MediaControl.js +4 -6
- package/lib/plugins/picture-in-picture/PictureInPicture.d.ts +3 -3
- package/lib/plugins/picture-in-picture/PictureInPicture.js +3 -3
- package/lib/plugins/playback-rate/PlaybackRate.d.ts +2 -2
- package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
- package/lib/plugins/playback-rate/PlaybackRate.js +0 -10
- package/lib/plugins/poster/Poster.d.ts +2 -2
- package/lib/plugins/poster/Poster.d.ts.map +1 -1
- package/lib/plugins/poster/Poster.js +3 -19
- package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
- package/lib/plugins/seek-time/SeekTime.js +1 -6
- package/lib/plugins/skip-time/SkipTime.d.ts +1 -1
- package/lib/plugins/skip-time/SkipTime.d.ts.map +1 -1
- package/lib/plugins/skip-time/SkipTime.js +3 -15
- package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
- package/lib/plugins/source-controller/SourceController.js +0 -5
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.d.ts.map +1 -1
- package/lib/plugins/spinner-three-bounce/SpinnerThreeBounce.js +2 -18
- package/lib/plugins/subtitles/ClosedCaptions.d.ts +2 -2
- package/lib/plugins/subtitles/ClosedCaptions.js +1 -1
- package/lib/plugins/volume-fade/VolumeFade.d.ts +2 -2
- package/lib/plugins/volume-fade/VolumeFade.js +1 -1
- package/lib/types.d.ts +1 -1
- package/package.json +1 -1
- package/src/Player.ts +0 -29
- package/src/playback/HTML5Video.ts +0 -18
- package/src/playback/dash-playback/DashPlayback.ts +0 -11
- package/src/playback/hls-playback/HlsPlayback.ts +0 -3
- package/src/plugins/big-mute-button/BigMuteButton.ts +1 -4
- package/src/plugins/bottom-gear/BottomGear.ts +4 -8
- package/src/plugins/clappr-nerd-stats/NerdStats.ts +3 -5
- package/src/plugins/clappr-stats/ClapprStats.ts +3 -3
- package/src/plugins/clappr-stats/types.ts +5 -5
- package/src/plugins/click-to-pause/ClickToPause.ts +3 -8
- package/src/plugins/clips/Clips.ts +4 -7
- package/src/plugins/cmcd-config/CmcdConfig.ts +2 -2
- package/src/plugins/context-menu/ContextMenu.ts +1 -1
- package/src/plugins/dvr-controls/DvrControls.ts +3 -4
- package/src/plugins/error-screen/ErrorScreen.ts +0 -3
- package/src/plugins/favicon/Favicon.ts +2 -2
- package/src/plugins/level-selector/QualityLevels.ts +4 -12
- package/src/plugins/media-control/MediaControl.ts +4 -10
- package/src/plugins/picture-in-picture/PictureInPicture.ts +3 -3
- package/src/plugins/playback-rate/PlaybackRate.ts +2 -14
- package/src/plugins/poster/Poster.ts +4 -21
- package/src/plugins/seek-time/SeekTime.ts +2 -6
- package/src/plugins/skip-time/SkipTime.ts +3 -15
- package/src/plugins/source-controller/SourceController.ts +0 -5
- package/src/plugins/spinner-three-bounce/SpinnerThreeBounce.ts +2 -18
- package/src/plugins/subtitles/ClosedCaptions.ts +2 -2
- package/src/plugins/volume-fade/VolumeFade.ts +2 -2
- package/src/types.ts +1 -1
- package/temp/player.api.json +157 -152
- package/tsconfig.tsbuildinfo +1 -1
- package/docs/api/player.mediacontrolpluginsettings.md +0 -13
|
@@ -373,8 +373,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
373
373
|
},
|
|
374
374
|
this.options.playback.hlsjsConfig,
|
|
375
375
|
)
|
|
376
|
-
trace(`${T} _createHLSInstance`, { config })
|
|
377
|
-
|
|
378
376
|
this._hls = new HLSJS(config)
|
|
379
377
|
}
|
|
380
378
|
|
|
@@ -1134,7 +1132,6 @@ export default class HlsPlayback extends BasePlayback {
|
|
|
1134
1132
|
_: HlsEvents.AUDIO_TRACKS_UPDATED,
|
|
1135
1133
|
data: AudioTracksUpdatedData,
|
|
1136
1134
|
) {
|
|
1137
|
-
trace(`${T} onAudioTracksUpdated`)
|
|
1138
1135
|
this.trigger(
|
|
1139
1136
|
Events.PLAYBACK_AUDIO_AVAILABLE,
|
|
1140
1137
|
data.audioTracks.map(toClapprTrack),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Events, template, UICorePlugin, Utils } from '@clappr/core'
|
|
2
2
|
import { trace } from '@gcorevideo/utils'
|
|
3
|
-
import assert from 'assert'
|
|
4
3
|
|
|
5
4
|
import { CLAPPR_VERSION } from '../../build.js'
|
|
6
5
|
|
|
@@ -14,7 +13,7 @@ const T = 'plugins.big_mute_button'
|
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* `PLUGIN` that displays a big mute button over the video when it's being played muted.
|
|
17
|
-
* @
|
|
16
|
+
* @public
|
|
18
17
|
* @remarks
|
|
19
18
|
* When pressed, it unmutes the video.
|
|
20
19
|
* @example
|
|
@@ -142,7 +141,6 @@ export class BigMuteButton extends UICorePlugin {
|
|
|
142
141
|
* @internal
|
|
143
142
|
*/
|
|
144
143
|
override render() {
|
|
145
|
-
trace(`${T} render`)
|
|
146
144
|
this.$el.html(BigMuteButton.template())
|
|
147
145
|
this.$el.find('#gplayer-big-mute-icon').append(volumeMuteIcon)
|
|
148
146
|
|
|
@@ -168,7 +166,6 @@ export class BigMuteButton extends UICorePlugin {
|
|
|
168
166
|
}
|
|
169
167
|
|
|
170
168
|
private clicked(e: MouseEvent) {
|
|
171
|
-
trace(`${T} clicked`)
|
|
172
169
|
const mediaControl = this.core.getPlugin('media_control')
|
|
173
170
|
// TODO delegate to media_control plugin
|
|
174
171
|
const localVolume = Utils.Config.restore('volume')
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
$,
|
|
6
6
|
Container,
|
|
7
7
|
} from '@clappr/core'
|
|
8
|
-
import { trace } from '@gcorevideo/utils'
|
|
8
|
+
// import { trace } from '@gcorevideo/utils'
|
|
9
9
|
import assert from 'assert'
|
|
10
10
|
|
|
11
11
|
import { CLAPPR_VERSION } from '../../build.js'
|
|
@@ -20,14 +20,13 @@ import { ExtendedEvents } from '../media-control/MediaControl.js'
|
|
|
20
20
|
|
|
21
21
|
const VERSION = '2.19.12'
|
|
22
22
|
|
|
23
|
-
const T = 'plugins.bottom_gear'
|
|
23
|
+
// const T = 'plugins.bottom_gear'
|
|
24
24
|
|
|
25
|
-
const MENU_VMARGIN = 12
|
|
26
25
|
const MENU_BACKLINK_HEIGHT = 44
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Events triggered by the plugin
|
|
30
|
-
* @
|
|
29
|
+
* @public
|
|
31
30
|
*/
|
|
32
31
|
export enum GearEvents {
|
|
33
32
|
/**
|
|
@@ -38,7 +37,7 @@ export enum GearEvents {
|
|
|
38
37
|
|
|
39
38
|
/**
|
|
40
39
|
* `PLUGIN` that adds a button to extend the media controls UI with extra options.
|
|
41
|
-
* @
|
|
40
|
+
* @public
|
|
42
41
|
* @remarks
|
|
43
42
|
* The plugin renders small gear icon to the right of the media controls.
|
|
44
43
|
* It provides a base for attaching custom settings UI in the gear menu
|
|
@@ -184,14 +183,12 @@ export class BottomGear extends UICorePlugin {
|
|
|
184
183
|
addItem(name: string, $subMenu?: ZeptoResult): ZeptoResult {
|
|
185
184
|
const $existingItem = this.$el.find(`#gear-options li[data-${name}]`)
|
|
186
185
|
if ($existingItem.length) {
|
|
187
|
-
trace(`${T} addItem already exists`, { name })
|
|
188
186
|
return $existingItem
|
|
189
187
|
}
|
|
190
188
|
const $item = $('<li></li>')
|
|
191
189
|
.attr(`data-${name}`, '')
|
|
192
190
|
.appendTo(this.$el.find('#gear-options'))
|
|
193
191
|
if ($subMenu) {
|
|
194
|
-
trace(`${T} addItem adding submenu`, { name })
|
|
195
192
|
$subMenu
|
|
196
193
|
.addClass('gear-sub-menu-wrapper')
|
|
197
194
|
.hide()
|
|
@@ -220,7 +217,6 @@ export class BottomGear extends UICorePlugin {
|
|
|
220
217
|
}
|
|
221
218
|
|
|
222
219
|
private highDefinitionUpdate(isHd: boolean) {
|
|
223
|
-
trace(`${T} highDefinitionUpdate`, { isHd })
|
|
224
220
|
this.hd = isHd
|
|
225
221
|
this.$el.find('#gear-button').html(isHd ? gearHdIcon : gearIcon)
|
|
226
222
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Container,
|
|
7
7
|
Playback,
|
|
8
8
|
} from '@clappr/core'
|
|
9
|
-
import { reportError, trace } from '@gcorevideo/utils'
|
|
9
|
+
import { reportError/* , trace */ } from '@gcorevideo/utils'
|
|
10
10
|
import Mousetrap from 'mousetrap'
|
|
11
11
|
import assert from 'assert'
|
|
12
12
|
|
|
@@ -59,11 +59,11 @@ type Metrics = PerfMetrics & {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
const T = 'plugins.nerd_stats'
|
|
62
|
+
// const T = 'plugins.nerd_stats'
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* `PLUGIN` that displays useful statistics regarding the playback as well as the network quality estimation.
|
|
66
|
-
* @
|
|
66
|
+
* @public
|
|
67
67
|
*
|
|
68
68
|
* @remarks
|
|
69
69
|
* Depends on:
|
|
@@ -446,7 +446,6 @@ export class NerdStats extends UICorePlugin {
|
|
|
446
446
|
}
|
|
447
447
|
|
|
448
448
|
private attach() {
|
|
449
|
-
trace(`${T} attach`)
|
|
450
449
|
const gear = this.core.getPlugin('bottom_gear') as BottomGear
|
|
451
450
|
gear
|
|
452
451
|
.addItem('nerd_stats')
|
|
@@ -463,7 +462,6 @@ export class NerdStats extends UICorePlugin {
|
|
|
463
462
|
}
|
|
464
463
|
|
|
465
464
|
private clearSpeedtestMetrics() {
|
|
466
|
-
trace(`${T} clearSpeedtestMetrics`);
|
|
467
465
|
const clapprStats = this.container?.getPlugin('clappr_stats')
|
|
468
466
|
|
|
469
467
|
this.speedtestMetrics.connectionSpeed = 0
|
|
@@ -22,7 +22,7 @@ import { isFullscreen } from '../utils/fullscreen.js'
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Config options for the {@link ClapprStats} plugin
|
|
25
|
-
* @
|
|
25
|
+
* @public
|
|
26
26
|
*/
|
|
27
27
|
export interface ClapprStatsSettings {
|
|
28
28
|
/**
|
|
@@ -34,7 +34,7 @@ export interface ClapprStatsSettings {
|
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* `PLUGIN` that measures data about playback, which can be useful for analyzing performance and UX.
|
|
37
|
-
* @
|
|
37
|
+
* @public
|
|
38
38
|
* @remarks
|
|
39
39
|
* This plugin does not render anything and is supposed to be extended or used together with other plugins that actually render something.
|
|
40
40
|
*
|
|
@@ -175,7 +175,7 @@ export class ClapprStats extends ContainerPlugin {
|
|
|
175
175
|
|
|
176
176
|
/**
|
|
177
177
|
* Returns the collected metrics.
|
|
178
|
-
* @returns Measurements collected so far
|
|
178
|
+
* @returns {@link ClapprStatsMetrics | Measurements} collected so far
|
|
179
179
|
*/
|
|
180
180
|
exportMetrics() {
|
|
181
181
|
return structuredClone(this.metrics)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @public
|
|
3
3
|
*/
|
|
4
4
|
export enum ClapprStatsChronograph {
|
|
5
5
|
Startup = 'startup',
|
|
@@ -11,7 +11,7 @@ export enum ClapprStatsChronograph {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @
|
|
14
|
+
* @public
|
|
15
15
|
*/
|
|
16
16
|
export enum ClapprStatsCounter {
|
|
17
17
|
Play = 'play',
|
|
@@ -28,7 +28,7 @@ export enum ClapprStatsCounter {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
* @
|
|
31
|
+
* @public
|
|
32
32
|
*/
|
|
33
33
|
export type ClapprStatsMetrics = {
|
|
34
34
|
/**
|
|
@@ -87,7 +87,7 @@ export type ClapprStatsMetrics = {
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
/**
|
|
90
|
-
* @
|
|
90
|
+
* @public
|
|
91
91
|
*/
|
|
92
92
|
export type ClapprStatsBitrateTrack = {
|
|
93
93
|
start: number
|
|
@@ -97,7 +97,7 @@ export type ClapprStatsBitrateTrack = {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
|
-
* @
|
|
100
|
+
* @public
|
|
101
101
|
*/
|
|
102
102
|
export enum ClapprStatsEvents {
|
|
103
103
|
/**
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
// license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE.
|
|
5
5
|
|
|
6
6
|
import { ContainerPlugin, Events, Playback } from '@clappr/core'
|
|
7
|
-
import { trace } from '@gcorevideo/utils'
|
|
7
|
+
// import { trace } from '@gcorevideo/utils'
|
|
8
8
|
|
|
9
9
|
import { CLAPPR_VERSION } from '../../build.js'
|
|
10
10
|
|
|
11
11
|
type Timer = ReturnType<typeof setTimeout>
|
|
12
12
|
|
|
13
|
-
const T = 'plugins.click_to_pause'
|
|
13
|
+
// const T = 'plugins.click_to_pause'
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* A small `PLUGIN` that toggles the playback state on click over the video container
|
|
17
|
-
* @
|
|
17
|
+
* @public
|
|
18
18
|
*/
|
|
19
19
|
export class ClickToPause extends ContainerPlugin {
|
|
20
20
|
private pointerEnabled = false
|
|
@@ -51,11 +51,6 @@ export class ClickToPause extends ContainerPlugin {
|
|
|
51
51
|
const isLivePlayback = this.container.getPlaybackType() === Playback.LIVE
|
|
52
52
|
const isDvrEnabled = this.container.isDvrEnabled()
|
|
53
53
|
|
|
54
|
-
trace(`${T} click`, {
|
|
55
|
-
isLivePlayback,
|
|
56
|
-
isDvrEnabled,
|
|
57
|
-
})
|
|
58
|
-
|
|
59
54
|
if (isLivePlayback && !isDvrEnabled) {
|
|
60
55
|
this.togglePlay(true)
|
|
61
56
|
return
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Container, Events, UICorePlugin, $, template } from '@clappr/core'
|
|
2
|
-
import { trace } from '@gcorevideo/utils'
|
|
2
|
+
// import { trace } from '@gcorevideo/utils'
|
|
3
3
|
import assert from 'assert'
|
|
4
4
|
|
|
5
5
|
import { TimeProgress, TimeValue } from '../../playback.types.js'
|
|
@@ -9,11 +9,11 @@ import { ClipDesc } from './types.js'
|
|
|
9
9
|
import { buildSvg, parseClips } from './utils.js'
|
|
10
10
|
import clipsHTML from '../../../assets/clips/clips.ejs'
|
|
11
11
|
|
|
12
|
-
const T = 'plugins.clips'
|
|
12
|
+
// const T = 'plugins.clips'
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Configuration options for the {@link Clips} plugin.
|
|
16
|
-
* @
|
|
16
|
+
* @public
|
|
17
17
|
*/
|
|
18
18
|
export interface ClipsPluginSettings {
|
|
19
19
|
/**
|
|
@@ -30,7 +30,7 @@ const COMPACT_WIDTH = 495
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* `PLUGIN` that allows marking up the timeline of the video
|
|
33
|
-
* @
|
|
33
|
+
* @public
|
|
34
34
|
* @remarks
|
|
35
35
|
* The plugin decorates the seekbar with notches to indicate the clips of the video and displays current clip text in the left panel
|
|
36
36
|
*
|
|
@@ -129,7 +129,6 @@ export class Clips extends UICorePlugin {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
private onCoreReady() {
|
|
132
|
-
trace(`${T} onCoreReady`)
|
|
133
132
|
const mediaControl = this.core.getPlugin('media_control')
|
|
134
133
|
assert(mediaControl, 'media_control plugin is required')
|
|
135
134
|
|
|
@@ -138,12 +137,10 @@ export class Clips extends UICorePlugin {
|
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
private onMcRender() {
|
|
141
|
-
trace(`${T} onMcRender`)
|
|
142
140
|
this.core.getPlugin('media_control')?.slot('clips', this.$el)
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
private onContainerChanged() {
|
|
146
|
-
trace(`${T} onContainerChanged`)
|
|
147
144
|
// TODO figure out the conditions of changing the container (without destroying the previous one)
|
|
148
145
|
// probably it is the case with the MultiCamera plugin
|
|
149
146
|
if (this.oldContainer) {
|
|
@@ -28,7 +28,7 @@ const CMCD_KEYS = [
|
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Config options for the {@link CmcdConfig} plugin
|
|
31
|
-
* @
|
|
31
|
+
* @public
|
|
32
32
|
*/
|
|
33
33
|
export interface CmcdConfigOptions {
|
|
34
34
|
/**
|
|
@@ -46,7 +46,7 @@ export interface CmcdConfigOptions {
|
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
48
|
* A `PLUGIN` that configures {@link https://cdn.cta.tech/cta/media/media/resources/standards/pdfs/cta-5004-final.pdf | CMCD} for playback
|
|
49
|
-
* @
|
|
49
|
+
* @public
|
|
50
50
|
* @remarks
|
|
51
51
|
* Configuration options - {@link CmcdConfigOptions}.
|
|
52
52
|
* @example
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Events, Playback, UICorePlugin, template } from '@clappr/core'
|
|
2
2
|
import assert from 'assert'
|
|
3
|
-
import { trace } from '@gcorevideo/utils'
|
|
3
|
+
// import { trace } from '@gcorevideo/utils'
|
|
4
4
|
|
|
5
5
|
import { CLAPPR_VERSION } from '../../build.js'
|
|
6
6
|
|
|
@@ -8,12 +8,12 @@ import dvrHTML from '../../../assets/dvr-controls/index.ejs'
|
|
|
8
8
|
import '../../../assets/dvr-controls/dvr_controls.scss'
|
|
9
9
|
import { MediaControl } from '../media-control/MediaControl.js'
|
|
10
10
|
|
|
11
|
-
const T = 'plugins.dvr_controls'
|
|
11
|
+
// const T = 'plugins.dvr_controls'
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* `PLUGIN` that adds the DVR controls to the media control UI
|
|
15
15
|
*
|
|
16
|
-
* @
|
|
16
|
+
* @public
|
|
17
17
|
*
|
|
18
18
|
* @remarks
|
|
19
19
|
* Depends on:
|
|
@@ -104,7 +104,6 @@ export class DvrControls extends UICorePlugin {
|
|
|
104
104
|
* @internal
|
|
105
105
|
*/
|
|
106
106
|
override render() {
|
|
107
|
-
trace(`${T} render`)
|
|
108
107
|
this.$el.html(
|
|
109
108
|
DvrControls.template({
|
|
110
109
|
i18n: this.core.i18n,
|
|
@@ -131,9 +131,6 @@ export class ErrorScreen extends UICorePlugin {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
private onActiveContainerChanged() {
|
|
134
|
-
trace(`${T} onActiveContainerChanged`, {
|
|
135
|
-
reloading: this.core.options.reloading,
|
|
136
|
-
})
|
|
137
134
|
this.err = null
|
|
138
135
|
this.listenTo(
|
|
139
136
|
this.core.activeContainer.playback,
|
|
@@ -11,7 +11,7 @@ const FAVICON_COLOR = '#567';
|
|
|
11
11
|
const FAVICON_SELECTOR = 'link[rel="shortcut icon"]';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @
|
|
14
|
+
* @public
|
|
15
15
|
*/
|
|
16
16
|
export interface FaviconPluginSettings {
|
|
17
17
|
/**
|
|
@@ -22,7 +22,7 @@ export interface FaviconPluginSettings {
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* `PLUGIN` that changes the favicon according to the player's state.
|
|
25
|
-
* @
|
|
25
|
+
* @public
|
|
26
26
|
* @remarks
|
|
27
27
|
* There are three states: stopped, playing and paused.
|
|
28
28
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Events, template, UICorePlugin } from '@clappr/core'
|
|
2
|
-
import { trace } from '@gcorevideo/utils'
|
|
2
|
+
// import { trace } from '@gcorevideo/utils'
|
|
3
3
|
import assert from 'assert'
|
|
4
4
|
|
|
5
5
|
import { type QualityLevel } from '../../playback.types.js'
|
|
@@ -17,12 +17,12 @@ import checkIcon from '../../../assets/icons/new/check.svg'
|
|
|
17
17
|
import '../../../assets/level-selector/style.scss'
|
|
18
18
|
import { MediaControl } from '../media-control/MediaControl.js'
|
|
19
19
|
|
|
20
|
-
const T = 'plugins.quality_levels'
|
|
20
|
+
// const T = 'plugins.quality_levels'
|
|
21
21
|
const VERSION = 'v2.22.5'
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Configuration options for the {@link QualityLevels} plugin.
|
|
25
|
-
* @
|
|
25
|
+
* @public
|
|
26
26
|
*/
|
|
27
27
|
export interface QualityLevelsPluginSettings {
|
|
28
28
|
/**
|
|
@@ -41,7 +41,7 @@ export interface QualityLevelsPluginSettings {
|
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
44
|
-
* @
|
|
44
|
+
* @public
|
|
45
45
|
*
|
|
46
46
|
* @remarks
|
|
47
47
|
* Depends on:
|
|
@@ -133,7 +133,6 @@ export class QualityLevels extends UICorePlugin {
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
private onCoreReady() {
|
|
136
|
-
trace(`${T} onCoreReady`)
|
|
137
136
|
const gear = this.core.getPlugin('bottom_gear') as BottomGear
|
|
138
137
|
assert(gear, 'bottom_gear plugin is required')
|
|
139
138
|
|
|
@@ -142,7 +141,6 @@ export class QualityLevels extends UICorePlugin {
|
|
|
142
141
|
}
|
|
143
142
|
|
|
144
143
|
private onGearRendered() {
|
|
145
|
-
trace(`${T} onGearRendered`)
|
|
146
144
|
this.render()
|
|
147
145
|
}
|
|
148
146
|
|
|
@@ -191,7 +189,6 @@ export class QualityLevels extends UICorePlugin {
|
|
|
191
189
|
}
|
|
192
190
|
|
|
193
191
|
private onStop() {
|
|
194
|
-
trace(`${T} onStop`)
|
|
195
192
|
this.listenToOnce(this.core.activePlayback, Events.PLAYBACK_PLAY, () => {
|
|
196
193
|
if (this.core.activePlayback.getPlaybackType() === 'live') {
|
|
197
194
|
if (this.selectedLevelId !== -1) {
|
|
@@ -316,7 +313,6 @@ export class QualityLevels extends UICorePlugin {
|
|
|
316
313
|
}
|
|
317
314
|
|
|
318
315
|
private goBack() {
|
|
319
|
-
trace(`${T} goBack`)
|
|
320
316
|
this.core.getPlugin('bottom_gear').refresh()
|
|
321
317
|
}
|
|
322
318
|
|
|
@@ -361,14 +357,10 @@ export class QualityLevels extends UICorePlugin {
|
|
|
361
357
|
}
|
|
362
358
|
|
|
363
359
|
private onBitrate(info: QualityLevel) {
|
|
364
|
-
trace(`${T} updateCurrentLevel`, { info })
|
|
365
360
|
this.highlightCurrentLevel()
|
|
366
361
|
}
|
|
367
362
|
|
|
368
363
|
private highlightCurrentLevel() {
|
|
369
|
-
trace(`${T} highlightCurrentLevel`, {
|
|
370
|
-
selectedLevelId: this.selectedLevelId,
|
|
371
|
-
})
|
|
372
364
|
this.allLevelElements()
|
|
373
365
|
.removeClass('current')
|
|
374
366
|
.find('a')
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
$,
|
|
16
16
|
Core,
|
|
17
17
|
} from '@clappr/core'
|
|
18
|
-
import { reportError, trace } from '@gcorevideo/utils'
|
|
18
|
+
import { reportError/* , trace */ } from '@gcorevideo/utils'
|
|
19
19
|
|
|
20
20
|
import { type TimeProgress } from '../../playback.types.js'
|
|
21
21
|
|
|
@@ -119,11 +119,11 @@ const INITIAL_SETTINGS: MediaControlSettings = {
|
|
|
119
119
|
seekEnabled: false,
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
const T = 'plugins.media_control'
|
|
122
|
+
// const T = 'plugins.media_control'
|
|
123
123
|
|
|
124
124
|
/**
|
|
125
125
|
* Extended events for the {@link MediaControl} plugin
|
|
126
|
-
* @
|
|
126
|
+
* @public
|
|
127
127
|
*/
|
|
128
128
|
export enum ExtendedEvents {
|
|
129
129
|
MEDIACONTROL_VOLUME = 'mediacontrol:volume',
|
|
@@ -132,10 +132,6 @@ export enum ExtendedEvents {
|
|
|
132
132
|
|
|
133
133
|
const { Config, Fullscreen, formatTime, extend, removeArrayItem } = Utils
|
|
134
134
|
|
|
135
|
-
export type MediaControlPluginSettings = {
|
|
136
|
-
hideMediaControlDelay?: number
|
|
137
|
-
}
|
|
138
|
-
|
|
139
135
|
/**
|
|
140
136
|
* `PLUGIN` that provides framework for building media control UI.
|
|
141
137
|
* @beta
|
|
@@ -251,7 +247,7 @@ export class MediaControl extends UICorePlugin {
|
|
|
251
247
|
|
|
252
248
|
/**
|
|
253
249
|
* @returns Default media control layout settings
|
|
254
|
-
* @
|
|
250
|
+
* @remarks
|
|
255
251
|
* The method can be used to change the default dashboard layout, for example, removing the standard UI elements
|
|
256
252
|
* @example
|
|
257
253
|
* ```ts
|
|
@@ -532,7 +528,6 @@ export class MediaControl extends UICorePlugin {
|
|
|
532
528
|
* Hides the media control UI
|
|
533
529
|
*/
|
|
534
530
|
override disable() {
|
|
535
|
-
trace(`${T} disable`)
|
|
536
531
|
this.userDisabled = true // TODO distinguish between user and system (e.g., unplayable) disabled?
|
|
537
532
|
this.hide()
|
|
538
533
|
this.unbindKeyEvents()
|
|
@@ -543,7 +538,6 @@ export class MediaControl extends UICorePlugin {
|
|
|
543
538
|
* Reenables the plugin disabled earlier with the {@link MediaControl.disable} method
|
|
544
539
|
*/
|
|
545
540
|
override enable() {
|
|
546
|
-
trace(`${T} enable`)
|
|
547
541
|
if (this.options.chromeless) {
|
|
548
542
|
return
|
|
549
543
|
}
|
|
@@ -13,14 +13,14 @@ const VERSION = '0.0.1';
|
|
|
13
13
|
const T = `plugins.pip`;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
|
-
* `PLUGIN` that enables picture
|
|
17
|
-
* @
|
|
16
|
+
* `PLUGIN` that enables picture-in-picture mode.
|
|
17
|
+
* @public
|
|
18
18
|
* @remarks
|
|
19
19
|
* Depends on:
|
|
20
20
|
*
|
|
21
21
|
* - {@link MediaControl}
|
|
22
22
|
*
|
|
23
|
-
* It renders a button to toggle picture
|
|
23
|
+
* It renders a button to toggle picture-in-picture mode in the media control UI.
|
|
24
24
|
*/
|
|
25
25
|
export class PictureInPicture extends UICorePlugin {
|
|
26
26
|
/**
|
|
@@ -17,7 +17,7 @@ import { MediaControl } from '../media-control/MediaControl.js'
|
|
|
17
17
|
import { TimerId } from '../../utils/types.js'
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* @
|
|
20
|
+
* @public
|
|
21
21
|
*/
|
|
22
22
|
export type PlaybackRateOption = {
|
|
23
23
|
value: number
|
|
@@ -25,7 +25,7 @@ export type PlaybackRateOption = {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* @
|
|
28
|
+
* @public
|
|
29
29
|
*/
|
|
30
30
|
export type PlaybackRateSettings = {
|
|
31
31
|
options?: PlaybackRateOption[]
|
|
@@ -249,11 +249,6 @@ export class PlaybackRate extends UICorePlugin {
|
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
private shouldMount() {
|
|
252
|
-
trace(`${T} shouldMount`, {
|
|
253
|
-
playbackType: this.core.activePlayback?.getPlaybackType(),
|
|
254
|
-
dvrEnabled: this.core.activePlayback?.dvrEnabled,
|
|
255
|
-
})
|
|
256
|
-
|
|
257
252
|
if (!this.core.activePlayback || !this.metadataLoaded) {
|
|
258
253
|
return false
|
|
259
254
|
}
|
|
@@ -272,10 +267,6 @@ export class PlaybackRate extends UICorePlugin {
|
|
|
272
267
|
* @internal
|
|
273
268
|
*/
|
|
274
269
|
override render() {
|
|
275
|
-
trace(`${T} render`, {
|
|
276
|
-
shouldMount: this.shouldMount(),
|
|
277
|
-
})
|
|
278
|
-
|
|
279
270
|
this.$el.html(
|
|
280
271
|
PlaybackRate.listTemplate({
|
|
281
272
|
arrowLeftIcon,
|
|
@@ -394,9 +385,6 @@ export class PlaybackRate extends UICorePlugin {
|
|
|
394
385
|
}
|
|
395
386
|
|
|
396
387
|
private updateGearOptionLabel() {
|
|
397
|
-
trace(`${T} updateGearOptionLabel`, {
|
|
398
|
-
selectedRate: this.selectedRate,
|
|
399
|
-
})
|
|
400
388
|
this.mount()
|
|
401
389
|
}
|
|
402
390
|
}
|