@gcorevideo/player 2.20.7 → 2.20.8

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.
Files changed (49) hide show
  1. package/dist/core.js +37 -13
  2. package/dist/index.css +1343 -1343
  3. package/dist/index.js +241 -217
  4. package/dist/plugins/index.css +475 -475
  5. package/dist/plugins/index.js +152 -154
  6. package/lib/playback/BasePlayback.d.ts +5 -0
  7. package/lib/playback/BasePlayback.d.ts.map +1 -1
  8. package/lib/playback/BasePlayback.js +8 -0
  9. package/lib/playback/HTML5Video.d.ts +4 -0
  10. package/lib/playback/HTML5Video.d.ts.map +1 -0
  11. package/lib/playback/HTML5Video.js +3 -0
  12. package/lib/playback/dash-playback/DashPlayback.d.ts +1 -0
  13. package/lib/playback/dash-playback/DashPlayback.d.ts.map +1 -1
  14. package/lib/playback/dash-playback/DashPlayback.js +6 -2
  15. package/lib/playback/index.d.ts.map +1 -1
  16. package/lib/playback/index.js +2 -0
  17. package/lib/playback/types.d.ts +9 -0
  18. package/lib/playback/types.d.ts.map +1 -0
  19. package/lib/playback/types.js +9 -0
  20. package/lib/plugins/bottom-gear/BottomGear.d.ts +6 -11
  21. package/lib/plugins/bottom-gear/BottomGear.d.ts.map +1 -1
  22. package/lib/plugins/bottom-gear/BottomGear.js +5 -14
  23. package/lib/plugins/clappr-nerd-stats/ClapprNerdStats.js +2 -2
  24. package/lib/plugins/dvr-controls/DvrControls.d.ts +1 -1
  25. package/lib/plugins/dvr-controls/DvrControls.d.ts.map +1 -1
  26. package/lib/plugins/dvr-controls/DvrControls.js +27 -16
  27. package/lib/plugins/level-selector/LevelSelector.d.ts +2 -0
  28. package/lib/plugins/level-selector/LevelSelector.d.ts.map +1 -1
  29. package/lib/plugins/level-selector/LevelSelector.js +14 -3
  30. package/lib/plugins/media-control/MediaControl.d.ts +1 -0
  31. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  32. package/lib/plugins/media-control/MediaControl.js +5 -3
  33. package/lib/plugins/playback-rate/PlaybackRate.d.ts +11 -10
  34. package/lib/plugins/playback-rate/PlaybackRate.d.ts.map +1 -1
  35. package/lib/plugins/playback-rate/PlaybackRate.js +83 -91
  36. package/package.json +1 -1
  37. package/src/playback/BasePlayback.ts +12 -4
  38. package/src/playback/HTML5Video.ts +3 -0
  39. package/src/playback/dash-playback/DashPlayback.ts +15 -11
  40. package/src/playback/index.ts +2 -1
  41. package/src/playback/types.ts +9 -0
  42. package/src/plugins/bottom-gear/BottomGear.ts +6 -15
  43. package/src/plugins/clappr-nerd-stats/ClapprNerdStats.ts +3 -3
  44. package/src/plugins/dvr-controls/DvrControls.ts +87 -54
  45. package/src/plugins/level-selector/LevelSelector.ts +17 -5
  46. package/src/plugins/media-control/MediaControl.ts +9 -6
  47. package/src/plugins/playback-rate/PlaybackRate.ts +89 -105
  48. package/tsconfig.tsbuildinfo +1 -1
  49. package/assets/playback-rate/playback-rate-selector.ejs +0 -9
@@ -6,6 +6,11 @@ import { ErrorOptions, HTML5Video } from '@clappr/core';
6
6
  */
7
7
  export declare class BasePlayback extends HTML5Video {
8
8
  createError(errorData: any, options?: ErrorOptions): Error;
9
+ /**
10
+ * Sets the playback rate.
11
+ * @param rate - The playback rate to set.
12
+ */
13
+ setPlaybackRate(rate: number): void;
9
14
  _onPlaying(): void;
10
15
  }
11
16
  //# sourceMappingURL=BasePlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAI5E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BzC,UAAU;CAIpB"}
