@flowplayer/player 3.14.1 → 3.15.0-rc.10

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 (81) hide show
  1. package/core/events.d.ts +575 -68
  2. package/core/events.js +286 -34
  3. package/core.js +1 -1
  4. package/default.js +1 -1
  5. package/embed.js +2 -2
  6. package/flowplayer.css +1 -1
  7. package/index.d.ts +1480 -91
  8. package/package.json +1 -1
  9. package/plugins/ads.d.ts +3744 -112
  10. package/plugins/ads.js +1 -1
  11. package/plugins/airplay.d.ts +1440 -116
  12. package/plugins/airplay.js +1 -1
  13. package/plugins/analytics.d.ts +1409 -82
  14. package/plugins/analytics.js +1 -1
  15. package/plugins/asel.d.ts +1409 -82
  16. package/plugins/asel.js +1 -1
  17. package/plugins/audio.d.ts +1409 -82
  18. package/plugins/audio.js +1 -1
  19. package/plugins/chapters.d.ts +1409 -82
  20. package/plugins/chapters.js +1 -1
  21. package/plugins/chromecast.d.ts +1464 -80
  22. package/plugins/chromecast.js +1 -1
  23. package/plugins/comscore.d.ts +1409 -82
  24. package/plugins/consent.d.ts +1409 -82
  25. package/plugins/consent.js +1 -1
  26. package/plugins/context-menu.d.ts +1443 -116
  27. package/plugins/cuepoints.d.ts +1443 -116
  28. package/plugins/cuepoints.js +1 -1
  29. package/plugins/dash.d.ts +1445 -115
  30. package/plugins/dash.js +1 -1
  31. package/plugins/drm.d.ts +1409 -82
  32. package/plugins/drm.js +1 -1
  33. package/plugins/endscreen.d.ts +1442 -115
  34. package/plugins/endscreen.js +1 -1
  35. package/plugins/fas.d.ts +1409 -82
  36. package/plugins/float-on-scroll.d.ts +1443 -116
  37. package/plugins/float-on-scroll.js +1 -1
  38. package/plugins/ga4.d.ts +1409 -82
  39. package/plugins/gemius.d.ts +1439 -112
  40. package/plugins/google-analytics.d.ts +1409 -82
  41. package/plugins/health.d.ts +1435 -107
  42. package/plugins/health.js +1 -1
  43. package/plugins/hls.d.ts +1431 -104
  44. package/plugins/hls.js +1 -1
  45. package/plugins/id3.d.ts +1409 -82
  46. package/plugins/id3.js +1 -1
  47. package/plugins/iframe.d.ts +1440 -116
  48. package/plugins/iframe.js +1 -1
  49. package/plugins/keyboard.d.ts +1409 -82
  50. package/plugins/media-session.d.ts +1409 -82
  51. package/plugins/message.d.ts +1409 -82
  52. package/plugins/message.js +1 -1
  53. package/plugins/ovp.d.ts +1435 -110
  54. package/plugins/ovp.js +1 -1
  55. package/plugins/playlist.d.ts +1409 -82
  56. package/plugins/playlist.js +1 -1
  57. package/plugins/preview.d.ts +1409 -82
  58. package/plugins/preview.js +1 -1
  59. package/plugins/qsel.d.ts +1409 -82
  60. package/plugins/qsel.js +1 -1
  61. package/plugins/qul.d.ts +1441 -114
  62. package/plugins/qul.js +1 -1
  63. package/plugins/rts.d.ts +1409 -82
  64. package/plugins/rts.js +1 -1
  65. package/plugins/share.d.ts +1409 -82
  66. package/plugins/share.js +1 -1
  67. package/plugins/speed.d.ts +1434 -107
  68. package/plugins/speed.js +1 -1
  69. package/plugins/ssai.d.ts +1412 -82
  70. package/plugins/ssai.js +1 -1
  71. package/plugins/subtitles.d.ts +1426 -102
  72. package/plugins/thumbnails.d.ts +1434 -107
  73. package/plugins/thumbnails.js +1 -1
  74. package/plugins/tizen.d.ts +1409 -82
  75. package/plugins/tizen.js +1 -1
  76. package/plugins/vtsel.d.ts +1409 -82
  77. package/plugins/vtsel.js +1 -1
  78. package/plugins/webos.d.ts +1409 -82
  79. package/plugins/webos.js +1 -1
  80. package/util/loader.d.ts +1436 -101
  81. package/util/loader.js +13 -2
package/plugins/asel.d.ts CHANGED
@@ -1,15 +1,42 @@
1
+ /// <reference types="node" />
2
+
3
+ import type { BitrateInfo } from 'dashjs';
1
4
  import type { LevelAttributes } from 'hls.js';
2
5
  import type { MediaKeyFunc } from 'hls.js';
3
6
 
7
+ /* Excluded from this release type: AnyLoader */
8
+
4
9
  declare type ArrayToIntersection<T extends Array<unknown>> = T extends [
5
10
  infer Current,
6
11
  ...infer Remaining
7
12
  ] ? Current & ArrayToIntersection<Remaining> : unknown;
8
13
 
14
+ /**
15
+ * @public
16
+ */
17
+ declare const Asel: PluginCtor<Config, Player>;
18
+ export default Asel;
19
+
9
20
  /* Excluded from this release type: AselProperties */
10
21
 
22
+ /**
23
+ * Each loader must
24
+ */
25
+ declare type _AttachedEventCheck = {
26
+ on(event: `${string}:attached`, handler: (e: FPEvent<unknown>) => void): Player;
27
+ };
28
+
29
+ /* Excluded from this release type: AUDIO_ONLY_SOURCE */
30
+
31
+ /* Excluded from this release type: AudioOnlySourceEventDetail */
32
+
11
33
  /* Excluded from this release type: AudioTrack */
12
34
 
35
+ declare const AUTOPLAY = "is-autoplay";
36
+
37
+ /**
38
+ * @public
39
+ */
13
40
  declare type Autoplay = BitOpts | boolean;
14
41
 
