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