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