15
42
  declare enum AutoplayOpts {
@@ -18,19 +45,60 @@ declare enum AutoplayOpts {
18
45
  AUDIO_REQUIRED = 2
19
46
  }
20
47
 
21
- declare type BitOpts = number;
48
+ /* Excluded from this release type: BEFORE_PAUSE */
22
49
 
23
- declare type Component = {
24
- onrender?: (config: Config, root: PlayerRoot, player: Player) => void;
25
- onremove?: (config: Config, root: PlayerRoot, player: Player) => void;
50
+ /* Excluded from this release type: BEFORE_PLAY */
51
+
52
+ /**
53
+ * @public
54
+ */
55
+ declare type BeforePauseEventDetail = {
56
+ forced: boolean;
26
57
  };
27
58
 
28
- declare interface Components {
29
- render(key: string, args: any[]): void;
30
- remove(key: string, args: any[]): void;
31
- put(key: string, args: Component): void;
32
- }
59
+ /**
60
+ * @public
61
+ */
62
+ declare type BeforePlayEventDetail = {
63
+ forced: boolean;
64
+ };
65
+
66
+ /**
67
+ * @public
68
+ */
69
+ declare type BitOpts = number;
70
+
71
+ /**
72
+ * @public
73
+ */
74
+ declare const /**
75
+ @public
76
+ * when a new player is inserted into the HTML
77
+ */ /**
78
+ * @public
79
+ */
80
+ CAN_PLAY = "canplay";
81
+
82
+ /**
83
+ * @public
84
+ */
85
+ declare const /**
86
+ @public
87
+ * when a new player is inserted into the HTML
88
+ */ /**
89
+ * @public
90
+ */
91
+ CLICK = "click";
92
+
93
+ /* Excluded from this release type: Component */
94
+
95
+ /* Excluded from this release type: Components */
33
96
 
97
+ /* Excluded from this release type: CONFIG */
98
+
99
+ /**
100
+ * @public
101
+ */
34
102
  declare interface Config {
35
103
  src?: UnsafeSource;
36
104
  preload?: "none" | "metadata" | "auto";
@@ -40,7 +108,7 @@ declare interface Config {
40
108
  autopause?: boolean;
41
109
  rewind?: boolean;
42
110
  loop?: boolean;
43
- seamless?: boolean;
111
+ /* Excluded from this release type: seamless */
44
112
  retry?: boolean;
45
113
  autoplay?: Autoplay;
46
114
  start_quality?: BitOpts;
@@ -48,10 +116,7 @@ declare interface Config {
48
116
  poster?: string;
49
117
  disabled?: boolean;
50
118
  muted?: boolean;
51
- /**
52
- * is src handled by one of plugins loaders
53
- */
54
- is_native?: boolean;
119
+ /* Excluded from this release type: is_native */
55
120
  /**
56
121
  * bitflags for UI options
57
122
  */
@@ -60,10 +125,7 @@ declare interface Config {
60
125
  * your user access token
61
126
  */
62
127
  token?: string;
63
- /**
64
- * manually configured duration for pre-rendering usually
65
- */
66
- duration?: number;
128
+ /* Excluded from this release type: duration */
67
129
  /**
68
130
  * can the content be seeked to any position
69
131
  */
@@ -81,15 +143,120 @@ declare interface Config {
81
143
  seconds_to_dvr?: number;
82
144
  }
83
145
 
146
+ /* Excluded from this release type: ConfigEventDetail */
147
+
148
+ /**
149
+ * @public
150
+ */
84
151
  declare type ConfigWith<T> = Config & T;
85
152
 
86
- declare const _default: PluginCtor<KeyValue, KeyValue>;
87
- export default _default;
153
+ /* Excluded from this release type: CONTENT_REAL_LOAD_START */
154
+
155
+ /**
156
+ * @public
157
+ */
158
+ declare const /**
159
+ @public
160
+ * when a new player is inserted into the HTML
161
+ */ /**
162
+ * @public
163
+ */
164
+ CONTEXT_MENU = "contextmenu";
165
+
166
+ /**
167
+ * @public
168
+ */
169
+ declare type ContextMenuEventDetail = null;
170
+
171
+ /**
172
+ * @public
173
+ * when a cuepoint becomes inactive
174
+ */
175
+ declare const /**
176
+ @public
177
+ * when a new player is inserted into the HTML
178
+ */ /**
179
+ * @public
180
+ * when a cuepoint becomes inactive
181
+ */
182
+ CUEPOINT_END = "cuepointend";
183
+
184
+ /**
185
+ * @public
186
+ * when a cuepoint is active
187
+ */
188
+ declare const /**
189
+ @public
190
+ * when a new player is inserted into the HTML
191
+ */ /**
192
+ * @public
193
+ * when a cuepoint is active
194
+ */
195
+ CUEPOINT_START = "cuepointstart";
196
+
197
+ /**
198
+ * @public
199
+ */
200
+ declare type CuePointEndEventDetail = null;
201
+
202
+ /**
203
+ * @public
204
+ * cuepoints parsing is asynchronous
205
+ * you cannot rely on them existing until
206
+ * this event is emitted
207
+ */
208
+ declare const /**
209
+ @public
210
+ * when a new player is inserted into the HTML
211
+ */ /**
212
+ * @public
213
+ * cuepoints parsing is asynchronous
214
+ * you cannot rely on them existing until
215
+ * this event is emitted
216
+ */
217
+ CUEPOINTS = "cuepoints";
218
+
219
+ /**
220
+ * @public
221
+ */
222
+ declare type CuePointStartEventDetail = null;
223
+
224
+ /**
225
+ * @public
226
+ */
227
+ declare const /**
228
+ @public
229
+ * when a new player is inserted into the HTML
230
+ */ /**
231
+ * @public
232
+ */
233
+ DATA = "loadeddata";
234
+
235
+ /**
236
+ * @public
237
+ */
238
+ declare const /**
239
+ @public
240
+ * when a new player is inserted into the HTML
241
+ */ /**
242
+ * @public
243
+ */
244
+ DBL_CLICK = "dblclick";
245
+
246
+ declare const DESTROYED = "is-destroyed";
88
247
 
89
- declare type DeviceId = string;
248
+ /* Excluded from this release type: DeviceId */
90
249
 
250
+ declare const DISABLED = "is-disabled";
251
+
252
+ /**
253
+ * @public
254
+ */
91
255
  declare type DRM_KEYSYSTEM = "com.widevine.alpha" | "com.microsoft.playready" | "org.w3.clearkey" | "com.apple.fps.1_0";
92
256
 
257
+ /**
258
+ * @public
259
+ */
93
260
  declare type DRMConfiguration = {
94
261
  license_server: string;
95
262
  http_headers?: Record<string, string>;
@@ -99,10 +266,16 @@ declare type DRMConfiguration = {
99
266
  query_params?: Record<string, string>;
100
267
  };
101
268
 
269
+ /**
270
+ * @public
271
+ */
102
272
  declare type DRMSourceConfiguration = {
103
273
  [keysystem in DRM_KEYSYSTEM]?: DRMConfiguration;
104
274
  };
105
275
 
276
+ /**
277
+ * @public
278
+ */
106
279
  declare type DRMVendorImplementation = {
107
280
  fairplay_fetch_certificate: (url: string, cb: (certificate_data: Uint8Array) => void) => void;
108
281
  fairplay_request_license: (url: string, params: {
@@ -111,41 +284,229 @@ declare type DRMVendorImplementation = {
111
284
  }, cb: (license_data: Uint8Array) => void) => void;
112
285
  };
113
286
 
287
+ /**
288
+ * @public
289
+ */
290
+ declare const /**
291
+ @public
292
+ * when a new player is inserted into the HTML
293
+ */ /**
294
+ * @public
295
+ */
296
+ DURATION_CHANGE = "durationchange";
297
+
298
+ /**
299
+ * @public
300
+ * when the player has started playing dvr content
301
+ */
302
+ declare const /**
303
+ @public
304
+ * when a new player is inserted into the HTML
305
+ */ /**
306
+ * @public
307
+ * when the player has started playing dvr content
308
+ */
309
+ DVR = "dvr";
310
+
311
+ /**
312
+ * @public
313
+ */
314
+ declare type DvrEventDetail = number;
315
+
316
+ declare const ENDED = "is-ended";
317
+
318
+ /**
319
+ * @public
320
+ */
321
+ declare const /**
322
+ @public
323
+ * when a new player is inserted into the HTML
324
+ */ /**
325
+ * @public
326
+ */
327
+ ENDED_2 = "ended";
328
+
329
+ declare type EnsureOnAttached<P extends Function, T extends Player> = ExtractPureAPI<T> extends _AttachedEventCheck ? P : "Loaders must implement on('<pluginname>:attached') event";
330
+
331
+ /**
332
+ * @public
333
+ */
334
+ declare const /**
335
+ @public
336
+ * when a new player is inserted into the HTML
337
+ */ /**
338
+ * @public
339
+ */
340
+ ERROR = "error";
341
+
342
+ declare const ERRORED = "is-error";
343
+
344
+ /**
345
+ * @public
346
+ */
347
+ declare type ErrorEventDetail = {
348
+ src?: string;
349
+ type?: string;
350
+ code?: number | string;
351
+ };
352
+
353
+ /* Excluded from this release type: _ErrorEventDetail */
354
+
355
+ declare namespace events {
356
+ export {
357
+ MOUNT,
358
+ ERROR,
359
+ CONTEXT_MENU,
360
+ CLICK,
361
+ DBL_CLICK,
362
+ KEYUP,
363
+ KEYDOWN,
364
+ LOAD,
365
+ MOUSE_ENTER,
366
+ MOUSE_LEAVE,
367
+ MOUSE_UP,
368
+ MOUSE_DOWN,
369
+ MOUSE_MOVE,
370
+ TOUCH_START,
371
+ TOUCH_MOVE,
372
+ TOUCH_END,
373
+ TOUCH_CANCEL,
374
+ RESIZE,
375
+ SCROLL,
376
+ FULLSCREEN_ENTER,
377
+ FULLSCREEN_EXIT,
378
+ FULLSCREEN_CHANGE,
379
+ METADATA,
380
+ DATA,
381
+ PROGRESS,
382
+ TIME_UPDATE,
383
+ LOAD_START,
384
+ VOLUME_CHANGE,
385
+ PAUSE,
386
+ PLAYING_2 as PLAYING,
387
+ PLAY,
388
+ WAITING_2 as WAITING,
389
+ CAN_PLAY,
390
+ ENDED_2 as ENDED,
391
+ SEEKED,
392
+ SEEKING_2 as SEEKING,
393
+ DURATION_CHANGE,
394
+ CUEPOINTS,
395
+ CUEPOINT_START,
396
+ CUEPOINT_END,
397
+ VIEW_ENTER,
398
+ VIEW_LEAVE,
399
+ SOURCE,
400
+ REAP,
401
+ QUALITIES,
402
+ VIDEO_TRACKS,
403
+ SET_QUALITY,
404
+ VIDEO_TRACK_SELECT,
405
+ RECOMMENDATIONS_READY,
406
+ LANDSCAPE,
407
+ PORTRAIT,
408
+ DVR,
409
+ LIVE_2 as LIVE
410
+ }
411
+ }
412
+
413
+ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI : never;
414
+
415
+ /**
416
+ * @public
417
+ */
114
418
  declare type FlowplayerCustomElementRegistry = Map<string, string>;
115
419
 
420
+ /**
421
+ * @public
422
+ */
423
+ declare type FlowplayerStates = typeof states;
424
+
425
+ /**
426
+ * @public
427
+ */
116
428
  declare interface FlowplayerUMD extends FlowplayerUMDBase {
429
+ /**
430
+ * Configure flowplayer and display it in the UI
431
+ * @param selector - query selector of the HTML element where player will render
432
+ * @param config - configuration of flowplayer
433
+ */
117
434
  (selector: string, config?: Config): Player;
435
+ /**
436
+ * Configure flowplayer and display it in the UI
437
+ * @param element - HTML element where player will render
438
+ * @param config - configuration of flowplayer
439
+ */
118
440
  (element: HTMLElement, config?: Config): Player;
441
+ /**
442
+ * Configure flowplayer and display it in the UI
443
+ * @param selector - query selector of the HTML element where player will render
444
+ * @param config - configuration of flowplayer
445
+ */
119
446
  <T>(selector: string, config?: ConfigWith<T>): Player;
447
+ /**
448
+ * Configure flowplayer and display it in the UI
449
+ * @param element - HTML element where player will render
450
+ * @param config - configuration of flowplayer
451
+ */
120
452
  <T>(element: HTMLElement, config?: ConfigWith<T>): Player;
453
+ /**
454
+ * Register plugins in flowplayer
455
+ * @returns flowplayer instance with registered plugins
456
+ */
121
457
  <PluginCtors extends PluginCtor[]>(...plugins: PluginCtors): FlowplayerUMDWithPlugins<ConfigWith<MergeConfigs<PluginCtors>>, PlayerWith<MergePlayerAPIExtensions<PluginCtors>>>;
122
458
  }
123
459
 
124
460
  declare interface FlowplayerUMDBase {
461
+ /**
462
+ * All player instances on the page
463
+ */
125
464
  instances: Player[];
126
- extensions: PluginCtor<KeyValue, any>[];
127
- events: Record<string, string>;
128
- ads?: {
129
- events: Record<string, string>;
130
- };
131
- states: Record<string, string>;
465
+ /**
466
+ * Flowplayer core events
467
+ */
468
+ events: typeof events;
469
+ /**
470
+ * Flowplayer ui states map
471
+ */
472
+ states: FlowplayerStates;
132
473
  quality: typeof QualityOpts;
474
+ autoplay: typeof AutoplayOpts;
133
475
  commit: string;
134
476
  version: string;
477
+ /**
478
+ * Flowplayer's custom element registry
479
+ */
135
480
  customElements: FlowplayerCustomElementRegistry;
136
- defaultElements: Record<string, string>;
137
- components: Components;
138
- support: any;
139
- autoplay: typeof AutoplayOpts;
140
- jwt: any;
141
- loaders: any;
481
+ /* Excluded from this release type: extensions */
482
+ /* Excluded from this release type: defaultElements */
483
+ /* Excluded from this release type: components */
484
+ /* Excluded from this release type: support */
485
+ /* Excluded from this release type: jwt */
486
+ /* Excluded from this release type: loaders */
142
487
  }
143
488
 
144
- declare interface FlowplayerUMDWithPlugins<ConfigWithPlugins extends Config = Config, PluginPlayerAPIExtension extends Player = Player> extends FlowplayerUMDBase {
145
- (selector: string, config?: ConfigWithPlugins): PluginPlayerAPIExtension;
146
- (element: HTMLElement, config?: ConfigWithPlugins): PluginPlayerAPIExtension;
489
+ /**
490
+ * @public
491
+ */
492
+ declare interface FlowplayerUMDWithPlugins<ConfigWithPlugins extends Config = Config, PluginPlayer extends Player = Player> extends FlowplayerUMDBase {
493
+ /**
494
+ * Configure flowplayer, it's attached plugins and display flowplayer it in the UI
495
+ * @param selector - query selector of the HTML element where player will render
496
+ * @param config - Configuration of the flowplayer and the attached plugins
497
+ */
498
+ (selector: string, config?: ConfigWithPlugins): PluginPlayer;
499
+ /**
500
+ * Configure flowplayer, it's attached plugins and display flowplayer it in the UI
501
+ * @param element - HTML element where player will render
502
+ * @param config - Configuration of the flowplayer and the attached plugins
503
+ */
504
+ (element: HTMLElement, config?: ConfigWithPlugins): PluginPlayer;
147
505
  }
148
506
 
507
+ /**
508
+ * @public
509
+ */
149
510
  declare interface FPEvent<T> extends CustomEvent<T> {
150
511
  /**
151
512
  * @deprecated
@@ -155,118 +516,1084 @@ declare interface FPEvent<T> extends CustomEvent<T> {
155
516
  data?: T;
156
517
  }
157
518
 
519
+ declare const FULLSCREEN = "is-fullscreen";
520
+
521
+ /**
522
+ * @public
523
+ */
524
+ declare const /**
525
+ @public
526
+ * when a new player is inserted into the HTML
527
+ */ /**
528
+ * @public
529
+ */
530
+ FULLSCREEN_CHANGE = "fullscreenchange";
531
+
532
+ /**
533
+ * @public
534
+ */
535
+ declare const /**
536
+ @public
537
+ * when a new player is inserted into the HTML
538
+ */ /**
539
+ * @public
540
+ */
541
+ FULLSCREEN_ENTER = "fullscreenenter";
542
+
543
+ /**
544
+ * @public
545
+ */
546
+ declare const /**
547
+ @public
548
+ * when a new player is inserted into the HTML
549
+ */ /**
550
+ * @public
551
+ */
552
+ FULLSCREEN_EXIT = "fullscreenexit";
553
+
554
+ declare const GRABBING = "is-grabbing";
555
+
556
+ declare const HAS_POSTER = "has-poster";
557
+
558
+ declare const HOVERED = "is-hovered";
559
+
560
+ declare const IN_VIEWPORT = "is-in-viewport";
561
+
562
+ /* Excluded from this release type: INTERSECTIONCHANGE */
563
+
564
+ /* Excluded from this release type: IntersectionChangeEventDetail */
565
+
566
+ declare const IS_SOURCE_PROCESSING = "is-source-processing";
567
+
158
568
  declare type JSONPlayer = any;
159
569
 
570
+ /**
571
+ * @public
572
+ */
573
+ declare const /**
574
+ @public
575
+ * when a new player is inserted into the HTML
576
+ */ /**
577
+ * @public
578
+ */
579
+ KEYDOWN = "keydown";
580
+
581
+ /**
582
+ * @public
583
+ */
584
+ declare const /**
585
+ @public
586
+ * when a new player is inserted into the HTML
587
+ */ /**
588
+ * @public
589
+ */
590
+ KEYUP = "keyup";
591
+
592
+ /**
593
+ * @public
594
+ */
160
595
  declare type KeyValue = Record<string, any>;
161
596
 
162
- declare interface Loader<PluginOwnConfig extends KeyValue = KeyValue, PluginPlayerAPIExtension extends KeyValue = KeyValue> extends Plugin_2<PluginOwnConfig, PluginPlayerAPIExtension> {
163
- onload(config: ConfigWith<PluginOwnConfig>, root: PlayerRoot, video: PlayerWith<PluginPlayerAPIExtension>, src?: SourceObj): void;
597
+ /**
598
+ * @public
599
+ */
600
+ declare const /**
601
+ @public
602
+ * when a new player is inserted into the HTML
603
+ */ /**
604
+ * @public
605
+ */
606
+ LANDSCAPE = "landscape";
607
+
608
+ declare const LIVE = "is-live";
609
+
610
+ /**
611
+ * @public
612
+ * when src is a livestream
613
+ */
614
+ declare const /**
615
+ @public
616
+ * when a new player is inserted into the HTML
617
+ */ /**
618
+ * @public
619
+ * when src is a livestream
620
+ */
621
+ LIVE_2 = "live";
622
+
623
+ declare const LIVE_SEEKED = "is-live-seeked";
624
+
625
+ /**
626
+ * @public
627
+ */
628
+ declare type LiveEventDetail = null;
629
+
630
+ /**
631
+ * @public
632
+ */
633
+ declare const /**
634
+ @public
635
+ * when a new player is inserted into the HTML
636
+ */ /**
637
+ * @public
638
+ */
639
+ LOAD = "load";
640
+
641
+ /**
642
+ * @public
643
+ */
644
+ declare const /**
645
+ @public
646
+ * when a new player is inserted into the HTML
647
+ */ /**
648
+ * @public
649
+ */
650
+ LOAD_START = "loadstart";
651
+
652
+ declare const LOADED = "is-loaded";
653
+
654
+ /**
655
+ * @public A plugin that supports loading new media formats. Use 'class MyPlugin implements Loader\<...\>' when writing your custom Loader
656
+ * @typeParam PluginPlayer- Player API that will be implemented by the loader. Loader at least must implement on(\<loader-name\>:attached, ...) event handler
657
+ */
658
+ declare interface Loader<PluginOwnConfig extends KeyValue, // FIXME extends Config
659
+ PluginPlayer extends PlayerWith<_AttachedEventCheck>> extends Plugin_2<PluginOwnConfig, PluginPlayer> {
660
+ onload: EnsureOnAttached<(config: ConfigWith<PluginOwnConfig>, root: PlayerRoot, video: PlayerWith<PluginPlayer>, src: SourceObj) => void, PluginPlayer>;
164
661
  wants<S = SourceObj>(srcString: SourceStr, srcObj: S, config: ConfigWith<PluginOwnConfig>): boolean;
165
662
  wants<S = KeyValue>(srcString: SourceStr, srcObj: SourceWith<S>, config: ConfigWith<PluginOwnConfig>): boolean;
166
663
  }
167
664
 
665
+ declare const LOADING = "is-loading";
666
+
168
667
  declare type MapToConfigs<Arr extends PluginCtor[]> = {
169
- [PluginType in keyof Arr]: Arr[PluginType] extends PluginCtor<infer ConfigType> ? ConfigType : never;
668
+ [PluginType in keyof Arr]: Arr[PluginType] extends PluginCtor<ConfigWith<infer ConfigType>> ? ConfigType : never;
170
669
  };
171
670
 
172
671
  declare type MapToPlayerApiExtensions<Arr extends PluginCtor[]> = {
173
- [PluginType in keyof Arr]: Arr[PluginType] extends PluginCtor<infer _uConfigType, infer PlayerAPIExtension> ? PlayerAPIExtension : never;
672
+ [PluginType in keyof Arr]: Arr[PluginType] extends PluginCtor<infer _uConfigType, PlayerWith<infer PlayerAPIExtension>> ? PlayerAPIExtension : never;
174
673
  };
175
674
 
675
+ declare const MENU_OPENED = "has-menu-opened";
676
+
176
677
  declare type MergeConfigs<Arr extends PluginCtor[]> = ArrayToIntersection<MapToConfigs<Arr>>;
177
678
 
178
679
  declare type MergePlayerAPIExtensions<Arr extends PluginCtor[]> = ArrayToIntersection<MapToPlayerApiExtensions<Arr>>;
179
680
 
180
- declare interface Player extends HTMLVideoElement {
181
- renderPlugin: (pluginContainer: HTMLElement) => void;
182
- toggleDisable: (flag: boolean) => void;
183
- original_src: string;
681
+ /**
682
+ * @public
683
+ * general video events flowplayer uses internally
684
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
685
+ */
686
+ declare const /**
687
+ @public
688
+ * when a new player is inserted into the HTML
689
+ */ /**
690
+ * @public
691
+ * general video events flowplayer uses internally
692
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
693
+ */
694
+ METADATA = "loadedmetadata";
695
+
696
+ /**
697
+ @public
698
+ * when a new player is inserted into the HTML
699
+ */
700
+ declare const /**
701
+ @public
702
+ * when a new player is inserted into the HTML
703
+ */ /**
704
+ @public
705
+ * when a new player is inserted into the HTML
706
+ */ MOUNT = "mount";
707
+
708
+ /**
709
+ * @public
710
+ */
711
+ declare type MountEventDetail = null;
712
+
713
+ /**
714
+ * @public
715
+ */
716
+ declare const /**
717
+ @public
718
+ * when a new player is inserted into the HTML
719
+ */ /**
720
+ * @public
721
+ */
722
+ MOUSE_DOWN = "mousedown";
723
+
724
+ /**
725
+ * @public
726
+ */
727
+ declare const /**
728
+ @public
729
+ * when a new player is inserted into the HTML
730
+ */ /**
731
+ * @public
732
+ */
733
+ MOUSE_ENTER = "mouseenter";
734
+
735
+ /**
736
+ * @public
737
+ */
738
+ declare const /**
739
+ @public
740
+ * when a new player is inserted into the HTML
741
+ */ /**
742
+ * @public
743
+ */
744
+ MOUSE_LEAVE = "mouseleave";
745
+
746
+ /**
747
+ * @public
748
+ */
749
+ declare const /**
750
+ @public
751
+ * when a new player is inserted into the HTML
752
+ */ /**
753
+ * @public
754
+ */
755
+ MOUSE_MOVE = "mousemove";
756
+
757
+ /**
758
+ * @public
759
+ */
760
+ declare const /**
761
+ @public
762
+ * when a new player is inserted into the HTML
763
+ */ /**
764
+ * @public
765
+ */
766
+ MOUSE_UP = "mouseup";
767
+
768
+ declare const MUTED = "is-muted";
769
+
770
+ declare const NO_CONTROLS = "no-controls";
771
+
772
+ declare const NO_DVR = "no-timeline";
773
+
774
+ /* Excluded from this release type: NON_RECOVERABLE_ERROR */
775
+
776
+ /* Excluded from this release type: NonRecoverableErrorEventDetail */
777
+
778
+ /* Excluded from this release type: NQState */
779
+
780
+ /**
781
+ * @public
782
+ */
783
+ declare type OVPMetadata = {
784
+ player_id?: string;
785
+ media_id?: string;
786
+ ad_keywords?: string;
787
+ title?: string;
788
+ description?: string;
789
+ category_name?: string;
790
+ duration?: number;
791
+ tags?: string;
792
+ };
793
+
794
+ /**
795
+ * @public
796
+ */
797
+ declare const /**
798
+ @public
799
+ * when a new player is inserted into the HTML
800
+ */ /**
801
+ * @public
802
+ */
803
+ PAUSE = "pause";
804
+
805
+ declare const PAUSED = "is-paused";
806
+
807
+ /**
808
+ * @public
809
+ */
810
+ declare const /**
811
+ @public
812
+ * when a new player is inserted into the HTML
813
+ */ /**
814
+ * @public
815
+ */
816
+ PLAY = "play";
817
+
818
+ /**
819
+ * @public
820
+ */
821
+ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
822
+ /* Excluded from this release type: renderPlugin */
823
+ /**
824
+ * Disables and enables the player.
825
+ * @param flag -Forces disabled mode (true) or enabled mode (false). Disabled player cannot be seeked forward.
826
+ */
827
+ toggleDisable: (flag?: boolean) => void;
828
+ /* Excluded from this release type: original_src */
829
+ /**
830
+ * The root element of the video player. This is the immediate parent element of the video tag.
831
+ */
184
832
  root: PlayerRoot;
185
- playerState: Record<string, boolean>;
186
- reaper: Map<string, any> | 0;
187
- hasState(state: PlayerState): boolean;
188
- transitionState(to: PlayerState, from: PlayerState, timer?: number): void;
833
+ /* Excluded from this release type: playerState */
834
+ /* Excluded from this release type: reaper */
835
+ /* Excluded from this release type: hasState */
836
+ /* Excluded from this release type: transitionState */
837
+ /**
838
+ * Toggles between playing and paused mode.
839
+ * @param on - Forces the playback (true) or paused state (false). Use this for initial playback of a source configured with setSrc() and when changing the state.
840
+ */
189
841
  togglePlay(on?: boolean): Promise<void>;
190
- toggleFullScreen(on?: boolean, state_only?: boolean): void;
191
- toggleMute(on?: boolean): void;
842
+ /* Excluded from this release type: toggleFullScreen */
843
+ /**
844
+ * @public
845
+ * Toggles between normal and fullscreen mode. The optional flag attribute forces the normal sized (false) or fullscreen (false) mode.
846
+ * The custom fullscreenenter and fullscreenexit events are sent respectively.
847
+ */
848
+ toggleFullScreen(on?: boolean): void;
849
+ /* Excluded from this release type: toggleMute */
850
+ /**
851
+ * Toggles between muted and original volume level.
852
+ */
853
+ toggleMute(): void;
854
+ /**
855
+ * Removes a Flowplayer instance from `flowplayer.instances` and emits the `flowplayer.events.REAP` event, enabling cleanup of unsafe resources.
856
+ */
192
857
  destroy(): void;
193
- render(): void;
194
- render(component: string, args: any[]): void;
858
+ /* Excluded from this release type: render */
859
+ /* Excluded from this release type: render */
195
860
  createComponents(...args: string[]): HTMLElement[];
861
+ /**
862
+ * Adds or changes configuration object. Usually used in conjunction with `setSrc()`. You can use all top-level config options like `subtitle:` , `logo:`, `ima:` etc.
863
+ * @example
864
+ * ```
865
+ * setOpts({
866
+ * subtitles:{
867
+ * tracks:[
868
+ * {
869
+ * src: "1.vtt",
870
+ * label: "English",
871
+ * default: true
872
+ * }, {
873
+ * src: "2.vtt",
874
+ * label: "Spanish",
875
+ * default : false }]},
876
+ * logo: "https://myserver.com/logo.png"
877
+ * })
878
+ * ```
879
+ */
196
880
  setOpts(config: Config): void;
197
- setSrc(sources: UnsafeSource): Player;
198
- on<T>(event: string | string[], handler: (e: FPEvent<T>) => void): Player;
199
- once<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
200
- off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
201
- poll<T>(event: string, data?: T): FPEvent<T>;
202
- emit<T>(event: string, data?: T): Player;
203
- setAttrs(attrs: Config): Player;
204
- opt<T>(key: string, fallback?: T): T;
205
- enqueueSeek(offset: number): any;
206
- setState(state: string, flag: boolean): Player;
207
- toJSON(): JSONPlayer;
881
+ /**
882
+ * Sets the video source to be played. The src attribute can be a string or an object similar to the src property.
883
+ */
884
+ setSrc(sources: UnsafeSource): void;
885
+ /* Excluded from this release type: setSrc */
886
+ /* Excluded from this release type: setAttrs */
887
+ /* Excluded from this release type: opt */
888
+ /* Excluded from this release type: enqueueSeek */
889
+ /* Excluded from this release type: setState */
890
+ setState(state: PlayerState, flag: boolean): void;
891
+ /* Excluded from this release type: toJSON */
892
+ /**
893
+ * Adds a language to the project. See {@link https://developer.wowza.com/docs/wowza-flowplayer/player/translations/#using-npm| Official documentation}
894
+ */
208
895
  i18n(k: string, fallback?: string): string;
209
- deviceId(): DeviceId;
210
- live_state: {
211
- dvr?: boolean;
212
- dvr_window?: number;
213
- };
896
+ /* Excluded from this release type: deviceId */
897
+ /* Excluded from this release type: live_state */
898
+ /**
899
+ * A reference to the configuration state of the player.
900
+ */
214
901
  opts: Config;
215
- plugins: Array<Plugin_2 | Loader>;
216
- dvr_offset?: number;
902
+ /* Excluded from this release type: plugins */
903
+ /* Excluded from this release type: dvr_offset */
217
904
  message?: {
218
905
  events: Record<string, string>;
219
906
  };
907
+ /**
908
+ * A boolean specifying whether the player is disabled and the user cannot seek forward using the mouse or keyboard.
909
+ * Player is disabled and enabled with the `toggleDisable()` method.
910
+ */
220
911
  disabled: boolean;
221
- started?: boolean;
222
- token: string;
912
+ /* Excluded from this release type: started */
913
+ /* Excluded from this release type: token */
223
914
  tracks?: VideoTrack[];
224
- _customElements: FlowplayerCustomElementRegistry;
225
- _storage: Storage;
226
- }
915
+ /* Excluded from this release type: _customElements */
916
+ /* Excluded from this release type: _storage */
917
+ };
227
918
 
919
+ declare type PlayerCustomEventName = keyof PlayerCustomEventsDetailMap;
920
+
921
+ declare type PlayerCustomEventsDetailMap = {
922
+ [MOUNT]: MountEventDetail;
923
+ [ERROR]: ErrorEventDetail;
924
+ [CONTEXT_MENU]: ContextMenuEventDetail;
925
+ /* Excluded from this release type: beforeplay */
926
+ /* Excluded from this release type: beforepause */
927
+ /* Excluded from this release type: state */
928
+ [CUEPOINT_START]: CuePointStartEventDetail;
929
+ [CUEPOINT_END]: CuePointEndEventDetail;
930
+ [VIEW_ENTER]: ViewEnterEventDetail;
931
+ [VIEW_LEAVE]: ViewLeaveEventDetail;
932
+ [SOURCE]: SourceEventDetail;
933
+ /* Excluded from this release type: recover */
934
+ [REAP]: ReapEventDetail;
935
+ /* Excluded from this release type: config */
936
+ [QUALITIES]: QualitiesEventDetail;
937
+ /* Excluded from this release type: "error:fatal" */
938
+ [RECOMMENDATIONS_READY]: RecommendationsReadyEventDetail;
939
+ /* Excluded from this release type: audioonlysource */
940
+ /* Excluded from this release type: renderplugin */
941
+ [DVR]: DvrEventDetail;
942
+ [LIVE_2]: LiveEventDetail;
943
+ /* Excluded from this release type: "seek:queued" */
944
+ /* Excluded from this release type: "seek:cancel" */
945
+ /* Excluded from this release type: "plugin:registered" */
946
+ /* Excluded from this release type: intersectionchange */
947
+ /* Excluded from this release type: retry */
948
+ };
949
+
950
+ declare type PlayerCustomEventsOverloads = {
951
+ /**
952
+ * Sent when the player interface is completely rendered and you can access all the elements with CSS and JavaScript. Due to the way mounting works, this event is only accessible inside of a custom extension.
953
+ */
954
+ on(event: typeof MOUNT, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof MOUNT]>) => void): Player;
955
+ /**
956
+ * Sent when an error occurs. Learn more about error handling.
957
+ */
958
+ on(event: typeof ERROR, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof ERROR]>) => void): Player;
959
+ on(// FIXME - this event is in context-menu plugin
960
+ event: typeof CONTEXT_MENU, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof CONTEXT_MENU]>) => void): Player;
961
+ /* Excluded from this release type: on */
962
+ /* Excluded from this release type: on */
963
+ /* Excluded from this release type: on */
964
+ /**
965
+ * TODO - move to Cuepoints? Sent when a configured cuepoint is entered.
966
+ */
967
+ on(event: typeof CUEPOINT_START, // TODO: move to Cuepoints
968
+ handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof CUEPOINT_START]>) => void): Player;
969
+ /**
970
+ * Sent when a configured cuepoint is terminated.
971
+ */
972
+ on(event: typeof CUEPOINT_END, // TODO: move to Cuepoints
973
+ handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof CUEPOINT_END]>) => void): Player;
974
+ /**
975
+ * Sent when the player becomes visible for the user.
976
+ */
977
+ on(event: typeof VIEW_ENTER, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof VIEW_ENTER]>) => void): Player;
978
+ /**
979
+ * Sent when the player leaves the users viewport and is longer visible.
980
+ */
981
+ on(event: typeof VIEW_LEAVE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof VIEW_LEAVE]>) => void): Player;
982
+ /**
983
+ * Sent right before the player src attribute is set. This allows you to change the video URL before playback.
984
+ */
985
+ on(event: typeof SOURCE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof SOURCE]>) => void): Player;
986
+ /* Excluded from this release type: on */
987
+ /**
988
+ * Sent when a flowplayer instance is about to be removed from the DOM, and any unsafe references are about to be reaped, which allows Single Page Applications to perform the necessary resource cleanups. This is important when working with front-end frameworks like React. This event should never be emitted directly, only listened to.
989
+ */
990
+ on(event: typeof REAP, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof REAP]>) => void): Player;
991
+ /* Excluded from this release type: on */
992
+ /**
993
+ * Emitted when the set of underlying qualities has changed.
994
+ */
995
+ on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
996
+ /* Excluded from this release type: on */
997
+ /**
998
+ * Listen to this event to create a recommendations grid using the data passed with the event.
999
+ */
1000
+ on(event: typeof RECOMMENDATIONS_READY, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof RECOMMENDATIONS_READY]>) => void): Player;
1001
+ /* Excluded from this release type: on */
1002
+ /* Excluded from this release type: on */
1003
+ /**
1004
+ * when the player has started playing dvr content
1005
+ */
1006
+ on(event: typeof DVR, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof DVR]>) => void): Player;
1007
+ /**
1008
+ * when src is a livestream
1009
+ */
1010
+ on(event: typeof LIVE_2, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof LIVE_2]>) => void): Player;
1011
+ /* Excluded from this release type: on */
1012
+ /* Excluded from this release type: on */
1013
+ /* Excluded from this release type: on */
1014
+ /* Excluded from this release type: on */
1015
+ /* Excluded from this release type: on */
1016
+ on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1017
+ /* Excluded from this release type: on */
1018
+ /**
1019
+ * Same as `on()`, but the handler function is executed only once.
1020
+ */
1021
+ once<T extends PlayerCustomEventName>(event: T, handler: (e: FPEvent<PlayerCustomEventsDetailMap[T]>) => void): Player;
1022
+ /**
1023
+ * Same as `on()`, but the handler function is executed only once.
1024
+ */
1025
+ once<T extends PlayerNativeEventName>(event: T, handler: (e: PlayerNativeEventsDetailMap[T]) => void): Player;
1026
+ once<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1027
+ /**
1028
+ * Removes the event handler with the specified event type.
1029
+ */
1030
+ off<T extends PlayerCustomEventName>(event: T, handler: (e: FPEvent<PlayerCustomEventsDetailMap[T]>) => void): Player;
1031
+ /**
1032
+ * Removes the event handler with the specified event type.
1033
+ */
1034
+ off<T extends PlayerNativeEventName>(event: T, handler: (e: PlayerNativeEventsDetailMap[T]) => void): Player;
1035
+ /**
1036
+ * Removes the event handler with the specified event type.
1037
+ */
1038
+ off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1039
+ /* Excluded from this release type: poll */
1040
+ emit<T extends PlayerCustomEventName>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1041
+ /* Excluded from this release type: emit */
1042
+ emit<T, X extends string = string>(event: X & (X extends PlayerCustomEventName ? "Incorrect event detail type" : X), data?: T): Player;
1043
+ };
1044
+
1045
+ declare type PlayerEventOverloads = PlayerNativeEventsOverloads & PlayerCustomEventsOverloads;
1046
+
1047
+ declare type PlayerNativeEventName = keyof PlayerNativeEventsDetailMap;
1048
+
1049
+ declare type PlayerNativeEventsDetailMap = Omit<HTMLVideoElementEventMap, "error">;
1050
+
1051
+ declare type PlayerNativeEventsOverloads = {
1052
+ on<K extends keyof PlayerNativeEventsDetailMap>(event: K, handler: (ev: PlayerNativeEventsDetailMap[K]) => void): Player;
1053
+ };
1054
+
1055
+ /**
1056
+ * @public
1057
+ * The root element of the video player. This is the immediate parent element of the video tag.
1058
+ */
228
1059
  declare type PlayerRoot = HTMLElement & {
229
- prevWidth?: number;
1060
+ /* Excluded from this release type: prevWidth */
230
1061
  };
