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