1
+ {"version":3,"file":"BasePlayback.d.ts","sourceRoot":"","sources":["../../src/playback/BasePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,UAAU,EAAe,MAAM,cAAc,CAAA;AAI5E;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY;IA0BlD;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM;IAInB,UAAU;CAIpB"}
@@ -26,6 +26,14 @@ export class BasePlayback extends HTML5Video {
26
26
  }
27
27
  return super.createError(errorData, options);
28
28
  }
29
+ /**
30
+ * Sets the playback rate.
31
+ * @param rate - The playback rate to set.
32
+ */
33
+ setPlaybackRate(rate) {
34
+ ;
35
+ this.el.playbackRate = rate;
36
+ }
29
37
  _onPlaying() {
30
38
  super._onPlaying();
31
39
  this.trigger(Events.PLAYBACK_MEDIACONTROL_ENABLE);
@@ -0,0 +1,4 @@
1
+ import { BasePlayback } from './BasePlayback.js';
2
+ export default class HTML5Video extends BasePlayback {
3
+ }
4
+ //# sourceMappingURL=HTML5Video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTML5Video.d.ts","sourceRoot":"","sources":["../../src/playback/HTML5Video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;CAAG"}
@@ -0,0 +1,3 @@
1
+ import { BasePlayback } from './BasePlayback.js';
2
+ export default class HTML5Video extends BasePlayback {
3
+ }
@@ -71,6 +71,7 @@ export default class DashPlayback extends BasePlayback {
71
71
  getPlaybackType(): string;
72
72
  isSeekEnabled(): boolean;
73
73
  private getLevel;
74
+ setPlaybackRate(rate: number): void;
74
75
  }
75
76
  export {};
76
77
  //# sourceMappingURL=DashPlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashPlayback.d.ts","sourceRoot":"","sources":["../../../src/playback/dash-playback/DashPlayback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,QAAQ,EAAyB,MAAM,cAAc,CAAA;AAG3E,OAAO,MAAM,EAAE,EAIb,KAAK,WAAW,IAAI,eAAe,EAEnC,aAAa,EACd,MAAM,QAAQ,CAAA;AAEf,OAAO,EAGL,YAAY,EACZ,YAAY,EAEZ,SAAS,EACV,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOjD,KAAK,YAAY,GACb,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,IAAI,GACpB,OAAO,QAAQ,CAAC,GAAG,GACnB,OAAO,QAAQ,CAAC,KAAK,CAAA;AAEzB,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAKD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,YAAY;IACpD,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAO;IAErC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAO;IAKnC,mCAAmC,EAAE,OAAO,CAAQ;IAEpD,aAAa,EAAE,OAAO,CAAQ;IAI9B,uBAAuB,EAAE,MAAM,CAAI;IASnC,wBAAwB,EAAE,MAAM,CAAI;IAEpC,aAAa,EAAE,YAAY,CAAe;IAG1C,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IAGzC,gBAAgB,EAAE,SAAS,CAAI;IAE/B,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAO;IAE5C,2BAA2B,EAAE,MAAM,CAAI;IAEvC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAEtC,eAAe,EAAE,YAAY,CAA2B;IAIxD,0BAA0B,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAI9D,wBAAwB,EAAE,oBAAoB,GAAG,IAAI,CAAO;IAE5D,kBAAkB,UAAQ;IAE1B,YAAY,EAAE,aAAa,GAAG,IAAI,CAAO;IAEzC,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAO;IAE9D,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,IAAI,YAAY,EAAE,CAE3B;IAED,IAAI,YAAY,IAAI,MAAM,CAMzB;IAED,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,CAAC,EAAE,EAAE,MAAM,EAoC1B;IAED,IAAI,UAAU,WASb;IAED,IAAI,IAAI,WAEP;IAID,IAAI,sBAAsB,WAczB;IAID,IAAI,oBAAoB,WAgBvB;IAED,IAAI,SAAS,WAKZ;gBAEW,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG;IAOzD,MAAM;IA+EN,MAAM;IAMN,MAAM;YAMW,SAAS;IAI1B,qBAAqB;IAQrB,oBAAoB;IAMpB,kBAAkB;IAOlB,WAAW,IAAI,SAAS;IAQxB,cAAc,IAAI,SAAS;IAO3B,kBAAkB,IAAI,SAAS;IAItB,cAAc,CAAC,UAAU,EAAE,MAAM;IAejC,IAAI,CAAC,IAAI,EAAE,SAAS;IAgB7B,eAAe;IAIf,UAAU,CAAC,MAAM,EAAE,OAAO;IAKjB,eAAe;IAgBxB,OAAO,CAAC,gBAAgB,CAGvB;IAED,OAAO,CAAC,eAAe,CAmCtB;IAED,OAAO,CAAC,YAAY;IAmBX,aAAa;IAqBb,iBAAiB;IAW1B,IAAI,UAAU,YASb;IAEQ,WAAW;IAmBX,IAAI;IAUJ,KAAK;IAUL,IAAI;IASJ,OAAO;IAkBhB,mBAAmB;IAYnB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE;IAarC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gBAAgB;IAQxB,eAAe;IAIf,aAAa;IAIb,OAAO,CAAC,QAAQ;IAMhB,eAAe,CAAC,IAAI,EAAE,MAAM;CAG7B"}
@@ -8,6 +8,7 @@ import DASHJS from 'dashjs';
8
8
  import { PlaybackErrorCode, } from '../../playback.types.js';
9
9
  import { isDashSource } from '../../utils/mediaSources.js';
10
10
  import { BasePlayback } from '../BasePlayback.js';
11
+ import { PlaybackEvents } from '../types.js';
11
12
  const AUTO = -1;
12
13
  const { now } = Utils;
13
14
  const T = 'playback.dash';
@@ -188,8 +189,8 @@ export default class DashPlayback extends BasePlayback {
188
189
  }
189
190
  }