231
1062
 
232
- declare type PlayerState = string;
1063
+ /**
1064
+ * @public
1065
+ */
1066
+ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
1067
+
1068
+ /* Excluded from this release type: _PlayerState */
233
1069
 
1070
+ /* Excluded from this release type: PlayerStates */
1071
+
1072
+ /**
1073
+ * @public
1074
+ */
234
1075
  declare type PlayerWith<T> = T & Player;
235
1076
 
236
- declare interface Plugin_2<PluginOwnConfig extends KeyValue = KeyValue, PluginPlayerAPIExtension extends KeyValue = KeyValue> {
1077
+ declare const PLAYING = "is-playing";
1078
+
1079
+ /**
1080
+ * @public
1081
+ */
1082
+ declare const /**
1083
+ @public
1084
+ * when a new player is inserted into the HTML
1085
+ */ /**
1086
+ * @public
1087
+ */
1088
+ PLAYING_2 = "playing";
1089
+
1090
+ /**
1091
+ * @public
1092
+ */
1093
+ declare interface Plugin_2<PluginConfig extends Config = Config, PluginPlayer extends Player = Player> {
237
1094
  /**
238
1095
  * a plugin must always implement the init method so a player instance knows how to initialize it
239
1096
  */
240
- init(config: ConfigWith<PluginOwnConfig>, container: PlayerRoot, player: PlayerWith<PluginPlayerAPIExtension>): void;
1097
+ init(config: PluginConfig, container: PlayerRoot, player: PluginPlayer): void;
241
1098
  }
242
1099
 
243
- declare interface PluginCtor<PluginOwnConfig extends KeyValue = KeyValue, PluginPlayerAPIExtension extends KeyValue = KeyValue> {
244
- new (umd: FlowplayerUMD, player: PlayerWith<PluginPlayerAPIExtension>): Plugin_2<PluginOwnConfig, PluginPlayerAPIExtension>;
1100
+ /* Excluded from this release type: PLUGIN_REGISTERED */
1101
+
1102
+ /**
1103
+ * @public
1104
+ */
1105
+ declare interface PluginCtor<PluginConfig extends Config = Config, PluginPlayer extends Player = Player> {
1106
+ new (umd: FlowplayerUMD, player: PluginPlayer): Plugin_2<PluginConfig, PluginPlayer>;
245
1107
  }
246
1108
 
1109
+ /* Excluded from this release type: PluginRegisteredEventDetail */
1110
+
1111
+ declare type PluginStates = string;
1112
+
1113
+ /**
1114
+ * @public
1115
+ */
1116
+ declare const /**
1117
+ @public
1118
+ * when a new player is inserted into the HTML
1119
+ */ /**
1120
+ * @public
1121
+ */
1122
+ PORTRAIT = "portrait";
1123
+
1124
+ /**
1125
+ * @public
1126
+ */
1127
+ declare const /**
1128
+ @public
1129
+ * when a new player is inserted into the HTML
1130
+ */ /**
1131
+ * @public
1132
+ */
1133
+ PROGRESS = "progress";
1134
+
1135
+ /**
1136
+ * @public
1137
+ * emitted whenever a list of qualities has been made available
1138
+ * when index 0 is the highest quality and index 0+N is the lowest
1139
+ */
1140
+ declare const /**
1141
+ @public
1142
+ * when a new player is inserted into the HTML
1143
+ */ /**
1144
+ * @public
1145
+ * emitted whenever a list of qualities has been made available
1146
+ * when index 0 is the highest quality and index 0+N is the lowest
1147
+ */
1148
+ QUALITIES = "qualities";
1149
+
1150
+ /**
1151
+ * @public
1152
+ */
1153
+ declare type QualitiesEventDetail = QualityDetail[];
1154
+
1155
+ /**
1156
+ * @public
1157
+ */
1158
+ declare type QualityDetail = {
1159
+ level: number;
1160
+ text: string;
1161
+ width: number;
1162
+ height: number;
1163
+ videoCodec: string;
1164
+ } | BitrateInfo | {
1165
+ text: string | number;
1166
+ encodingId: string;
1167
+ spatialLayerId: number;
1168
+ temporalLayerId: number;
1169
+ maxSpatialLayerId: number;
1170
+ maxTemporalLayerId: number;
1171
+ height: number;
1172
+ width: number;
1173
+ };
1174
+
247
1175
  declare enum QualityOpts {
248
1176
  LOW = 1,
249
1177
  MEDIUM = 2,
250
1178
  HIGH = 4
251
1179
  }
252
1180
 
1181
+ /**
1182
+ * @public
1183
+ * emitted when it is safe to clean up a fp instance
1184
+ */
1185
+ declare const /**
1186
+ @public
1187
+ * when a new player is inserted into the HTML
1188
+ */ /**
1189
+ * @public
1190
+ * emitted when it is safe to clean up a fp instance
1191
+ */
1192
+ REAP = "reap";
1193
+
1194
+ /**
1195
+ * @public
1196
+ */
1197
+ declare type ReapEventDetail = null;
1198
+
1199
+ /**
1200
+ * @public
1201
+ */
1202
+ declare type RecommendationItem = {
1203
+ poster?: string;
1204
+ src?: UnsafeSource;
1205
+ title?: string;
1206
+ description?: string;
1207
+ metadata: OVPMetadata;
1208
+ chapters?: {
1209
+ src: string;
1210
+ };
1211
+ thumbnails?: {
1212
+ src: string;
1213
+ };
1214
+ subtitles?: string[];
1215
+ };
1216
+
1217
+ /**
1218
+ * @public
1219
+ */
1220
+ declare const /**
1221
+ @public
1222
+ * when a new player is inserted into the HTML
1223
+ */ /**
1224
+ * @deprecated please use Endscreen.events.RECOMMENDATIONS_READY / flowplayer.endscreen.events.RECOMMENDATIONS_READY
1225
+ **/
1226
+ /**
1227
+ * @public
1228
+ */
1229
+ RECOMMENDATIONS_READY = "recommendationsready";
1230
+
1231
+ /**
1232
+ * @public
1233
+ */
1234
+ declare type RecommendationsReadyEventDetail = {
1235
+ playlist: RecommendationItem[];
1236
+ };
1237
+
1238
+ /* Excluded from this release type: RECOVER */
1239
+
1240
+ /* Excluded from this release type: RecoverEventDetail */
1241
+
1242
+ /* Excluded from this release type: REMOTE_SESSION_ENDED */
1243
+
1244
+ /* Excluded from this release type: REMOTE_SESSION_STARTED */
1245
+
1246
+ /* Excluded from this release type: RENDER_PLUGIN */
1247
+
1248
+ /**
1249
+ * @public
1250
+ */
1251
+ declare type RenderPluginEventDetail = HTMLElement;
1252
+
1253
+ /**
1254
+ * @public
1255
+ */
1256
+ declare const /**
1257
+ @public
1258
+ * when a new player is inserted into the HTML
1259
+ */ /**
1260
+ * @public
1261
+ */
1262
+ RESIZE = "resize";
1263
+
1264
+ /* Excluded from this release type: RETRY */
1265
+
1266
+ /* Excluded from this release type: RetryEventDetail */
1267
+
1268
+ declare const RTL = "is-rtl";
1269
+
1270
+ /**
1271
+ * @public
1272
+ */
1273
+ declare const /**
1274
+ @public
1275
+ * when a new player is inserted into the HTML
1276
+ */ /**
1277
+ * @public
1278
+ */
1279
+ SCROLL = "scroll";
1280
+
1281
+ declare const SEAMLESS = "is-seamless";
1282
+
1283
+ /* Excluded from this release type: SEEK_CANCEL */
1284
+
1285
+ /* Excluded from this release type: SEEK_QUEUED */
1286
+
1287
+ declare const SEEKABLE = "is-seekable";
1288
+
1289
+ /* Excluded from this release type: SeekCancelEventDetail */
1290
+
1291
+ /**
1292
+ * @public
1293
+ */
1294
+ declare const /**
1295
+ @public
1296
+ * when a new player is inserted into the HTML
1297
+ */ /**
1298
+ * @public
1299
+ */
1300
+ SEEKED = "seeked";
1301
+
1302
+ declare const SEEKING = "is-seeking";
1303
+
1304
+ /**
1305
+ * @public
1306
+ */
1307
+ declare const /**
1308
+ @public
1309
+ * when a new player is inserted into the HTML
1310
+ */ /**
1311
+ * @public
1312
+ */
1313
+ SEEKING_2 = "seeking";
1314
+
1315
+ /* Excluded from this release type: SeekQueuedEventDetail */
1316
+
1317
+ /**
1318
+ * @public
1319
+ * allows plugins to listen for forced quality changes
1320
+ * it should emit the index of the quality to set
1321
+ * -1 is a special idx saying to use ABR if the plugin
1322
+ * exposes an ABR implementation
1323
+ */
1324
+ declare const /**
1325
+ @public
1326
+ * when a new player is inserted into the HTML
1327
+ */ /**
1328
+ * @public
1329
+ * allows plugins to listen for forced quality changes
1330
+ * it should emit the index of the quality to set
1331
+ * -1 is a special idx saying to use ABR if the plugin
1332
+ * exposes an ABR implementation
1333
+ */
1334
+ SET_QUALITY = "quality:set";
1335
+
1336
+ declare const SMALL = "is-small";
1337
+
1338
+ /**
1339
+ * @public
1340
+ * emitted when a valid source is found prior to mounting
1341
+ */
1342
+ declare const /**
1343
+ @public
1344
+ * when a new player is inserted into the HTML
1345
+ */ /**
1346
+ * @public
1347
+ * emitted when a valid source is found prior to mounting
1348
+ */
1349
+ SOURCE = "src";
1350
+
1351
+ /**
1352
+ * @public
1353
+ */
1354
+ declare type SourceEventDetail = SourceObj;
1355
+
1356
+ /**
1357
+ * @public
1358
+ */
253
1359
  declare type SourceObj = {
254
1360
  src?: SourceStr;
1361
+ /**
1362
+ * the MIME type (example `video/mp4` or `application/x-mpegurl`)
1363
+ */
255
1364
  type?: string;
256
1365
  drm?: DRMSourceConfiguration;
257
1366
  };
258
1367
 
1368
+ /**
1369
+ * @public
1370
+ */
259
1371
  declare type SourceStr = string;
260
1372
 
1373
+ /**
1374
+ * @public
1375
+ */
261
1376
  declare type SourceWith<T> = SourceObj & T;
262
1377
 
1378
+ declare const STARTING = "is-starting";
1379
+
1380
+ /* Excluded from this release type: STATE */
1381
+
1382
+ /* Excluded from this release type: StateEventDetail */
1383
+
1384
+ declare namespace states {
1385
+ export {
1386
+ PLAYING,
1387
+ FULLSCREEN,
1388
+ PAUSED,
1389
+ MUTED,
1390
+ LOADED,
1391
+ LOADING,
1392
+ STARTING,
1393
+ SEEKING,
1394
+ GRABBING,
1395
+ DISABLED,
1396
+ SMALL,
1397
+ TINY,
1398
+ RTL,
1399
+ TV,
1400
+ ENDED,
1401
+ LIVE,
1402
+ ERRORED,
1403
+ WAITING,
1404
+ AUTOPLAY,
1405
+ SEAMLESS,
1406
+ TOGGLING,
1407
+ LIVE_SEEKED,
1408
+ NO_DVR,
1409
+ HAS_POSTER,
1410
+ WILL_PLAY,
1411
+ WILL_PAUSE,
1412
+ MENU_OPENED,
1413
+ TOUCHED,
1414
+ HOVERED,
1415
+ TOUCH_DEVICE,
1416
+ WILL_SEEK,
1417
+ SEEKABLE,
1418
+ IN_VIEWPORT,
1419
+ NO_CONTROLS,
1420
+ DESTROYED,
1421
+ IS_SOURCE_PROCESSING
1422
+ }
1423
+ }
1424
+
1425
+ /**
1426
+ * @public
1427
+ */
1428
+ declare const /**
1429
+ @public
1430
+ * when a new player is inserted into the HTML
1431
+ */ /**
1432
+ * @public
1433
+ */
1434
+ TIME_UPDATE = "timeupdate";
1435
+
1436
+ declare const TINY = "is-tiny";
1437
+
1438
+ declare const TOGGLING = "is-toggling";
1439
+
1440
+ /**
1441
+ * @public
1442
+ */
1443
+ declare const /**
1444
+ @public
1445
+ * when a new player is inserted into the HTML
1446
+ */ /**
1447
+ * @public
1448
+ */
1449
+ TOUCH_CANCEL = "touchcancel";
1450
+
1451
+ declare const TOUCH_DEVICE = "is-touch-device";
1452
+
1453
+ /**
1454
+ * @public
1455
+ */
1456
+ declare const /**
1457
+ @public
1458
+ * when a new player is inserted into the HTML
1459
+ */ /**
1460
+ * @public
1461
+ */
1462
+ TOUCH_END = "touchend";
1463
+
1464
+ /**
1465
+ * @public
1466
+ */
1467
+ declare const /**
1468
+ @public
1469
+ * when a new player is inserted into the HTML
1470
+ */ /**
1471
+ * @public
1472
+ */
1473
+ TOUCH_MOVE = "touchmove";
1474
+
1475
+ /**
1476
+ * @public
1477
+ */
1478
+ declare const /**
1479
+ @public
1480
+ * when a new player is inserted into the HTML
1481
+ */ /**
1482
+ * @public
1483
+ */
1484
+ TOUCH_START = "touchstart";
1485
+
1486
+ declare const TOUCHED = "is-touched";
1487
+
1488
+ declare const TV = "is-tv";
1489
+
1490
+ /**
1491
+ * @public
1492
+ */
263
1493
  declare type UnsafeSource = SourceStr | SourceObj | Array<SourceStr | SourceObj>;
264
1494
 
1495
+ /**
1496
+ * @public
1497
+ * emitted when a video track is selected
1498
+ */
1499
+ declare const /**
1500
+ @public
1501
+ * when a new player is inserted into the HTML
1502
+ */ /**
1503
+ * @public
1504
+ * emitted when a video track is selected
1505
+ */
1506
+ VIDEO_TRACK_SELECT = "tracks:video:select";
1507
+
1508
+ /**
1509
+ * @public
1510
+ * emitted whenever multiple video tracks are detected
1511
+ */
1512
+ declare const /**
1513
+ @public
1514
+ * when a new player is inserted into the HTML
1515
+ */ /**
1516
+ * @public
1517
+ * emitted whenever multiple video tracks are detected
1518
+ */
1519
+ VIDEO_TRACKS = "videoTracks";
1520
+
1521
+ /**
1522
+ * @public
1523
+ */
265
1524
  declare interface VideoTrack {
266
1525
  name: string;
267
- data: any;
1526
+ /* Excluded from this release type: data */
268
1527
  default: boolean;
269
1528
  selected: boolean;
270
1529
  }
271
1530
 
1531
+ /**
1532
+ * @public
1533
+ * when a player enters the viewpoint
1534
+ */
1535
+ declare const /**
1536
+ @public
1537
+ * when a new player is inserted into the HTML
1538
+ */ /**
1539
+ * @public
1540
+ * when a player enters the viewpoint
1541
+ */
1542
+ VIEW_ENTER = "viewenter";
1543
+
1544
+ /**
1545
+ * @public
1546
+ * when a player leaves the viewport
1547
+ */
1548
+ declare const /**
1549
+ @public
1550
+ * when a new player is inserted into the HTML
1551
+ */ /**
1552
+ * @public
1553
+ * when a player leaves the viewport
1554
+ */
1555
+ VIEW_LEAVE = "viewleave";
1556
+
1557
+ /**
1558
+ * @public
1559
+ */
1560
+ declare type ViewEnterEventDetail = null;
1561
+
1562
+ /**
1563
+ * @public
1564
+ */
1565
+ declare type ViewLeaveEventDetail = null;
1566
+
1567
+ /**
1568
+ * @public
1569
+ */
1570
+ declare const /**
1571
+ @public
1572
+ * when a new player is inserted into the HTML
1573
+ */ /**
1574
+ * @public
1575
+ */
1576
+ VOLUME_CHANGE = "volumechange";
1577
+
1578
+ declare const WAITING = "is-waiting";
1579
+
1580
+ /**
1581
+ * @public
1582
+ */
1583
+ declare const /**
1584
+ @public
1585
+ * when a new player is inserted into the HTML
1586
+ */ /**
1587
+ * @public
1588
+ */
1589
+ WAITING_2 = "waiting";
1590
+
1591
+ /* Excluded from this release type: WEBKIT_NEEDKEY */
1592
+
1593
+ declare const WILL_PAUSE = "will-pause";
1594
+
1595
+ declare const WILL_PLAY = "will-play";
1596
+
1597
+ declare const WILL_SEEK = "will-seek";
1598
+
272
1599
  export { }