@gcorevideo/player 2.25.4 → 2.25.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/media-control/media-control.scss +0 -4
- package/assets/media-control/width370.scss +7 -5
- package/dist/core.js +1 -1
- package/dist/index.css +1370 -1375
- package/dist/index.embed.js +48 -46
- package/dist/index.js +124 -122
- package/lib/plugins/clips/Clips.d.ts.map +1 -1
- package/lib/plugins/clips/Clips.js +2 -4
- package/lib/plugins/seek-time/SeekTime.d.ts.map +1 -1
- package/lib/plugins/seek-time/SeekTime.js +7 -2
- package/package.json +1 -1
- package/src/plugins/clips/Clips.ts +3 -5
- package/src/plugins/seek-time/SeekTime.ts +7 -2
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.js
CHANGED
|
@@ -12680,7 +12680,7 @@ var PlaybackEvents;
|
|
|
12680
12680
|
// https://github.com/clappr/clappr/blob/8752995ea439321ac7ca3cd35e8c64de7a3c3d17/LICENSE
|
|
12681
12681
|
const AUTO$1 = -1;
|
|
12682
12682
|
const { now: now$2 } = Utils;
|
|
12683
|
-
const T$
|
|
12683
|
+
const T$p = 'playback.dash';
|
|
12684
12684
|
class DashPlayback extends BasePlayback {
|
|
12685
12685
|
_levels = null;
|
|
12686
12686
|
_currentLevel = null;
|
|
@@ -12954,10 +12954,10 @@ class DashPlayback extends BasePlayback {
|
|
|
12954
12954
|
}
|
|
12955
12955
|
_onPlaybackError = (event) => {
|
|
12956
12956
|
// TODO
|
|
12957
|
-
trace(`${T$
|
|
12957
|
+
trace(`${T$p} _onPlaybackError`, { event });
|
|
12958
12958
|
};
|
|
12959
12959
|
_onDASHJSSError = (event) => {
|
|
12960
|
-
trace(`${T$
|
|
12960
|
+
trace(`${T$p} _onDASHJSSError`, { event });
|
|
12961
12961
|
this._stopTimeUpdateTimer();
|
|
12962
12962
|
// Note that the other error types are deprecated
|
|
12963
12963
|
const e = event.error;
|
|
@@ -12992,7 +12992,7 @@ class DashPlayback extends BasePlayback {
|
|
|
12992
12992
|
}
|
|
12993
12993
|
};
|
|
12994
12994
|
triggerError(error) {
|
|
12995
|
-
trace(`${T$
|
|
12995
|
+
trace(`${T$p} triggerError`, { error });
|
|
12996
12996
|
// this triggers Events.ERROR to be handled by the UI
|
|
12997
12997
|
this.trigger(Events$1.PLAYBACK_ERROR, this.createError(error, {
|
|
12998
12998
|
useCodePrefix: false,
|
|
@@ -13031,10 +13031,10 @@ class DashPlayback extends BasePlayback {
|
|
|
13031
13031
|
}
|
|
13032
13032
|
get dvrEnabled() {
|
|
13033
13033
|
if (!this._dash) {
|
|
13034
|
-
trace(`${T$
|
|
13034
|
+
trace(`${T$p} dvrEnable no dash player instance`);
|
|
13035
13035
|
return false;
|
|
13036
13036
|
}
|
|
13037
|
-
trace(`${T$
|
|
13037
|
+
trace(`${T$p} get.dvrEnabled`, {
|
|
13038
13038
|
dvrWindowSize: this._dash?.getDVRWindowSize(),
|
|
13039
13039
|
minDvrSize: this._minDvrSize,
|
|
13040
13040
|
playbackType: this.getPlaybackType(),
|
|
@@ -13056,7 +13056,7 @@ class DashPlayback extends BasePlayback {
|
|
|
13056
13056
|
this.trigger(Events$1.PLAYBACK_PROGRESS, progress, {});
|
|
13057
13057
|
}
|
|
13058
13058
|
play() {
|
|
13059
|
-
trace(`${T$
|
|
13059
|
+
trace(`${T$p} play`, { dash: !!this._dash });
|
|
13060
13060
|
!this._dash && this._setup();
|
|
13061
13061
|
super.play();
|
|
13062
13062
|
this._startTimeUpdateTimer();
|
|
@@ -13142,7 +13142,7 @@ class DashPlayback extends BasePlayback {
|
|
|
13142
13142
|
}
|
|
13143
13143
|
// @ts-expect-error
|
|
13144
13144
|
get currentAudioTrack() {
|
|
13145
|
-
trace(`${T$
|
|
13145
|
+
trace(`${T$p} get currentAudioTrack`);
|
|
13146
13146
|
assert.ok(this._dash, 'DASH.js MediaPlayer is not initialized');
|
|
13147
13147
|
const t = this._dash.getCurrentTrackFor('audio');
|
|
13148
13148
|
if (!t) {
|
|
@@ -41850,7 +41850,7 @@ const AUTO = -1;
|
|
|
41850
41850
|
const DEFAULT_RECOVER_ATTEMPTS = 16;
|
|
41851
41851
|
Events$1.register('PLAYBACK_FRAGMENT_CHANGED');
|
|
41852
41852
|
Events$1.register('PLAYBACK_FRAGMENT_PARSING_METADATA');
|
|
41853
|
-
const T$
|
|
41853
|
+
const T$o = 'playback.hls';
|
|
41854
41854
|
class HlsPlayback extends BasePlayback {
|
|
41855
41855
|
_ccIsSetup = false;
|
|
41856
41856
|
_ccTracksUpdated = false;
|
|
@@ -42082,7 +42082,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42082
42082
|
maxMaxBufferLength: 4,
|
|
42083
42083
|
autoStartLoad: false,
|
|
42084
42084
|
}, this.options.playback.hlsjsConfig);
|
|
42085
|
-
trace(`${T$
|
|
42085
|
+
trace(`${T$o} _createHLSInstance`, { config });
|
|
42086
42086
|
this._hls = new Hls(config);
|
|
42087
42087
|
}
|
|
42088
42088
|
_attachHLSMedia() {
|
|
@@ -42175,7 +42175,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42175
42175
|
}
|
|
42176
42176
|
else {
|
|
42177
42177
|
Log.error('hlsjs: failed to recover', { evt, data });
|
|
42178
|
-
trace(`${T$
|
|
42178
|
+
trace(`${T$o} _recover failed to recover`, {
|
|
42179
42179
|
type: data.type,
|
|
42180
42180
|
details: data.details,
|
|
42181
42181
|
});
|
|
@@ -42261,7 +42261,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42261
42261
|
this.trigger(Events$1.PLAYBACK_SETTINGSUPDATE);
|
|
42262
42262
|
}
|
|
42263
42263
|
_onHLSJSError(evt, data) {
|
|
42264
|
-
trace(`${T$
|
|
42264
|
+
trace(`${T$o} _onHLSJSError`, {
|
|
42265
42265
|
fatal: data.fatal,
|
|
42266
42266
|
type: data.type,
|
|
42267
42267
|
details: data.details,
|
|
@@ -42309,7 +42309,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42309
42309
|
evt,
|
|
42310
42310
|
data,
|
|
42311
42311
|
});
|
|
42312
|
-
trace(`${T$
|
|
42312
|
+
trace(`${T$o} _onHLSJSError trying to recover from network error`, {
|
|
42313
42313
|
details: data.details,
|
|
42314
42314
|
});
|
|
42315
42315
|
error.level = PlayerError.Levels.WARN;
|
|
@@ -42322,7 +42322,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42322
42322
|
evt,
|
|
42323
42323
|
data,
|
|
42324
42324
|
});
|
|
42325
|
-
trace(`${T$
|
|
42325
|
+
trace(`${T$o} _onHLSJSError trying to recover from media error`, {
|
|
42326
42326
|
details: data.details,
|
|
42327
42327
|
});
|
|
42328
42328
|
error.level = PlayerError.Levels.WARN;
|
|
@@ -42352,7 +42352,7 @@ class HlsPlayback extends BasePlayback {
|
|
|
42352
42352
|
return;
|
|
42353
42353
|
}
|
|
42354
42354
|
Log.warn('hlsjs: non-fatal error occurred', { evt, data });
|
|
42355
|
-
trace(`${T$
|
|
42355
|
+
trace(`${T$o} _onHLSJSError non-fatal error occurred`, {
|
|
42356
42356
|
type: data.type,
|
|
42357
42357
|
details: data.details,
|
|
42358
42358
|
});
|
|
@@ -42686,11 +42686,11 @@ class HlsPlayback extends BasePlayback {
|
|
|
42686
42686
|
this._hls.audioTrack = Number(id); // TODO or find index by .id == id?
|
|
42687
42687
|
}
|
|
42688
42688
|
_onAudioTracksUpdated(_, data) {
|
|
42689
|
-
trace(`${T$
|
|
42689
|
+
trace(`${T$o} onAudioTracksUpdated`);
|
|
42690
42690
|
this.trigger(Events$1.PLAYBACK_AUDIO_AVAILABLE, data.audioTracks.map(toClapprTrack));
|
|
42691
42691
|
}
|
|
42692
42692
|
_onAudioTrackSwitched(_, data) {
|
|
42693
|
-
trace(`${T$
|
|
42693
|
+
trace(`${T$o} onAudioTrackSwitched`);
|
|
42694
42694
|
// @ts-ignore
|
|
42695
42695
|
const track = this._hls.audioTracks[data.id];
|
|
42696
42696
|
this.trigger(Events$1.PLAYBACK_AUDIO_CHANGED, toClapprTrack(track));
|
|
@@ -42711,7 +42711,7 @@ function toClapprTrack(t) {
|
|
|
42711
42711
|
};
|
|
42712
42712
|
}
|
|
42713
42713
|
|
|
42714
|
-
const T$
|
|
42714
|
+
const T$n = 'playback.html5_video';
|
|
42715
42715
|
const STALL_TIMEOUT = 15000;
|
|
42716
42716
|
class HTML5Video extends BasePlayback {
|
|
42717
42717
|
stallTimerId = null;
|
|
@@ -42719,7 +42719,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42719
42719
|
* @internal
|
|
42720
42720
|
*/
|
|
42721
42721
|
createError(errorData, options) {
|
|
42722
|
-
trace(`${T$
|
|
42722
|
+
trace(`${T$n} createError`, {
|
|
42723
42723
|
errorData: { ...errorData },
|
|
42724
42724
|
});
|
|
42725
42725
|
const i18n = this.i18n ||
|
|
@@ -42735,11 +42735,11 @@ class HTML5Video extends BasePlayback {
|
|
|
42735
42735
|
return super.createError(errorData, { ...options, useCodePrefix: false });
|
|
42736
42736
|
}
|
|
42737
42737
|
_onWaiting() {
|
|
42738
|
-
trace(`${T$
|
|
42738
|
+
trace(`${T$n} _onWaiting`);
|
|
42739
42739
|
super._onWaiting();
|
|
42740
42740
|
}
|
|
42741
42741
|
_onEnded() {
|
|
42742
|
-
trace(`${T$
|
|
42742
|
+
trace(`${T$n} _onEnded`);
|
|
42743
42743
|
if (this.stallTimerId) {
|
|
42744
42744
|
clearTimeout(this.stallTimerId);
|
|
42745
42745
|
this.stallTimerId = null;
|
|
@@ -42747,12 +42747,12 @@ class HTML5Video extends BasePlayback {
|
|
|
42747
42747
|
super._onEnded();
|
|
42748
42748
|
}
|
|
42749
42749
|
_handleBufferingEvents() {
|
|
42750
|
-
trace(`${T$
|
|
42750
|
+
trace(`${T$n} _handleBufferingEvents`, {
|
|
42751
42751
|
networkState: this.el.networkState,
|
|
42752
42752
|
});
|
|
42753
42753
|
if (!this.stallTimerId) {
|
|
42754
42754
|
this.stallTimerId = setTimeout(() => {
|
|
42755
|
-
trace(`${T$
|
|
42755
|
+
trace(`${T$n} _handleBufferingEvents stall timeout`, {
|
|
42756
42756
|
buffering: this.buffering,
|
|
42757
42757
|
ended: this.ended,
|
|
42758
42758
|
});
|
|
@@ -42770,7 +42770,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42770
42770
|
super._handleBufferingEvents();
|
|
42771
42771
|
}
|
|
42772
42772
|
_onPlaying() {
|
|
42773
|
-
trace(`${T$
|
|
42773
|
+
trace(`${T$n} _onPlaying`);
|
|
42774
42774
|
if (this.stallTimerId) {
|
|
42775
42775
|
clearTimeout(this.stallTimerId);
|
|
42776
42776
|
this.stallTimerId = null;
|
|
@@ -42778,7 +42778,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42778
42778
|
super._onPlaying();
|
|
42779
42779
|
}
|
|
42780
42780
|
_onPause() {
|
|
42781
|
-
trace(`${T$
|
|
42781
|
+
trace(`${T$n} _onPause`);
|
|
42782
42782
|
super._onPause();
|
|
42783
42783
|
if (this.stallTimerId) {
|
|
42784
42784
|
clearTimeout(this.stallTimerId);
|
|
@@ -42788,7 +42788,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42788
42788
|
get audioTracks() {
|
|
42789
42789
|
const tracks = this.el.audioTracks;
|
|
42790
42790
|
const supported = !!tracks;
|
|
42791
|
-
trace(`${T$
|
|
42791
|
+
trace(`${T$n} get audioTracks`, { supported });
|
|
42792
42792
|
const retval = [];
|
|
42793
42793
|
if (supported) {
|
|
42794
42794
|
for (let i = 0; i < tracks.length; i++) {
|
|
@@ -42807,7 +42807,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42807
42807
|
get currentAudioTrack() {
|
|
42808
42808
|
const tracks = this.el.audioTracks;
|
|
42809
42809
|
const supported = !!tracks;
|
|
42810
|
-
trace(`${T$
|
|
42810
|
+
trace(`${T$n} get currentAudioTrack`, {
|
|
42811
42811
|
supported,
|
|
42812
42812
|
});
|
|
42813
42813
|
if (supported) {
|
|
@@ -42828,7 +42828,7 @@ class HTML5Video extends BasePlayback {
|
|
|
42828
42828
|
switchAudioTrack(id) {
|
|
42829
42829
|
const tracks = this.el.audioTracks;
|
|
42830
42830
|
const supported = !!tracks;
|
|
42831
|
-
trace(`${T$
|
|
42831
|
+
trace(`${T$n} switchAudioTrack`, {
|
|
42832
42832
|
supported,
|
|
42833
42833
|
});
|
|
42834
42834
|
if (supported) {
|
|
@@ -42847,7 +42847,7 @@ function registerPlaybacks() {
|
|
|
42847
42847
|
Loader.registerPlayback(DashPlayback);
|
|
42848
42848
|
}
|
|
42849
42849
|
|
|
42850
|
-
const T$
|
|
42850
|
+
const T$m = 'gplayer';
|
|
42851
42851
|
const DEFAULT_OPTIONS = {
|
|
42852
42852
|
autoPlay: false,
|
|
42853
42853
|
debug: 'none',
|
|
@@ -42935,7 +42935,7 @@ class Player {
|
|
|
42935
42935
|
* ```
|
|
42936
42936
|
*/
|
|
42937
42937
|
attachTo(playerElement) {
|
|
42938
|
-
trace(`${T$
|
|
42938
|
+
trace(`${T$m} attachTo`, {
|
|
42939
42939
|
player: !!this.player,
|
|
42940
42940
|
});
|
|
42941
42941
|
assert.ok(!this.player, 'Player already initialized');
|
|
@@ -42945,7 +42945,7 @@ class Player {
|
|
|
42945
42945
|
}
|
|
42946
42946
|
const coreOpts = this.buildCoreOptions(playerElement);
|
|
42947
42947
|
const { core, container } = Player.getRegisteredPlugins();
|
|
42948
|
-
trace(`${T$
|
|
42948
|
+
trace(`${T$m} init`, {
|
|
42949
42949
|
registeredPlaybacks: Loader.registeredPlaybacks.map((p) => p.prototype.name),
|
|
42950
42950
|
});
|
|
42951
42951
|
coreOpts.plugins = {
|
|
@@ -42959,7 +42959,7 @@ class Player {
|
|
|
42959
42959
|
* Destroys the player, releasing all resources and unmounting its UI from the DOM.
|
|
42960
42960
|
*/
|
|
42961
42961
|
destroy() {
|
|
42962
|
-
trace(`${T$
|
|
42962
|
+
trace(`${T$m} destroy`, {
|
|
42963
42963
|
player: !!this.player,
|
|
42964
42964
|
});
|
|
42965
42965
|
if (this.player) {
|
|
@@ -43146,7 +43146,7 @@ class Player {
|
|
|
43146
43146
|
this.config = $.extend(true, this.config, config);
|
|
43147
43147
|
}
|
|
43148
43148
|
initPlayer(coreOptions) {
|
|
43149
|
-
trace(`${T$
|
|
43149
|
+
trace(`${T$m} initPlayer`, {
|
|
43150
43150
|
autoPlay: coreOptions.autoPlay,
|
|
43151
43151
|
sources: coreOptions.sources,
|
|
43152
43152
|
player: !!this.player,
|
|
@@ -43171,7 +43171,7 @@ class Player {
|
|
|
43171
43171
|
}
|
|
43172
43172
|
}
|
|
43173
43173
|
triggerAutoPlay() {
|
|
43174
|
-
trace(`${T$
|
|
43174
|
+
trace(`${T$m} triggerAutoPlay`);
|
|
43175
43175
|
setTimeout(() => {
|
|
43176
43176
|
this.player?.play({
|
|
43177
43177
|
autoPlay: true,
|
|
@@ -43189,7 +43189,7 @@ class Player {
|
|
|
43189
43189
|
// TODO test
|
|
43190
43190
|
events = {
|
|
43191
43191
|
onReady: () => {
|
|
43192
|
-
trace(`${T$
|
|
43192
|
+
trace(`${T$m} onReady`, {
|
|
43193
43193
|
ready: this.ready,
|
|
43194
43194
|
});
|
|
43195
43195
|
if (this.ready) {
|
|
@@ -43223,7 +43223,7 @@ class Player {
|
|
|
43223
43223
|
buildCoreOptions(rootNode) {
|
|
43224
43224
|
const sources = this.buildMediaSourcesList();
|
|
43225
43225
|
const source = sources[0];
|
|
43226
|
-
trace(`${T$
|
|
43226
|
+
trace(`${T$m} buildCoreOptions`, {
|
|
43227
43227
|
source,
|
|
43228
43228
|
sources,
|
|
43229
43229
|
});
|
|
@@ -43284,7 +43284,7 @@ class Player {
|
|
|
43284
43284
|
assert.ok(this.player, 'Player is not initialized');
|
|
43285
43285
|
const core = this.player.core;
|
|
43286
43286
|
core.on(Events$1.CORE_SCREEN_ORIENTATION_CHANGED, ({ orientation }) => {
|
|
43287
|
-
trace(`${T$
|
|
43287
|
+
trace(`${T$m} on CORE_SCREEN_ORIENTATION_CHANGED`, {
|
|
43288
43288
|
orientation,
|
|
43289
43289
|
rootNode: {
|
|
43290
43290
|
width: this.rootNode?.clientWidth,
|
|
@@ -43299,14 +43299,14 @@ class Player {
|
|
|
43299
43299
|
}
|
|
43300
43300
|
}, null);
|
|
43301
43301
|
core.on(Events$1.CORE_RESIZE, ({ width, height }) => {
|
|
43302
|
-
trace(`${T$
|
|
43302
|
+
trace(`${T$m} on CORE_RESIZE`, {
|
|
43303
43303
|
width,
|
|
43304
43304
|
height,
|
|
43305
43305
|
});
|
|
43306
43306
|
this.safeTriggerEvent(PlayerEvent.Resize, { width, height });
|
|
43307
43307
|
}, null);
|
|
43308
43308
|
core.on(Events$1.CORE_FULLSCREEN, (isFullscreen) => {
|
|
43309
|
-
trace(`${T$
|
|
43309
|
+
trace(`${T$m} CORE_FULLSCREEN`, {
|
|
43310
43310
|
isFullscreen,
|
|
43311
43311
|
});
|
|
43312
43312
|
this.safeTriggerEvent(PlayerEvent.Fullscreen, isFullscreen);
|
|
@@ -43314,7 +43314,7 @@ class Player {
|
|
|
43314
43314
|
}
|
|
43315
43315
|
}
|
|
43316
43316
|
|
|
43317
|
-
var version$1 = "2.25.
|
|
43317
|
+
var version$1 = "2.25.5";
|
|
43318
43318
|
|
|
43319
43319
|
var packages = {
|
|
43320
43320
|
"node_modules/@clappr/core": {
|
|
@@ -43649,7 +43649,7 @@ const INITIAL_SETTINGS = {
|
|
|
43649
43649
|
default: [],
|
|
43650
43650
|
seekEnabled: false,
|
|
43651
43651
|
};
|
|
43652
|
-
const T$
|
|
43652
|
+
const T$l = 'plugins.media_control';
|
|
43653
43653
|
/**
|
|
43654
43654
|
* Extended events for the {@link MediaControl} plugin
|
|
43655
43655
|
* @beta
|
|
@@ -43931,7 +43931,7 @@ class MediaControl extends UICorePlugin {
|
|
|
43931
43931
|
* Hides the media control UI
|
|
43932
43932
|
*/
|
|
43933
43933
|
disable() {
|
|
43934
|
-
trace(`${T$
|
|
43934
|
+
trace(`${T$l} disable`);
|
|
43935
43935
|
this.userDisabled = true; // TODO distinguish between user and system (e.g., unplayable) disabled?
|
|
43936
43936
|
this.hide();
|
|
43937
43937
|
this.unbindKeyEvents();
|
|
@@ -43941,7 +43941,7 @@ class MediaControl extends UICorePlugin {
|
|
|
43941
43941
|
* Reenables the plugin disabled earlier with the {@link MediaControl.disable} method
|
|
43942
43942
|
*/
|
|
43943
43943
|
enable() {
|
|
43944
|
-
trace(`${T$
|
|
43944
|
+
trace(`${T$l} enable`);
|
|
43945
43945
|
if (this.options.chromeless) {
|
|
43946
43946
|
return;
|
|
43947
43947
|
}
|
|
@@ -44871,7 +44871,7 @@ function mergeElements(a, b) {
|
|
|
44871
44871
|
}
|
|
44872
44872
|
|
|
44873
44873
|
const VERSION$7 = '2.22.4';
|
|
44874
|
-
const T$
|
|
44874
|
+
const T$k = 'plugins.audiotracks';
|
|
44875
44875
|
/**
|
|
44876
44876
|
* `PLUGIN` that makes possible to switch audio tracks via the media control UI.
|
|
44877
44877
|
* @beta
|
|
@@ -44993,7 +44993,7 @@ class AudioTracks extends UICorePlugin {
|
|
|
44993
44993
|
this.updateText();
|
|
44994
44994
|
}
|
|
44995
44995
|
hideMenu() {
|
|
44996
|
-
trace(`${T$
|
|
44996
|
+
trace(`${T$k} hideMenu`);
|
|
44997
44997
|
this.$el.find('#audiotracks-select').addClass('hidden');
|
|
44998
44998
|
this.$el.find('#audiotracks-button').attr('aria-expanded', 'false');
|
|
44999
44999
|
}
|
|
@@ -45046,7 +45046,7 @@ class AudioTracks extends UICorePlugin {
|
|
|
45046
45046
|
|
|
45047
45047
|
const templateHtml$2 = "<div class=\"big-mute-icon-wrapper\" data-big-mute id=\"gplayer-big-mute-button\">\n <div class=\"big-mute-icon gcore-skin-border-color\" data-big-mute-icon id=\"gplayer-big-mute-icon\"></div>\n</div>\n";
|
|
45048
45048
|
|
|
45049
|
-
const T$
|
|
45049
|
+
const T$j = 'plugins.big_mute_button';
|
|
45050
45050
|
// TODO rewrite as a container plugin
|
|
45051
45051
|
/**
|
|
45052
45052
|
* `PLUGIN` that displays a big mute button over the video when it's being played muted.
|
|
@@ -45109,7 +45109,7 @@ class BigMuteButton extends UICorePlugin {
|
|
|
45109
45109
|
if (autoPlay) {
|
|
45110
45110
|
this.autoPlay = true;
|
|
45111
45111
|
}
|
|
45112
|
-
trace(`${T$
|
|
45112
|
+
trace(`${T$j} onPlay`, {
|
|
45113
45113
|
autoPlay: this.autoPlay,
|
|
45114
45114
|
wasMuted,
|
|
45115
45115
|
volume,
|
|
@@ -45122,7 +45122,7 @@ class BigMuteButton extends UICorePlugin {
|
|
|
45122
45122
|
}
|
|
45123
45123
|
}
|
|
45124
45124
|
onStop(_, { ui }) {
|
|
45125
|
-
trace(`${T$
|
|
45125
|
+
trace(`${T$j} onStop`, { ui });
|
|
45126
45126
|
if (ui) {
|
|
45127
45127
|
this.destroy();
|
|
45128
45128
|
}
|
|
@@ -45150,7 +45150,7 @@ class BigMuteButton extends UICorePlugin {
|
|
|
45150
45150
|
* @internal
|
|
45151
45151
|
*/
|
|
45152
45152
|
render() {
|
|
45153
|
-
trace(`${T$
|
|
45153
|
+
trace(`${T$j} render`);
|
|
45154
45154
|
this.$el.html(BigMuteButton.template());
|
|
45155
45155
|
this.$el.find('#gplayer-big-mute-icon').append(volumeMuteIcon);
|
|
45156
45156
|
// TODO
|
|
@@ -45170,7 +45170,7 @@ class BigMuteButton extends UICorePlugin {
|
|
|
45170
45170
|
this.$el.find('#gplayer-big-mute-button')?.removeClass('hide');
|
|
45171
45171
|
}
|
|
45172
45172
|
clicked(e) {
|
|
45173
|
-
trace(`${T$
|
|
45173
|
+
trace(`${T$j} clicked`);
|
|
45174
45174
|
const mediaControl = this.core.getPlugin('media_control');
|
|
45175
45175
|
// TODO delegate to media_control plugin
|
|
45176
45176
|
const localVolume = Utils.Config.restore('volume');
|
|
@@ -45194,7 +45194,7 @@ const gearIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"n
|
|
|
45194
45194
|
const gearHdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_28_1567)\">\n <path\n d=\"M19.14 12.94C19.18 12.64 19.2 12.33 19.2 12C19.2 11.68 19.18 11.36 19.13 11.06L21.16 9.47999C21.34 9.33999 21.39 9.06999 21.28 8.86999L19.36 5.54999C19.24 5.32999 18.99 5.25999 18.77 5.32999L16.38 6.28999C15.88 5.90999 15.35 5.58999 14.76 5.34999L14.4 2.80999C14.36 2.56999 14.16 2.39999 13.92 2.39999H10.08C9.83999 2.39999 9.64999 2.56999 9.60999 2.80999L9.24999 5.34999C8.65999 5.58999 8.11999 5.91999 7.62999 6.28999L5.23999 5.32999C5.01999 5.24999 4.76999 5.32999 4.64999 5.54999L2.73999 8.86999C2.61999 9.07999 2.65999 9.33999 2.85999 9.47999L4.88999 11.06C4.83999 11.36 4.79999 11.69 4.79999 12C4.79999 12.31 4.81999 12.64 4.86999 12.94L2.83999 14.52C2.65999 14.66 2.60999 14.93 2.71999 15.13L4.63999 18.45C4.75999 18.67 5.00999 18.74 5.22999 18.67L7.61999 17.71C8.11999 18.09 8.64999 18.41 9.23999 18.65L9.59999 21.19C9.64999 21.43 9.83999 21.6 10.08 21.6H13.92C14.16 21.6 14.36 21.43 14.39 21.19L14.75 18.65C15.34 18.41 15.88 18.09 16.37 17.71L18.76 18.67C18.98 18.75 19.23 18.67 19.35 18.45L21.27 15.13C21.39 14.91 21.34 14.66 21.15 14.52L19.14 12.94ZM12 15.6C10.02 15.6 8.39999 13.98 8.39999 12C8.39999 10.02 10.02 8.39999 12 8.39999C13.98 8.39999 15.6 10.02 15.6 12C15.6 13.98 13.98 15.6 12 15.6Z\"\n fill=\"#C9C9C9\"/>\n <rect x=\"13\" width=\"11\" height=\"7\" rx=\"1\" fill=\"#F6413B\"/>\n <path\n d=\"M14.6962 6V1.63636H15.3546V3.53267H17.53V1.63636H18.1905V6H17.53V4.0973H15.3546V6H14.6962ZM20.562 6H19.1493V1.63636H20.6067C21.0343 1.63636 21.4015 1.72372 21.7083 1.89844C22.0151 2.07173 22.2502 2.32102 22.4135 2.64631C22.5783 2.97017 22.6607 3.35866 22.6607 3.81179C22.6607 4.26634 22.5776 4.65696 22.4114 4.98366C22.2466 5.31037 22.008 5.56179 21.6955 5.73793C21.383 5.91264 21.0051 6 20.562 6ZM19.8077 5.42472H20.5257C20.8581 5.42472 21.1344 5.36222 21.3546 5.23722C21.5748 5.1108 21.7395 4.92827 21.8489 4.68963C21.9583 4.44957 22.013 4.15696 22.013 3.81179C22.013 3.46946 21.9583 3.17898 21.8489 2.94034C21.7409 2.7017 21.5797 2.5206 21.3652 2.39702C21.1507 2.27344 20.8844 2.21165 20.5662 2.21165H19.8077V5.42472Z\"\n fill=\"#C9C9C9\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_28_1567\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n";
|
|
45195
45195
|
|
|
45196
45196
|
const VERSION$6 = '2.19.12';
|
|
45197
|
-
const T$
|
|
45197
|
+
const T$i = 'plugins.bottom_gear';
|
|
45198
45198
|
const MENU_VMARGIN = 12;
|
|
45199
45199
|
const MENU_BACKLINK_HEIGHT = 44;
|
|
45200
45200
|
/**
|
|
@@ -45346,14 +45346,14 @@ class BottomGear extends UICorePlugin {
|
|
|
45346
45346
|
addItem(name, $subMenu) {
|
|
45347
45347
|
const $existingItem = this.$el.find(`#gear-options li[data-${name}]`);
|
|
45348
45348
|
if ($existingItem.length) {
|
|
45349
|
-
trace(`${T$
|
|
45349
|
+
trace(`${T$i} addItem already exists`, { name });
|
|
45350
45350
|
return $existingItem;
|
|
45351
45351
|
}
|
|
45352
45352
|
const $item = $('<li></li>')
|
|
45353
45353
|
.attr(`data-${name}`, '')
|
|
45354
45354
|
.appendTo(this.$el.find('#gear-options'));
|
|
45355
45355
|
if ($subMenu) {
|
|
45356
|
-
trace(`${T$
|
|
45356
|
+
trace(`${T$i} addItem adding submenu`, { name });
|
|
45357
45357
|
$subMenu
|
|
45358
45358
|
.addClass('gear-sub-menu-wrapper')
|
|
45359
45359
|
.hide()
|
|
@@ -45376,7 +45376,7 @@ class BottomGear extends UICorePlugin {
|
|
|
45376
45376
|
});
|
|
45377
45377
|
}
|
|
45378
45378
|
highDefinitionUpdate(isHd) {
|
|
45379
|
-
trace(`${T$
|
|
45379
|
+
trace(`${T$i} highDefinitionUpdate`, { isHd });
|
|
45380
45380
|
this.hd = isHd;
|
|
45381
45381
|
this.$el.find('#gear-button').html(isHd ? gearHdIcon : gearIcon);
|
|
45382
45382
|
}
|
|
@@ -48054,7 +48054,7 @@ const PLAYBACK_NAMES = {
|
|
|
48054
48054
|
hls: 'HLS.js',
|
|
48055
48055
|
html5_video: 'Native',
|
|
48056
48056
|
};
|
|
48057
|
-
const T$
|
|
48057
|
+
const T$h = 'plugins.nerd_stats';
|
|
48058
48058
|
/**
|
|
48059
48059
|
* `PLUGIN` that displays useful statistics regarding the playback as well as the network quality estimation.
|
|
48060
48060
|
* @beta
|
|
@@ -48373,7 +48373,7 @@ class NerdStats extends UICorePlugin {
|
|
|
48373
48373
|
return this;
|
|
48374
48374
|
}
|
|
48375
48375
|
attach() {
|
|
48376
|
-
trace(`${T$
|
|
48376
|
+
trace(`${T$h} attach`);
|
|
48377
48377
|
const gear = this.core.getPlugin('bottom_gear');
|
|
48378
48378
|
gear
|
|
48379
48379
|
.addItem('nerd_stats')
|
|
@@ -48387,7 +48387,7 @@ class NerdStats extends UICorePlugin {
|
|
|
48387
48387
|
});
|
|
48388
48388
|
}
|
|
48389
48389
|
clearSpeedtestMetrics() {
|
|
48390
|
-
trace(`${T$
|
|
48390
|
+
trace(`${T$h} clearSpeedtestMetrics`);
|
|
48391
48391
|
const clapprStats = this.container?.getPlugin('clappr_stats');
|
|
48392
48392
|
this.speedtestMetrics.connectionSpeed = 0;
|
|
48393
48393
|
this.speedtestMetrics.ping = 0;
|
|
@@ -48442,7 +48442,7 @@ function newMetrics() {
|
|
|
48442
48442
|
// Copyright 2014 Globo.com Player authors. All rights reserved.
|
|
48443
48443
|
// Use of this source code is governed by a BSD-style
|
|
48444
48444
|
// license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE.
|
|
48445
|
-
const T$
|
|
48445
|
+
const T$g = 'plugins.click_to_pause';
|
|
48446
48446
|
/**
|
|
48447
48447
|
* A small `PLUGIN` that toggles the playback state on click over the video container
|
|
48448
48448
|
* @beta
|
|
@@ -48472,7 +48472,7 @@ class ClickToPause extends ContainerPlugin {
|
|
|
48472
48472
|
click() {
|
|
48473
48473
|
const isLivePlayback = this.container.getPlaybackType() === Playback.LIVE;
|
|
48474
48474
|
const isDvrEnabled = this.container.isDvrEnabled();
|
|
48475
|
-
trace(`${T$
|
|
48475
|
+
trace(`${T$g} click`, {
|
|
48476
48476
|
isLivePlayback,
|
|
48477
48477
|
isDvrEnabled,
|
|
48478
48478
|
});
|
|
@@ -48551,7 +48551,7 @@ function buildSvg(clips, duration, barWidth) {
|
|
|
48551
48551
|
|
|
48552
48552
|
const clipsHTML = "<div class=\"gplayer-mc-clips-text\" id=\"gplayer-mc-clips-text\"></div>";
|
|
48553
48553
|
|
|
48554
|
-
const T$
|
|
48554
|
+
const T$f = 'plugins.clips';
|
|
48555
48555
|
const VERSION$5 = '2.22.16';
|
|
48556
48556
|
const CLAPPR_VERSION = '0.11.4';
|
|
48557
48557
|
const COMPACT_WIDTH = 495;
|
|
@@ -48584,7 +48584,7 @@ class Clips extends UICorePlugin {
|
|
|
48584
48584
|
*/
|
|
48585
48585
|
get attributes() {
|
|
48586
48586
|
return {
|
|
48587
|
-
class: '
|
|
48587
|
+
class: 'gplayer-mc-clips',
|
|
48588
48588
|
};
|
|
48589
48589
|
}
|
|
48590
48590
|
get version() {
|
|
@@ -48602,7 +48602,6 @@ class Clips extends UICorePlugin {
|
|
|
48602
48602
|
this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onContainerChanged);
|
|
48603
48603
|
}
|
|
48604
48604
|
render() {
|
|
48605
|
-
trace(`${T$e} render`);
|
|
48606
48605
|
if (!this.options.clips) {
|
|
48607
48606
|
return this;
|
|
48608
48607
|
}
|
|
@@ -48638,19 +48637,18 @@ class Clips extends UICorePlugin {
|
|
|
48638
48637
|
?.text;
|
|
48639
48638
|
}
|
|
48640
48639
|
onCoreReady() {
|
|
48641
|
-
trace(`${T$
|
|
48640
|
+
trace(`${T$f} onCoreReady`);
|
|
48642
48641
|
const mediaControl = this.core.getPlugin('media_control');
|
|
48643
48642
|
assert(mediaControl, 'media_control plugin is required');
|
|
48644
48643
|
this.parseClips(this.options.clips.text);
|
|
48645
48644
|
this.listenTo(mediaControl, Events$1.MEDIACONTROL_RENDERED, this.onMcRender);
|
|
48646
48645
|
}
|
|
48647
48646
|
onMcRender() {
|
|
48648
|
-
trace(`${T$
|
|
48649
|
-
|
|
48650
|
-
mediaControl.slot('clips', this.$el);
|
|
48647
|
+
trace(`${T$f} onMcRender`);
|
|
48648
|
+
this.core.getPlugin('media_control')?.slot('clips', this.$el);
|
|
48651
48649
|
}
|
|
48652
48650
|
onContainerChanged() {
|
|
48653
|
-
trace(`${T$
|
|
48651
|
+
trace(`${T$f} onContainerChanged`);
|
|
48654
48652
|
// TODO figure out the conditions of changing the container (without destroying the previous one)
|
|
48655
48653
|
// probably it is the case with the MultiCamera plugin
|
|
48656
48654
|
if (this.oldContainer) {
|
|
@@ -48841,7 +48839,7 @@ class ContextMenu extends UIContainerPlugin {
|
|
|
48841
48839
|
|
|
48842
48840
|
const dvrHTML = "<div class=\"live-info\" id=\"gplayer-mc-live\"><%= i18n.t('live') %></div>\n<button type=\"button\"\n class=\"live-button\"\n aria-label=\"<%= i18n.t('back_to_live') %>\"\n id=\"gplayer-mc-back-to-live\"\n>\n <%= i18n.t('back_to_live') %>\n</button>\n";
|
|
48843
48841
|
|
|
48844
|
-
const T$
|
|
48842
|
+
const T$e = 'plugins.dvr_controls';
|
|
48845
48843
|
/**
|
|
48846
48844
|
* `PLUGIN` that adds the DVR controls to the media control UI
|
|
48847
48845
|
*
|
|
@@ -48914,7 +48912,7 @@ class DvrControls extends UICorePlugin {
|
|
|
48914
48912
|
* @internal
|
|
48915
48913
|
*/
|
|
48916
48914
|
render() {
|
|
48917
|
-
trace(`${T$
|
|
48915
|
+
trace(`${T$e} render`);
|
|
48918
48916
|
this.$el.html(DvrControls.template({
|
|
48919
48917
|
i18n: this.core.i18n,
|
|
48920
48918
|
}));
|
|
@@ -48957,7 +48955,7 @@ const reloadIcon = "<svg fill=\"#FFFFFF\" height=\"24\" viewBox=\"0 0 24 24\" wi
|
|
|
48957
48955
|
|
|
48958
48956
|
const templateHtml = "<div class=\"player-error-screen__content\" data-error-screen>\n <% if (icon) { %>\n <div class=\"player-error-screen__icon\" data-error-screen><%= icon %></div>\n <% } %>\n <div class=\"player-error-screen__title\" data-error-screen><%= title %></div>\n <% if (message) { %>\n <div class=\"player-error-screen__message\" data-error-screen><%= message %></div>\n <% } %>\n <% if (code) { %>\n <div class=\"player-error-screen__code\" data-error-screen><%= i18n.t('error_code') %>: <%= code %></div>\n <% } %>\n <% if (reloadIcon) { %>\n <div class=\"player-error-screen__reload\" data-error-screen><%= reloadIcon %></div>\n <% } %>\n</div>\n";
|
|
48959
48957
|
|
|
48960
|
-
const T$
|
|
48958
|
+
const T$d = 'plugins.error_screen';
|
|
48961
48959
|
/**
|
|
48962
48960
|
* `PLUGIN` that displays fatal errors nicely in the overlay on top of the player.
|
|
48963
48961
|
* @public
|
|
@@ -49009,11 +49007,11 @@ class ErrorScreen extends UICorePlugin {
|
|
|
49009
49007
|
this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
|
|
49010
49008
|
}
|
|
49011
49009
|
onPlay() {
|
|
49012
|
-
trace(`${T$
|
|
49010
|
+
trace(`${T$d} onPlay`);
|
|
49013
49011
|
this.unmount();
|
|
49014
49012
|
}
|
|
49015
49013
|
unmount() {
|
|
49016
|
-
trace(`${T$
|
|
49014
|
+
trace(`${T$d} unmount`);
|
|
49017
49015
|
this.err = null;
|
|
49018
49016
|
this.$el.remove();
|
|
49019
49017
|
}
|
|
@@ -49026,7 +49024,7 @@ class ErrorScreen extends UICorePlugin {
|
|
|
49026
49024
|
};
|
|
49027
49025
|
}
|
|
49028
49026
|
reload() {
|
|
49029
|
-
trace(`${T$
|
|
49027
|
+
trace(`${T$d} reload`);
|
|
49030
49028
|
setTimeout(() => {
|
|
49031
49029
|
this.core.configure({
|
|
49032
49030
|
reloading: true,
|
|
@@ -49036,7 +49034,7 @@ class ErrorScreen extends UICorePlugin {
|
|
|
49036
49034
|
}, 0);
|
|
49037
49035
|
}
|
|
49038
49036
|
onActiveContainerChanged() {
|
|
49039
|
-
trace(`${T$
|
|
49037
|
+
trace(`${T$d} onActiveContainerChanged`, {
|
|
49040
49038
|
reloading: this.core.options.reloading,
|
|
49041
49039
|
});
|
|
49042
49040
|
this.err = null;
|
|
@@ -49052,7 +49050,7 @@ class ErrorScreen extends UICorePlugin {
|
|
|
49052
49050
|
}
|
|
49053
49051
|
}
|
|
49054
49052
|
onError(err) {
|
|
49055
|
-
trace(`${T$
|
|
49053
|
+
trace(`${T$d} onError`, { err });
|
|
49056
49054
|
if (err.UI) {
|
|
49057
49055
|
if (this.err) {
|
|
49058
49056
|
this.unmount();
|
|
@@ -49522,7 +49520,7 @@ const streamsMomentoIcon = "<svg id=\"Слой_1\" data-name=\"Слой 1\" xmln
|
|
|
49522
49520
|
const streamsWhiteNightsIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\">\n <defs>\n <clipPath id=\"clip-Icon\">\n <rect width=\"50\" height=\"50\"/>\n </clipPath>\n </defs>\n <g id=\"Icon\" clip-path=\"url(#clip-Icon)\">\n <g id=\"icon2\" transform=\"translate(-0.041 0)\">\n <path id=\"Контур_77\" data-name=\"Контур 77\" d=\"M6.493,13v8.266h6.275V19.74H8.31V17.714h4.006V16.3H8.31V14.53h4.365V13Zm7.5,0v8.266h1.7V15.732h.023l3.438,5.534h1.818V13h-1.7v5.545h-.023L15.8,13Z\" fill=\"#fff\"/>\n <path id=\"Контур_76\" data-name=\"Контур 76\" d=\"M29.949,29.1V26.774H31.94a1.4,1.4,0,0,1,.938.272,1.1,1.1,0,0,1,.313.874,1.155,1.155,0,0,1-.313.9,1.375,1.375,0,0,1-.938.278ZM28.132,25.36v8.266h1.817V30.4h1.818a1.353,1.353,0,0,1,.984.3,1.637,1.637,0,0,1,.394.949c.046.333.079.681.1,1.042a3.2,3.2,0,0,0,.185.938h1.819a1.218,1.218,0,0,1-.191-.423,3.611,3.611,0,0,1-.093-.527c-.019-.185-.033-.367-.041-.544s-.016-.332-.023-.463a5.052,5.052,0,0,0-.087-.625,2.109,2.109,0,0,0-.2-.573,1.586,1.586,0,0,0-.359-.451,1.414,1.414,0,0,0-.556-.284v-.023a1.926,1.926,0,0,0,1-.81,2.494,2.494,0,0,0,.307-1.262,2.308,2.308,0,0,0-.165-.88,2.128,2.128,0,0,0-.486-.724,2.3,2.3,0,0,0-.764-.492,2.67,2.67,0,0,0-1-.179ZM43.506,30.5V25.36H41.689V30.5a2.065,2.065,0,0,1-.37,1.36,1.7,1.7,0,0,1-1.343.434,2.086,2.086,0,0,1-.886-.156,1.283,1.283,0,0,1-.758-.978,3.748,3.748,0,0,1-.058-.66V25.36H36.456V30.5a3.16,3.16,0,0,0,.92,2.5,3.807,3.807,0,0,0,2.6.81,3.82,3.82,0,0,0,2.593-.816,3.132,3.132,0,0,0,.937-2.492Z\" fill=\"#fff\"/>\n <path id=\"Контур_80\" data-name=\"Контур 80\" d=\"M22.646,31.2H4.689a4.505,4.505,0,0,1-4.5-4.5V8.5A4.505,4.505,0,0,1,4.689,4h18.2a4.505,4.505,0,0,1,4.5,4.5v8.445l-.893.1a3.184,3.184,0,0,0-2.846,3.177V30.5l-.465.7ZM4.689,6a2.5,2.5,0,0,0-2.5,2.5V26.7a2.5,2.5,0,0,0,2.5,2.5H21.65V20.22a5.18,5.18,0,0,1,3.739-4.992V8.5a2.5,2.5,0,0,0-2.5-2.5Z\" fill=\"#fff\"/>\n <path id=\"Контур_81\" data-name=\"Контур 81\" d=\"M30.127,47.884a1,1,0,0,1-1-1V43.267H26.846a5.206,5.206,0,0,1-5.2-5.2V20.222a5.206,5.206,0,0,1,5.2-5.2H44.692a5.206,5.206,0,0,1,5.2,5.2V38.068a5.206,5.206,0,0,1-5.2,5.2H35.058l-4.216,4.316A1,1,0,0,1,30.127,47.884ZM26.846,17.022a3.2,3.2,0,0,0-3.2,3.2V38.067a3.2,3.2,0,0,0,3.2,3.2h3.281a1,1,0,0,1,1,1v2.162l2.8-2.86a1,1,0,0,1,.715-.3H44.692a3.2,3.2,0,0,0,3.2-3.2V20.222a3.2,3.2,0,0,0-3.2-3.2Z\" fill=\"#fff\"/>\n </g>\n </g>\n</svg>\n";
|
|
49523
49521
|
|
|
49524
49522
|
const VERSION$4 = '0.0.1';
|
|
49525
|
-
const T$
|
|
49523
|
+
const T$c = 'plugins.multicamera';
|
|
49526
49524
|
/**
|
|
49527
49525
|
* `PLUGIN` that adds support for loading multiple streams and switching between them using the media control UI.
|
|
49528
49526
|
* @beta
|
|
@@ -49668,7 +49666,7 @@ class MultiCamera extends UICorePlugin {
|
|
|
49668
49666
|
}
|
|
49669
49667
|
onCameraSelect(event) {
|
|
49670
49668
|
const value = event.currentTarget.dataset.multicameraSelectorSelect;
|
|
49671
|
-
trace(`${T$
|
|
49669
|
+
trace(`${T$c} onCameraSelect`, { value });
|
|
49672
49670
|
if (value !== undefined) {
|
|
49673
49671
|
this.changeById(parseInt(value, 10));
|
|
49674
49672
|
}
|
|
@@ -49794,13 +49792,13 @@ class MultiCamera extends UICorePlugin {
|
|
|
49794
49792
|
}
|
|
49795
49793
|
}
|
|
49796
49794
|
changeById(id) {
|
|
49797
|
-
trace(`${T$
|
|
49795
|
+
trace(`${T$c} changeById`, { id });
|
|
49798
49796
|
queueMicrotask(() => {
|
|
49799
49797
|
const playbackOptions = this.core.options.playback || {};
|
|
49800
49798
|
// TODO figure out what this does
|
|
49801
49799
|
playbackOptions.recycleVideo = Browser.isMobile;
|
|
49802
49800
|
this.currentCamera = this.findElementById(id) ?? null;
|
|
49803
|
-
trace(`${T$
|
|
49801
|
+
trace(`${T$c} changeById`, { id, currentCamera: this.currentCamera, multicamera: this.multicamera });
|
|
49804
49802
|
if (!this.currentCamera) {
|
|
49805
49803
|
return;
|
|
49806
49804
|
}
|
|
@@ -49817,7 +49815,7 @@ class MultiCamera extends UICorePlugin {
|
|
|
49817
49815
|
// TODO remove?
|
|
49818
49816
|
// for html5 playback:
|
|
49819
49817
|
this.options.dvrEnabled = this.currentCamera.dvr;
|
|
49820
|
-
trace(`${T$
|
|
49818
|
+
trace(`${T$c} changeById`, { currentCamera: this.currentCamera });
|
|
49821
49819
|
// TODO
|
|
49822
49820
|
this.core.configure({
|
|
49823
49821
|
playback: playbackOptions,
|
|
@@ -49875,7 +49873,7 @@ const pipIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"no
|
|
|
49875
49873
|
const buttonHtml$2 = "<button class=\"gplayer-lite-btn gcore-skin-button-color\">\n <%= pipIcon %>\n</button>\n";
|
|
49876
49874
|
|
|
49877
49875
|
const VERSION$3 = '0.0.1';
|
|
49878
|
-
const T$
|
|
49876
|
+
const T$b = `plugins.pip`;
|
|
49879
49877
|
/**
|
|
49880
49878
|
* `PLUGIN` that enables picture in picture mode.
|
|
49881
49879
|
* @beta
|
|
@@ -49933,7 +49931,7 @@ class PictureInPicture extends UICorePlugin {
|
|
|
49933
49931
|
});
|
|
49934
49932
|
}
|
|
49935
49933
|
isPiPSupported() {
|
|
49936
|
-
trace(`${T$
|
|
49934
|
+
trace(`${T$b} isPiPSupported`, {
|
|
49937
49935
|
pictureInPictureEnabled: !!document.pictureInPictureEnabled,
|
|
49938
49936
|
requestPictureInPicture: !!HTMLVideoElement.prototype.requestPictureInPicture,
|
|
49939
49937
|
});
|
|
@@ -49954,7 +49952,7 @@ class PictureInPicture extends UICorePlugin {
|
|
|
49954
49952
|
return this;
|
|
49955
49953
|
}
|
|
49956
49954
|
togglePictureInPicture() {
|
|
49957
|
-
trace(`${T$
|
|
49955
|
+
trace(`${T$b} togglePictureInPicture`);
|
|
49958
49956
|
if (this.videoElement !== document.pictureInPictureElement) {
|
|
49959
49957
|
this.requestPictureInPicture();
|
|
49960
49958
|
}
|
|
@@ -49963,13 +49961,13 @@ class PictureInPicture extends UICorePlugin {
|
|
|
49963
49961
|
}
|
|
49964
49962
|
}
|
|
49965
49963
|
requestPictureInPicture() {
|
|
49966
|
-
trace(`${T$
|
|
49964
|
+
trace(`${T$b} requestPictureInPicture`, {
|
|
49967
49965
|
videoElement: !!this.videoElement,
|
|
49968
49966
|
});
|
|
49969
49967
|
this.videoElement.requestPictureInPicture();
|
|
49970
49968
|
}
|
|
49971
49969
|
exitPictureInPicture() {
|
|
49972
|
-
trace(`${T$
|
|
49970
|
+
trace(`${T$b} exitPictureInPicture`);
|
|
49973
49971
|
document.exitPictureInPicture();
|
|
49974
49972
|
}
|
|
49975
49973
|
}
|
|
@@ -49996,7 +49994,7 @@ const DEFAULT_PLAYBACK_RATES = [
|
|
|
49996
49994
|
{ value: 2.0, label: '2x' },
|
|
49997
49995
|
];
|
|
49998
49996
|
const DEFAULT_PLAYBACK_RATE = 1;
|
|
49999
|
-
const T$
|
|
49997
|
+
const T$a = 'plugins.playback_rate';
|
|
50000
49998
|
/**
|
|
50001
49999
|
* `PLUGIN` that allows changing the playback speed of the video.
|
|
50002
50000
|
* @beta
|
|
@@ -50082,7 +50080,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50082
50080
|
this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChange);
|
|
50083
50081
|
}
|
|
50084
50082
|
onCoreReady() {
|
|
50085
|
-
trace(`${T$
|
|
50083
|
+
trace(`${T$a} onCoreReady`);
|
|
50086
50084
|
const mediaControl = this.core.getPlugin('media_control');
|
|
50087
50085
|
assert(mediaControl, 'media_control plugin is required');
|
|
50088
50086
|
const gear = this.core.getPlugin('bottom_gear');
|
|
@@ -50091,7 +50089,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50091
50089
|
this.listenTo(gear, GearEvents.RENDERED, this.onGearRendered);
|
|
50092
50090
|
}
|
|
50093
50091
|
onActiveContainerChange() {
|
|
50094
|
-
trace(`${T$
|
|
50092
|
+
trace(`${T$a} onActiveContainerChange`);
|
|
50095
50093
|
this.metadataLoaded = false;
|
|
50096
50094
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_STOP, this.onStop);
|
|
50097
50095
|
this.listenTo(this.core.activePlayback, Events$1.PLAYBACK_PLAY, this.onPlay);
|
|
@@ -50099,15 +50097,15 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50099
50097
|
this.listenTo(this.core.activeContainer, Events$1.CONTAINER_LOADEDMETADATA, this.onMetaDataLoaded);
|
|
50100
50098
|
}
|
|
50101
50099
|
onMediaControlRendered() {
|
|
50102
|
-
trace(`${T$
|
|
50100
|
+
trace(`${T$a} onMediaControlRendered`);
|
|
50103
50101
|
this.render();
|
|
50104
50102
|
}
|
|
50105
50103
|
onGearRendered() {
|
|
50106
|
-
trace(`${T$
|
|
50104
|
+
trace(`${T$a} onGearRendered`);
|
|
50107
50105
|
this.mount();
|
|
50108
50106
|
}
|
|
50109
50107
|
mount() {
|
|
50110
|
-
trace(`${T$
|
|
50108
|
+
trace(`${T$a} mount`, {
|
|
50111
50109
|
shouldMount: this.shouldMount(),
|
|
50112
50110
|
});
|
|
50113
50111
|
if (!this.shouldMount()) {
|
|
@@ -50124,7 +50122,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50124
50122
|
})));
|
|
50125
50123
|
}
|
|
50126
50124
|
onMetaDataLoaded() {
|
|
50127
|
-
trace(`${T$
|
|
50125
|
+
trace(`${T$a} onMetaDataLoaded`, {
|
|
50128
50126
|
playbackType: this.core.activePlayback.getPlaybackType(),
|
|
50129
50127
|
dvrEnabled: this.core.activePlayback.dvrEnabled,
|
|
50130
50128
|
});
|
|
@@ -50146,14 +50144,14 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50146
50144
|
this.core.activePlayback?.setPlaybackRate(this.selectedRate);
|
|
50147
50145
|
}
|
|
50148
50146
|
else {
|
|
50149
|
-
trace(`${T$
|
|
50147
|
+
trace(`${T$a} onPlaybackRateChange not steering to the selected rate, it is seemingly a catchup algorithm working`, {
|
|
50150
50148
|
playbackRate,
|
|
50151
50149
|
selectedRate: this.selectedRate,
|
|
50152
50150
|
});
|
|
50153
50151
|
}
|
|
50154
50152
|
}
|
|
50155
50153
|
shouldMount() {
|
|
50156
|
-
trace(`${T$
|
|
50154
|
+
trace(`${T$a} shouldMount`, {
|
|
50157
50155
|
playbackType: this.core.activePlayback?.getPlaybackType(),
|
|
50158
50156
|
dvrEnabled: this.core.activePlayback?.dvrEnabled,
|
|
50159
50157
|
});
|
|
@@ -50170,7 +50168,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50170
50168
|
* @internal
|
|
50171
50169
|
*/
|
|
50172
50170
|
render() {
|
|
50173
|
-
trace(`${T$
|
|
50171
|
+
trace(`${T$a} render`, {
|
|
50174
50172
|
shouldMount: this.shouldMount(),
|
|
50175
50173
|
});
|
|
50176
50174
|
this.$el.html(PlaybackRate.listTemplate({
|
|
@@ -50216,13 +50214,13 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50216
50214
|
}
|
|
50217
50215
|
}
|
|
50218
50216
|
syncRate() {
|
|
50219
|
-
trace(`${T$
|
|
50217
|
+
trace(`${T$a} syncRate`, {
|
|
50220
50218
|
selectedRate: this.selectedRate,
|
|
50221
50219
|
});
|
|
50222
50220
|
this.core.activePlayback?.setPlaybackRate(this.selectedRate);
|
|
50223
50221
|
}
|
|
50224
50222
|
resetPlaybackRate() {
|
|
50225
|
-
trace(`${T$
|
|
50223
|
+
trace(`${T$a} resetPlaybackRate`, {
|
|
50226
50224
|
selectedRate: this.selectedRate,
|
|
50227
50225
|
});
|
|
50228
50226
|
this.core.activePlayback?.setPlaybackRate(DEFAULT_PLAYBACK_RATE);
|
|
@@ -50257,7 +50255,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50257
50255
|
?.label || `x${rate}`);
|
|
50258
50256
|
}
|
|
50259
50257
|
highlightCurrentRate() {
|
|
50260
|
-
trace(`${T$
|
|
50258
|
+
trace(`${T$a} highlightCurrentRate`, {
|
|
50261
50259
|
selectedRate: this.selectedRate,
|
|
50262
50260
|
});
|
|
50263
50261
|
this.allRateElements().removeClass('current');
|
|
@@ -50268,7 +50266,7 @@ class PlaybackRate extends UICorePlugin {
|
|
|
50268
50266
|
.addClass('gcore-skin-active');
|
|
50269
50267
|
}
|
|
50270
50268
|
updateGearOptionLabel() {
|
|
50271
|
-
trace(`${T$
|
|
50269
|
+
trace(`${T$a} updateGearOptionLabel`, {
|
|
50272
50270
|
selectedRate: this.selectedRate,
|
|
50273
50271
|
});
|
|
50274
50272
|
this.mount();
|
|
@@ -50280,7 +50278,7 @@ const posterHTML = "<div class=\"play-wrapper\" id=\"gplayer-poster\">\n <div
|
|
|
50280
50278
|
//Copyright 2014 Globo.com Player authors. All rights reserved.
|
|
50281
50279
|
// Use of this source code is governed by a BSD-style
|
|
50282
50280
|
// license that can be found in the LICENSE file.
|
|
50283
|
-
const T$
|
|
50281
|
+
const T$9 = 'plugins.poster';
|
|
50284
50282
|
/**
|
|
50285
50283
|
* `PLUGIN` that displays a poster image in the background and a big play button on top when playback is stopped
|
|
50286
50284
|
* @beta
|
|
@@ -50371,7 +50369,7 @@ class Poster extends UIContainerPlugin {
|
|
|
50371
50369
|
* Reenables earlier disabled plugin
|
|
50372
50370
|
*/
|
|
50373
50371
|
enable() {
|
|
50374
|
-
trace(`${T$
|
|
50372
|
+
trace(`${T$9} enable`);
|
|
50375
50373
|
super.enable();
|
|
50376
50374
|
this.playing = this.container.playback.isPlaying();
|
|
50377
50375
|
this.update();
|
|
@@ -50380,13 +50378,13 @@ class Poster extends UIContainerPlugin {
|
|
|
50380
50378
|
* Disables the plugin, unmounting it from the DOM
|
|
50381
50379
|
*/
|
|
50382
50380
|
disable() {
|
|
50383
|
-
trace(`${T$
|
|
50381
|
+
trace(`${T$9} disable`);
|
|
50384
50382
|
this.playing = false;
|
|
50385
50383
|
this.playRequested = false;
|
|
50386
50384
|
super.disable();
|
|
50387
50385
|
}
|
|
50388
50386
|
onError(error) {
|
|
50389
|
-
trace(`${T$
|
|
50387
|
+
trace(`${T$9} onError`, {
|
|
50390
50388
|
error,
|
|
50391
50389
|
enabled: this.enabled,
|
|
50392
50390
|
});
|
|
@@ -50397,24 +50395,24 @@ class Poster extends UIContainerPlugin {
|
|
|
50397
50395
|
// this.hasFatalError is reset on container recreate
|
|
50398
50396
|
}
|
|
50399
50397
|
onPlay() {
|
|
50400
|
-
trace(`${T$
|
|
50398
|
+
trace(`${T$9} onPlay`);
|
|
50401
50399
|
this.playing = true;
|
|
50402
50400
|
this.playRequested = false;
|
|
50403
50401
|
this.update();
|
|
50404
50402
|
}
|
|
50405
50403
|
onPlayIntent() {
|
|
50406
|
-
trace(`${T$
|
|
50404
|
+
trace(`${T$9} onPlayIntent`);
|
|
50407
50405
|
this.playRequested = true;
|
|
50408
50406
|
this.update();
|
|
50409
50407
|
}
|
|
50410
50408
|
onStop() {
|
|
50411
|
-
trace(`${T$
|
|
50409
|
+
trace(`${T$9} onStop`);
|
|
50412
50410
|
this.playing = false;
|
|
50413
50411
|
this.playRequested = false;
|
|
50414
50412
|
this.update();
|
|
50415
50413
|
}
|
|
50416
50414
|
updatePlayButton() {
|
|
50417
|
-
trace(`${T$
|
|
50415
|
+
trace(`${T$9} updatePlayButton`);
|
|
50418
50416
|
const show = !this.isNoOp &&
|
|
50419
50417
|
!(this.options.chromeless && !this.options.allowUserInteraction) &&
|
|
50420
50418
|
!this.playRequested &&
|
|
@@ -50430,18 +50428,18 @@ class Poster extends UIContainerPlugin {
|
|
|
50430
50428
|
}
|
|
50431
50429
|
}
|
|
50432
50430
|
showPlayButton() {
|
|
50433
|
-
trace(`${T$
|
|
50431
|
+
trace(`${T$9} showPlayButton`);
|
|
50434
50432
|
this.$el.find('#poster-play').show();
|
|
50435
50433
|
this.$el.addClass('clickable');
|
|
50436
50434
|
this.container.$el.addClass('container-with-poster-clickable');
|
|
50437
50435
|
}
|
|
50438
50436
|
hidePlayButton() {
|
|
50439
|
-
trace(`${T$
|
|
50437
|
+
trace(`${T$9} hidePlayButton`);
|
|
50440
50438
|
this.$el.find('#poster-play').hide();
|
|
50441
50439
|
this.$el.removeClass('clickable');
|
|
50442
50440
|
}
|
|
50443
50441
|
clicked(e) {
|
|
50444
|
-
trace(`${T$
|
|
50442
|
+
trace(`${T$9} clicked`);
|
|
50445
50443
|
e.preventDefault();
|
|
50446
50444
|
e.stopPropagation();
|
|
50447
50445
|
if (this.options.chromeless && !this.options.allowUserInteraction) {
|
|
@@ -50459,12 +50457,12 @@ class Poster extends UIContainerPlugin {
|
|
|
50459
50457
|
return !this.container.playback.isAudioOnly;
|
|
50460
50458
|
}
|
|
50461
50459
|
update() {
|
|
50462
|
-
trace(`${T$
|
|
50460
|
+
trace(`${T$9} update`);
|
|
50463
50461
|
this.updatePlayButton();
|
|
50464
50462
|
this.updatePoster();
|
|
50465
50463
|
}
|
|
50466
50464
|
updatePoster() {
|
|
50467
|
-
trace(`${T$
|
|
50465
|
+
trace(`${T$9} updatePoster`);
|
|
50468
50466
|
if (!this.playing) {
|
|
50469
50467
|
this.showPoster();
|
|
50470
50468
|
}
|
|
@@ -50477,7 +50475,7 @@ class Poster extends UIContainerPlugin {
|
|
|
50477
50475
|
this.$el.show();
|
|
50478
50476
|
}
|
|
50479
50477
|
hidePoster() {
|
|
50480
|
-
trace(`${T$
|
|
50478
|
+
trace(`${T$9} hidePoster`);
|
|
50481
50479
|
if (!this.options.disableMediaControl) {
|
|
50482
50480
|
this.container.enableMediaControl();
|
|
50483
50481
|
}
|
|
@@ -50528,7 +50526,7 @@ const listHtml = "<button class=\"gplayer-lite-btn go-back gcore-skin-text-color
|
|
|
50528
50526
|
|
|
50529
50527
|
const hdIcon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.9562 8.22232H13.9961V15.1873H14.9562C15.8914 15.1873 16.766 14.8253 17.4195 14.1676C18.0786 13.5037 18.4415 12.6281 18.4415 11.7026C18.4415 9.7837 16.8781 8.22253 14.9561 8.22253L14.9562 8.22232Z\"\n fill=\"#C9C9C9\"/>\n <path\n d=\"M22.0801 4H1.91994C0.859222 4 0 4.86406 0 5.91994V17.4878C0 18.5437 0.859222 19.4078 1.91994 19.4078H22.0801C23.1408 19.4078 24 18.5437 24 17.4878V5.91994C24 4.86406 23.1408 4 22.0801 4ZM10.3975 15.3473C10.3975 15.6124 10.1827 15.8272 9.91754 15.8272C9.65216 15.8272 9.43761 15.6122 9.43761 15.3473V12.0239H5.55956V15.3473C5.55956 15.6124 5.34481 15.8272 5.07963 15.8272C4.81425 15.8272 4.5997 15.6122 4.5997 15.3473L4.59949 7.74042C4.59949 7.47524 4.81425 7.26049 5.07943 7.26049C5.34481 7.26049 5.55936 7.47544 5.55936 7.74042V11.0636H9.43741V7.74042C9.43741 7.47524 9.65216 7.26049 9.91734 7.26049C10.1827 7.26049 10.3973 7.47544 10.3973 7.74042L10.3975 15.3473ZM18.1005 14.8438C17.2652 15.6844 16.1486 16.1472 14.9561 16.1472H13.5161C13.2507 16.1472 13.0361 15.9323 13.0361 15.6673V7.74263C13.0361 7.47745 13.2509 7.26269 13.5161 7.26269H14.9561C17.4072 7.26269 19.4013 9.25438 19.4013 11.7027C19.4013 12.8835 18.9392 13.9991 18.1005 14.844V14.8438Z\"\n fill=\"#C9C9C9\"/>\n</svg>\n";
|
|
50530
50528
|
|
|
50531
|
-
const T$
|
|
50529
|
+
const T$8 = 'plugins.quality_levels';
|
|
50532
50530
|
const VERSION$2 = 'v2.22.5';
|
|
50533
50531
|
/**
|
|
50534
50532
|
* `PLUGIN` that provides a UI to select the desired quality level of the playback.
|
|
@@ -50605,14 +50603,14 @@ class QualityLevels extends UICorePlugin {
|
|
|
50605
50603
|
this.listenTo(this.core, Events$1.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChange);
|
|
50606
50604
|
}
|
|
50607
50605
|
onCoreReady() {
|
|
50608
|
-
trace(`${T$
|
|
50606
|
+
trace(`${T$8} onCoreReady`);
|
|
50609
50607
|
const gear = this.core.getPlugin('bottom_gear');
|
|
50610
50608
|
assert(gear, 'bottom_gear plugin is required');
|
|
50611
50609
|
this.currentText = this.core.i18n.t('auto');
|
|
50612
50610
|
this.listenTo(gear, GearEvents.RENDERED, this.onGearRendered);
|
|
50613
50611
|
}
|
|
50614
50612
|
onGearRendered() {
|
|
50615
|
-
trace(`${T$
|
|
50613
|
+
trace(`${T$8} onGearRendered`);
|
|
50616
50614
|
this.render();
|
|
50617
50615
|
}
|
|
50618
50616
|
onActiveContainerChange() {
|
|
@@ -50641,7 +50639,7 @@ class QualityLevels extends UICorePlugin {
|
|
|
50641
50639
|
}
|
|
50642
50640
|
}
|
|
50643
50641
|
onStop() {
|
|
50644
|
-
trace(`${T$
|
|
50642
|
+
trace(`${T$8} onStop`);
|
|
50645
50643
|
this.listenToOnce(this.core.activePlayback, Events$1.PLAYBACK_PLAY, () => {
|
|
50646
50644
|
if (this.core.activePlayback.getPlaybackType() === 'live') {
|
|
50647
50645
|
if (this.selectedLevelId !== -1) {
|
|
@@ -50737,7 +50735,7 @@ class QualityLevels extends UICorePlugin {
|
|
|
50737
50735
|
return false;
|
|
50738
50736
|
}
|
|
50739
50737
|
goBack() {
|
|
50740
|
-
trace(`${T$
|
|
50738
|
+
trace(`${T$8} goBack`);
|
|
50741
50739
|
this.core.getPlugin('bottom_gear').refresh();
|
|
50742
50740
|
}
|
|
50743
50741
|
setLevel(index) {
|
|
@@ -50772,11 +50770,11 @@ class QualityLevels extends UICorePlugin {
|
|
|
50772
50770
|
return this.levelLabels[index] ?? formatLevelLabel(this.levels[index]);
|
|
50773
50771
|
}
|
|
50774
50772
|
onBitrate(info) {
|
|
50775
|
-
trace(`${T$
|
|
50773
|
+
trace(`${T$8} updateCurrentLevel`, { info });
|
|
50776
50774
|
this.highlightCurrentLevel();
|
|
50777
50775
|
}
|
|
50778
50776
|
highlightCurrentLevel() {
|
|
50779
|
-
trace(`${T$
|
|
50777
|
+
trace(`${T$8} highlightCurrentLevel`, {
|
|
50780
50778
|
selectedLevelId: this.selectedLevelId,
|
|
50781
50779
|
});
|
|
50782
50780
|
this.allLevelElements()
|
|
@@ -50802,7 +50800,7 @@ const seekTimeHTML = "<span id=\"mc-seek-time\" class=\"seek-time__pos\"></span>
|
|
|
50802
50800
|
// Use of this source code is governed by a BSD-style
|
|
50803
50801
|
// license that can be found at https://github.com/clappr/clappr-plugins/blob/master/LICENSE
|
|
50804
50802
|
const { formatTime } = Utils;
|
|
50805
|
-
|
|
50803
|
+
const T$7 = 'plugins.seek_time';
|
|
50806
50804
|
/**
|
|
50807
50805
|
* `PLUGIN` that adds a seek time indicator when the mouse pointer is over the seek bar.
|
|
50808
50806
|
* @beta
|
|
@@ -50861,9 +50859,13 @@ class SeekTime extends UICorePlugin {
|
|
|
50861
50859
|
showTime(event) {
|
|
50862
50860
|
this.hoveringOverSeekBar = true;
|
|
50863
50861
|
this.calculateHoverPosition(event);
|
|
50862
|
+
trace(`${T$7} showTime`, {
|
|
50863
|
+
hoverPosition: this.hoverPosition,
|
|
50864
|
+
});
|
|
50864
50865
|
this.update();
|
|
50865
50866
|
}
|
|
50866
50867
|
hideTime() {
|
|
50868
|
+
trace(`${T$7} hideTime`);
|
|
50867
50869
|
this.hoveringOverSeekBar = false;
|
|
50868
50870
|
this.update();
|
|
50869
50871
|
}
|
|
@@ -50935,7 +50937,7 @@ class SeekTime extends UICorePlugin {
|
|
|
50935
50937
|
return this;
|
|
50936
50938
|
}
|
|
50937
50939
|
mount() {
|
|
50938
|
-
this.core.getPlugin('media_control').$el.append(this.$el); // TODO
|
|
50940
|
+
this.core.getPlugin('media_control').$el.append(this.$el); // TODO MediaControl.mount('root', this.$el)
|
|
50939
50941
|
}
|
|
50940
50942
|
}
|
|
50941
50943
|
|