190
191
  });
191
- this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, () => {
192
- this.trigger('dash:playback-rate-changed');
192
+ this._dash.on(DASHJS.MediaPlayer.events.PLAYBACK_RATE_CHANGED, (e) => {
193
+ this.trigger(PlaybackEvents.PLAYBACK_RATE_CHANGED, e.playbackRate);
193
194
  });
194
195
  }
195
196
  render() {
@@ -455,6 +456,9 @@ export default class DashPlayback extends BasePlayback {
455
456
  assert.ok(ret, 'Invalid quality level');
456
457
  return ret;
457
458
  }
459
+ setPlaybackRate(rate) {
460
+ this._dash?.setPlaybackRate(rate);
461
+ }
458
462
  }
459
463
  DashPlayback.canPlay = function (resource, mimeType) {
460
464
  if (!isDashSource(resource, mimeType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playback/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,SAGhC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE5D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/playback/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,iBAAiB,SAIhC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE5D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,WAE3D"}
@@ -1,8 +1,10 @@
1
1
  import { Loader } from '@clappr/core';
2
2
  import DashPlayback from './dash-playback/DashPlayback.js';
3
3
  import HlsPlayback from './hls-playback/HlsPlayback.js';
4
+ import HTML5Video from './HTML5Video.js';
4
5
  // TODO consider allowing the variation of the order of playback modules
5
6
  export function registerPlaybacks() {
7
+ Loader.registerPlayback(HTML5Video); // TODO check it overrides the default HTML5Video
6
8
  Loader.registerPlayback(HlsPlayback);
7
9
  Loader.registerPlayback(DashPlayback);
8
10
  }
@@ -0,0 +1,9 @@
1
+ export declare enum PlaybackEvents {
2
+ /**
3
+ * Emitted when the playback rate changes.
4
+ * Payload:
5
+ * - playbackRate number
6
+ */
7
+ PLAYBACK_RATE_CHANGED = "playback:rate-changed"
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/playback/types.ts"],"names":[],"mappings":"AACA,oBAAY,cAAc;IACxB;;;;OAIG;IACH,qBAAqB,0BAA0B;CAChD"}
@@ -0,0 +1,9 @@
1
+ export var PlaybackEvents;
2
+ (function (PlaybackEvents) {
3
+ /**
4
+ * Emitted when the playback rate changes.
5
+ * Payload:
6
+ * - playbackRate number
7
+ */
8
+ PlaybackEvents["PLAYBACK_RATE_CHANGED"] = "playback:rate-changed";
9
+ })(PlaybackEvents || (PlaybackEvents = {}));
@@ -2,16 +2,6 @@ import { UICorePlugin } from '@clappr/core';
2
2
  import '../../../assets/bottom-gear/gear.scss';
3
3
  import '../../../assets/bottom-gear/gear-sub-menu.scss';
4
4
  import { ZeptoResult } from '../../utils/types.js';
5
- /**
6
- * Custom events emitted by the plugin
7
- * @beta
8
- */
9
- export declare enum GearEvents {
10
- /**
11
- * Emitted when the gear menu is rendered
12
- */
13
- MEDIACONTROL_GEAR_RENDERED = "mediacontrol:gear:rendered"
14
- }
15
5
  /**
16
6
  * An element inside the gear menu
17
7
  * @beta
@@ -78,7 +68,12 @@ export declare class BottomGear extends UICorePlugin {
78
68
  * @internal
79
69
  */
80
70
  render(): this;
81
- private refresh;
71
+ /**
72
+ * Re-renders the gear menu.
73
+ * It fires the {@link MediaControlEvents.MEDIACONTROL_GEAR_RENDERED | MEDIACONTROL_GEAR_RENDERED} event,
74
+ * which the plugins that attach to the gear menu can listen to to re-render themselves.
75
+ */
76
+ refresh(): void;
82
77
  private toggleGearMenu;
83
78
  private hide;
84
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,cAAc,CAAC;AAO9E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gDAAgD,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD;;;GAGG;AACH,oBAAY,UAAU;IACpB;;OAEG;IACH,0BAA0B,+BAA+B;CAC1D;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,CAAS;IAErB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IAUnB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAIrD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW;IAI/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACM,MAAM;IAoBf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"BottomGear.d.ts","sourceRoot":"","sources":["../../../src/plugins/bottom-gear/BottomGear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,MAAM,cAAc,CAAC;AAO9E,OAAO,uCAAuC,CAAC;AAC/C,OAAO,gDAAgD,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,CAAS;IAErB;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEvD;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACM,UAAU;IASnB;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI;IAIrD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW;IAI/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACM,MAAM;IAkBf;;;;OAIG;IACH,OAAO;IAKP,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;CAGb"}
@@ -10,17 +10,6 @@ import gearHdIcon from '../../../assets/icons/new/gear-hd.svg';
10
10
  import { MediaControlEvents } from '../media-control/MediaControl';
11
11
  const VERSION = '2.19.12';
12
12
  const T = 'plugins.bottom_gear';
13
- /**
14
- * Custom events emitted by the plugin
15
- * @beta
16
- */
17
- export var GearEvents;
18
- (function (GearEvents) {
19
- /**
20
- * Emitted when the gear menu is rendered
21
- */
22
- GearEvents["MEDIACONTROL_GEAR_RENDERED"] = "mediacontrol:gear:rendered";
23
- })(GearEvents || (GearEvents = {}));
24
13
  /**
25
14
  * Adds the gear button that triggers extra options menu on the right side of the {@link MediaControl | media control} UI
26
15
  * @beta
@@ -76,7 +65,6 @@ export class BottomGear extends UICorePlugin {
76
65
  const mediaControl = this.core.getPlugin('media_control');
77
66
  assert(mediaControl, 'media_control plugin is required');
78
67
  this.listenTo(this.core, ClapprEvents.CORE_ACTIVE_CONTAINER_CHANGED, this.onActiveContainerChanged);
79
- this.listenTo(this.core, 'gear:refresh', this.refresh); // TODO use direct plugin method call
80
68
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_RENDERED, this.render);
81
69
  this.listenTo(mediaControl, ClapprEvents.MEDIACONTROL_HIDE, this.hide); // TODO mediacontrol show as well
82
70
  }
@@ -122,11 +110,14 @@ export class BottomGear extends UICorePlugin {
122
110
  const icon = this.isHd ? gearHdIcon : gearIcon;
123
111
  this.$el.html(BottomGear.template({ icon, items }));
124
112
  mediaControl.getElement('gear')?.html(this.el);
125
- this.core.trigger('gear:rendered'); // @deprecated
126
- mediaControl.trigger(GearEvents.MEDIACONTROL_GEAR_RENDERED); // TODO drop
127
113
  mediaControl.trigger(MediaControlEvents.MEDIACONTROL_GEAR_RENDERED);
128
114
  return this;
129
115
  }
116
+ /**
117
+ * Re-renders the gear menu.
118
+ * It fires the {@link MediaControlEvents.MEDIACONTROL_GEAR_RENDERED | MEDIACONTROL_GEAR_RENDERED} event,
119
+ * which the plugins that attach to the gear menu can listen to to re-render themselves.
120
+ */
130
121
  refresh() {
131
122
  this.render();
132
123
  this.$el.find('.gear-wrapper').show();
@@ -10,7 +10,7 @@ import '../../../assets/clappr-nerd-stats/clappr-nerd-stats.scss';
10
10
  import pluginHtml from '../../../assets/clappr-nerd-stats/clappr-nerd-stats.ejs';
11
11
  import buttonHtml from '../../../assets/clappr-nerd-stats/button.ejs';
12
12
  import statsIcon from '../../../assets/icons/new/stats.svg';
13
- import { GearEvents } from '../bottom-gear/BottomGear.js';
13
+ import { MediaControlEvents } from '../media-control/MediaControl.js';
14
14
  import assert from 'assert';
15
15
  const qualityClasses = [
16
16
  'speedtest-quality-value-1',
@@ -175,7 +175,7 @@ export class ClapprNerdStats extends UICorePlugin {
175
175
  const mediaControl = this.core.getPlugin('media_control');
176
176
  assert(mediaControl, 'media_control plugin is required');
177
177
  this.listenToOnce(this.core, Events.CORE_READY, this.init);
178
- this.listenTo(mediaControl, GearEvents.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
178
+ this.listenTo(mediaControl, MediaControlEvents.MEDIACONTROL_GEAR_RENDERED, this.addToBottomGear);
179
179
  }
180
180
  init() {
181
181
  this.container = this.core.activeContainer;
@@ -42,7 +42,7 @@ export declare class DvrControls extends UICorePlugin {
42
42
  */
43
43
  bindEvents(): void;
44
44
  private bindContainerEvents;
45
- private dvrChanged;
45
+ private onDvrChanged;
46
46
  private click;
47
47
  private settingsUpdate;
48
48
  private shouldRender;
@@ -1 +1 @@
1
- {"version":3,"file":"DvrControls.d.ts","sourceRoot":"","sources":["../../../src/plugins/dvr-controls/DvrControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,YAAY,EAAY,MAAM,cAAc,CAAC;AAM9E,OAAO,gDAAgD,CAAC;AAExD;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAErD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;gBAEW,IAAI,EAAE,IAAI;IAKtB;;OAEG;IACM,UAAU;IAQnB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACM,MAAM;CAehB"}
1
+ {"version":3,"file":"DvrControls.d.ts","sourceRoot":"","sources":["../../../src/plugins/dvr-controls/DvrControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAoB,YAAY,EAAY,MAAM,cAAc,CAAA;AAM7E,OAAO,gDAAgD,CAAA;AAKvD;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAEpD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,IAAa,MAAM;;MAIlB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;gBAEW,IAAI,EAAE,IAAI;IAKtB;;OAEG;IACM,UAAU;IAgBnB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACM,MAAM;CAuBhB"}
@@ -3,6 +3,8 @@ import assert from 'assert';
3
3
  import { CLAPPR_VERSION } from '../../build.js';
4
4
  import dvrHTML from '../../../assets/dvr-controls/index.ejs';
5
5
  import '../../../assets/dvr-controls/dvr_controls.scss';
6
+ import { trace } from '@gcorevideo/utils';
7
+ const T = 'plugins.dvr_controls';
6
8
  /**
7
9
  * Adds the DVR controls to the media control UI
8
10
  * @beta
@@ -33,7 +35,7 @@ export class DvrControls extends UICorePlugin {
33
35
  */
34
36
  get events() {
35
37
  return {
36
- 'click .live-button': 'click'
38
+ 'click .live-button': 'click',
37
39
  };
38
40
  }
39
41
  /**
@@ -41,8 +43,8 @@ export class DvrControls extends UICorePlugin {
41
43
  */
42
44
  get attributes() {
43
45
  return {
44
- 'class': 'dvr-controls',
45
- 'data-dvr-controls': ''
46
+ class: 'dvr-controls',
47
+ 'data-dvr-controls': '',
46
48
  };
47
49
  }
48
50
  constructor(core) {
@@ -61,23 +63,25 @@ export class DvrControls extends UICorePlugin {
61
63
  }
62
64
  bindContainerEvents() {
63
65
  this.listenToOnce(this.core.activeContainer, Events.CONTAINER_TIMEUPDATE, this.render);
64
- this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.dvrChanged);
66
+ this.listenTo(this.core.activeContainer, Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.onDvrChanged);
65
67
  }
66
- dvrChanged(dvrEnabled) {
68
+ onDvrChanged(dvrEnabled) {
69
+ trace(`${T} onDvrChanged`, {
70
+ dvrEnabled,
71
+ });
67
72
  if (this.core.getPlaybackType() !== Playback.LIVE) {
68
73
  return;
69
74
  }
70
75
  this.settingsUpdate();
71
76
  this.core.mediaControl.$el.addClass('live');
72
77
  if (dvrEnabled) {
73
- this.core.mediaControl.$playbackRate.removeClass('playbackrate-enable');
78
+ // TODO
74
79
  this.core.mediaControl.$el
75
80
  .addClass('dvr')
76
81
  .find('.media-control-indicator[data-position], .media-control-indicator[data-duration]')
77
82
  .hide();
78
83
  }
79
84
  else {
80
- this.core.mediaControl.$playbackRate.addClass('playbackrate-enable');
81
85
  this.core.mediaControl.$el.removeClass('dvr');
82
86
  }
83
87
  }
@@ -102,24 +106,31 @@ export class DvrControls extends UICorePlugin {
102
106
  this.bindEvents();
103
107
  }
104
108
  shouldRender() {
105
- const useDvrControls = this.core.options.useDvrControls === undefined || !!this.core.options.useDvrControls;
109
+ const useDvrControls = this.core.options.useDvrControls === undefined ||
110
+ !!this.core.options.useDvrControls;
106
111
  return useDvrControls && this.core.getPlaybackType() === Playback.LIVE;
107
112
  }
108
113
  /**
109
114
  * @internal
110
115
  */
111
116
  render() {
117
+ trace(`${T} render`, {
118
+ dvrEnabled: this.core.activePlayback?.dvrEnabled,
119
+ });
120
+ if (!this.shouldRender()) {
121
+ return this;
122
+ }
112
123
  this.$el.html(DvrControls.template({
113
124
  live: this.core.i18n.t('live'),
114
- backToLive: this.core.i18n.t('back_to_live')
125
+ backToLive: this.core.i18n.t('back_to_live'),
115
126
  }));
116
- if (this.shouldRender()) {
117
- const mediaControl = this.core.getPlugin('media_control');
118
- assert(mediaControl, 'media_control plugin is required');
119
- // TODO don't tap into the $el directly
120
- mediaControl.$el.addClass('live');
121
- mediaControl.$('.media-control-left-panel[data-media-control]').append(this.$el);
122
- }
127
+ const mediaControl = this.core.getPlugin('media_control');
128
+ assert(mediaControl, 'media_control plugin is required');
129
+ // TODO don't tap into the $el directly
130
+ mediaControl.$el.addClass('live');
131
+ mediaControl
132
+ .$('.media-control-left-panel[data-media-control]')
133
+ .append(this.$el);
123
134
  return this;
124
135
  }
125
136
  }
@@ -81,6 +81,8 @@ export declare class LevelSelector extends UICorePlugin {
81
81
  * @internal
82
82
  */
83
83
  bindEvents(): void;
84
+ private onCoreReady;
85
+ private onGearRendered;
84
86
  private bindPlaybackEvents;
85
87
  private onStop;
86
88
  private shouldRender;
@@ -1 +1 @@
1
- {"version":3,"file":"LevelSelector.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/LevelSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAChB;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAE3E;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAK;IAE5B,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IAUnB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACM,MAAM;IAUf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAetB,OAAO,KAAK,QAAQ,GASnB;IAED,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,WAAW,CAAmC;CACvD"}
1
+ {"version":3,"file":"LevelSelector.d.ts","sourceRoot":"","sources":["../../../src/plugins/level-selector/LevelSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,MAAM,cAAc,CAAA;AAgB7D,OAAO,2CAA2C,CAAA;AAMlD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,WAAW,CAAe;IAElC,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,IAAI,CAAQ;IAEpB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAChB;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAE3E;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,WAEjB;IAED;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,eAAe,CAAK;IAE5B,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IASnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,MAAM;IAcd,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACM,MAAM;IAUf,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,cAAc;IAetB,OAAO,KAAK,QAAQ,GASnB;IAED,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,WAAW,CAAmC;CACvD"}
@@ -9,6 +9,7 @@ import arrowRightIcon from '../../../assets/icons/new/arrow-right.svg';
9
9
  import arrowLeftIcon from '../../../assets/icons/new/arrow-left.svg';
10
10
  import checkIcon from '../../../assets/icons/new/check.svg';
11
11
  import '../../../assets/level-selector/style.scss';
12
+ import { MediaControlEvents } from '../media-control/MediaControl.js';
12
13
  const T = 'plugins.level_selector';
13
14
  const VERSION = '2.19.4';
14
15
  /**
@@ -86,9 +87,18 @@ export class LevelSelector extends UICorePlugin {
86
87
  * @internal
87
88
  */
88
89
  bindEvents() {
90
+ this.listenTo(this.core, Events.CORE_READY, this.onCoreReady);
91
+ this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindPlaybackEvents);
92
+ }
93
+ onCoreReady() {
94
+ trace(`${T} onCoreReady`);
89
95
  const mediaControl = this.core.getPlugin('media_control');
90
96
  assert(mediaControl, 'media_control plugin is required');
91
- this.listenTo(this.core, Events.CORE_ACTIVE_CONTAINER_CHANGED, this.bindPlaybackEvents);
97
+ this.listenTo(mediaControl, MediaControlEvents.MEDIACONTROL_GEAR_RENDERED, this.onGearRendered);
98
+ }
99
+ onGearRendered() {
100
+ trace(`${T} onGearRendered`);
101
+ this.deferRender();
92
102
  }
93
103
  bindPlaybackEvents() {
94
104
  this.removeAuto = false;
@@ -212,8 +222,9 @@ export class LevelSelector extends UICorePlugin {
212
222
  goBack() {
213
223
  trace(`${T} goBack`);
214
224
  this.isOpen = false;
215
- this.core.trigger('gear:refresh');
216
- this.deferRender();
225
+ setTimeout(() => {
226
+ this.core.getPlugin('bottom_gear').refresh();
227
+ }, 0);
217
228
  }
218
229
  setLevel(index) {
219
230
  trace(`${T} setIndexLevel`, { index });
@@ -140,6 +140,7 @@ export declare class MediaControl extends UICorePlugin {
140
140
  'mouseenter .media-control-layer[data-controls]': string;
141
141
  'mouseleave .media-control-layer[data-controls]': string;
142
142
  };
143
+ get currentSeekPos(): number;
143
144
  /**
144
145
  * Current volume [0..100]
145
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaControl.d.ts","sourceRoot":"","sources":["../../../src/plugins/media-control/MediaControl.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ export class MediaControl extends UICorePlugin {
62
62
  buttonsColor = null;
63
63
  currentDurationValue = 0;
64
64
  currentPositionValue = 0;
65
- currentSeekBarPercentage = null;
65
+ currentSeekBarPercentage = 0;
66
66
  disabledClickableList = [];
67
67
  displayedDuration = null;
68
68
  displayedPosition = null;
@@ -180,6 +180,9 @@ export class MediaControl extends UICorePlugin {
180
180
  'mouseleave .media-control-layer[data-controls]': 'resetUserKeepVisible',
181
181
  };
182
182
  }
183
+ get currentSeekPos() {
184
+ return this.currentSeekBarPercentage;
185
+ }
183
186
  /**
184
187
  * Current volume [0..100]
185
188
  */
@@ -542,8 +545,7 @@ export class MediaControl extends UICorePlugin {
542
545
  this.changeTogglePlay();
543
546
  this.bindContainerEvents();
544
547
  this.settingsUpdate();
545
- this.core.activeContainer &&
546
- this.core.activeContainer.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.core.activeContainer.isDvrInUse());
548
+ this.core.activeContainer.trigger(Events.CONTAINER_PLAYBACKDVRSTATECHANGED, this.core.activeContainer.isDvrInUse());
547
549
  // TODO test
548
550
  if (this.core.activeContainer.mediaControlDisabled) {
549
551
  this.disable();
@@ -1,6 +1,6 @@
1
- import { UICorePlugin } from '@clappr/core';
1
+ import { UICorePlugin, Core } from '@clappr/core';
2
2
  /**
3
- * Allows changing the playback speed of the video.
3
+ * PLUGIN that allows changing the playback speed of the video.
4
4
  * @beta
5
5
  *
6
6
  * @remarks
@@ -10,12 +10,12 @@ import { UICorePlugin } from '@clappr/core';
10
10
  *
11
11
  * - {@link BottomGear | bottom_gear}
12
12
  *
13
- * It renders a button in the gear menu, which opens a dropdown with the available playback rates.
13
+ * It renders a button in the gear menu, which opens a dropdown with the options to change the playback rate.
14
14
  */
15
15
  export declare class PlaybackRate extends UICorePlugin {
16
- private currentPlayback;
17
16
  private playbackRates;
18
17
  private prevSelectedRate;
18
+ private rendered;
19
19
  private selectedRate;
20
20
  /**
21
21
  * @internal
@@ -27,9 +27,9 @@ export declare class PlaybackRate extends UICorePlugin {
27
27
  get supportedVersion(): {
28
28
  min: string;
29
29
  };
30
- private static readonly template;
31
30
  private static readonly buttonTemplate;
32
31
  private static readonly listTemplate;
32
+ constructor(core: Core);
33
33
  /**
34
34
  * @internal
35
35
  */
@@ -49,12 +49,13 @@ export declare class PlaybackRate extends UICorePlugin {
49
49
  * @internal
50
50
  */
51
51
  bindEvents(): void;
52
- private unBindEvents;
52
+ private onCoreReady;
53
+ private onActiveContainerChange;
54
+ private onGearRendered;
55
+ private onDvrStateChanged;
53
56
  private allRateElements;
54
57
  private rateElement;
55
- private onDashRateChange;
56
- private updateLiveStatus;
57
- private reload;
58
+ private onPlaybackRateChange;
58
59
  private shouldRender;
59
60
  /**
60
61
  * @internal
@@ -63,11 +64,11 @@ export declare class PlaybackRate extends UICorePlugin {
63
64
  private onStartAd;
64
65
  private onFinishAd;
65
66
  private onPlay;
67
+ private resetPlaybackRate;
66
68
  private onStop;
67
69
  private onRateSelect;
68
70
  private onShowMenu;
69
71
  private goBack;
70
- private updatePlaybackRate;
71
72
  private setSelectedRate;
72
73
  private getTitle;
73
74
  private highlightCurrentRate;
@@ -1 +1 @@
1
- {"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,MAAM,cAAc,CAAC;AAiCxE;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,eAAe,CAAyB;IAEhD,OAAO,CAAC,aAAa,CAAgD;IAErE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAE9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAE1D;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IAqBnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACM,MAAM;IAuCf,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,oBAAoB;CAS7B"}
1
+ {"version":3,"file":"PlaybackRate.d.ts","sourceRoot":"","sources":["../../../src/plugins/playback-rate/PlaybackRate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAsB,IAAI,EAAE,MAAM,cAAc,CAAC;AAoC9E;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,aAAa,CAAgD;IAGrE,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,YAAY,CAAiC;IAErD;;OAEG;IACH,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,gBAAgB;;MAEnB;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAE9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAE9C,IAAI,EAAE,IAAI;IAMtB;;OAEG;IACH,IAAa,UAAU;;;MAKtB;IAED;;OAEG;IACH,IAAa,MAAM;;;;MAMlB;IAED;;OAEG;IACM,UAAU;IAKnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACM,MAAM;IA6Bf,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,oBAAoB;CAS7B"}