@flowplayer/player 3.34.3 → 3.35.0-rc

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 (97) hide show
  1. package/core.js +1 -1
  2. package/default.js +1 -1
  3. package/embed.js +2 -2
  4. package/flowplayer.css +1 -1
  5. package/package/core/events.d.ts +710 -0
  6. package/package/core/events.js +403 -0
  7. package/package/core.js +1 -0
  8. package/package/default.js +1 -0
  9. package/package/embed.js +7 -0
  10. package/package/flowplayer.css +1 -0
  11. package/package/index.d.ts +2238 -0
  12. package/package/plugins/ads.d.ts +4468 -0
  13. package/package/plugins/ads.js +7 -0
  14. package/package/plugins/airplay.d.ts +2152 -0
  15. package/package/plugins/airplay.js +1 -0
  16. package/package/plugins/analytics.d.ts +2146 -0
  17. package/package/plugins/analytics.js +1 -0
  18. package/package/plugins/asel.d.ts +2293 -0
  19. package/package/plugins/asel.js +1 -0
  20. package/package/plugins/audio.d.ts +2146 -0
  21. package/package/plugins/audio.js +1 -0
  22. package/package/plugins/chapters.d.ts +2155 -0
  23. package/package/plugins/chapters.js +1 -0
  24. package/package/plugins/chromecast.d.ts +2221 -0
  25. package/package/plugins/chromecast.js +1 -0
  26. package/package/plugins/comscore.d.ts +2146 -0
  27. package/package/plugins/comscore.js +1 -0
  28. package/package/plugins/consent.d.ts +2194 -0
  29. package/package/plugins/consent.js +1 -0
  30. package/package/plugins/context-menu.d.ts +2160 -0
  31. package/package/plugins/context-menu.js +1 -0
  32. package/package/plugins/cuepoints.d.ts +2270 -0
  33. package/package/plugins/cuepoints.js +1 -0
  34. package/package/plugins/dash.d.ts +2302 -0
  35. package/package/plugins/dash.js +2 -0
  36. package/package/plugins/drm.d.ts +2271 -0
  37. package/package/plugins/drm.js +1 -0
  38. package/package/plugins/endscreen.d.ts +2165 -0
  39. package/package/plugins/endscreen.js +1 -0
  40. package/package/plugins/fas.d.ts +2200 -0
  41. package/package/plugins/fas.js +1 -0
  42. package/package/plugins/float-on-scroll.d.ts +2234 -0
  43. package/package/plugins/float-on-scroll.js +1 -0
  44. package/package/plugins/ga4.d.ts +2146 -0
  45. package/package/plugins/ga4.js +1 -0
  46. package/package/plugins/gemius.d.ts +2171 -0
  47. package/package/plugins/gemius.js +1 -0
  48. package/package/plugins/google-analytics.d.ts +2146 -0
  49. package/package/plugins/google-analytics.js +1 -0
  50. package/package/plugins/hls.d.ts +2271 -0
  51. package/package/plugins/hls.js +1 -0
  52. package/package/plugins/id3.d.ts +2212 -0
  53. package/package/plugins/id3.js +1 -0
  54. package/package/plugins/iframe.d.ts +2147 -0
  55. package/package/plugins/iframe.js +1 -0
  56. package/package/plugins/keyboard.d.ts +2146 -0
  57. package/package/plugins/keyboard.js +1 -0
  58. package/package/plugins/media-session.d.ts +2146 -0
  59. package/package/plugins/media-session.js +1 -0
  60. package/package/plugins/message.d.ts +2205 -0
  61. package/package/plugins/message.js +1 -0
  62. package/package/plugins/ovp.d.ts +2208 -0
  63. package/package/plugins/ovp.js +1 -0
  64. package/package/plugins/playlist.d.ts +2465 -0
  65. package/package/plugins/playlist.js +1 -0
  66. package/package/plugins/preview.d.ts +2236 -0
  67. package/package/plugins/preview.js +1 -0
  68. package/package/plugins/qsel.d.ts +2236 -0
  69. package/package/plugins/qsel.js +1 -0
  70. package/package/plugins/qul.d.ts +2161 -0
  71. package/package/plugins/qul.js +1 -0
  72. package/package/plugins/rts.d.ts +2551 -0
  73. package/package/plugins/rts.js +25 -0
  74. package/package/plugins/share.d.ts +2181 -0
  75. package/package/plugins/share.js +1 -0
  76. package/package/plugins/speed.d.ts +2173 -0
  77. package/package/plugins/speed.js +1 -0
  78. package/package/plugins/ssai.d.ts +2502 -0
  79. package/package/plugins/ssai.js +7 -0
  80. package/package/plugins/subtitles.d.ts +2287 -0
  81. package/package/plugins/subtitles.js +1 -0
  82. package/package/plugins/thumbnails.d.ts +2164 -0
  83. package/package/plugins/thumbnails.js +1 -0
  84. package/package/plugins/tizen.d.ts +2152 -0
  85. package/package/plugins/tizen.js +1 -0
  86. package/package/plugins/vtsel.d.ts +2250 -0
  87. package/package/plugins/vtsel.js +1 -0
  88. package/package/plugins/webos.d.ts +2152 -0
  89. package/package/plugins/webos.js +1 -0
  90. package/package/util/loader.d.ts +2163 -0
  91. package/package/util/loader.js +63 -0
  92. package/package.json +2364 -1
  93. package/plugins/ads.js +1 -1
  94. package/plugins/analytics.js +1 -1
  95. package/plugins/ovp.js +1 -1
  96. package/plugins/rts.js +1 -1
  97. package/plugins/ssai.js +1 -1
@@ -0,0 +1,2234 @@
1
+ import type { Get } from 'type-fest';
2
+ import type { Level } from 'hls.js';
3
+ import type { Paths } from 'type-fest';
4
+ import type { Representation } from 'dashjs';
5
+ import type { Translation } from '@flowplayer/translations';
6
+ import type { TupleToUnion } from 'type-fest';
7
+
8
+ /* Excluded from this release type: AnyLoader */
9
+
10
+ declare type ArrayToIntersection<T extends Array<unknown>> = T extends [
11
+ infer Current,
12
+ ...infer Remaining
13
+ ] ? Current & ArrayToIntersection<Remaining> : unknown;
14
+
15
+ /**
16
+ * Each loader must
17
+ */
18
+ declare type _AttachedEventCheck = {
19
+ on(event: `${string}:attached`, handler: (e: FPEvent<unknown>) => void): Player;
20
+ };
21
+
22
+ /* Excluded from this release type: AUDIO_ONLY_SOURCE */
23
+
24
+ /* Excluded from this release type: AudioOnlySourceEventDetail */
25
+
26
+ declare const AUTOPLAY = "is-autoplay";
27
+
28
+ /**
29
+ * @public
30
+ */
31
+ declare type Autoplay = BitOpts | boolean;
32
+
33
+ declare enum AutoplayOpts {
34
+ OFF = 0,
35
+ ON = 1,
36
+ AUDIO_REQUIRED = 2
37
+ }
38
+
39
+ /* Excluded from this release type: BEFORE_PAUSE */
40
+
41
+ /* Excluded from this release type: BEFORE_PLAY */
42
+
43
+ /**
44
+ * @public
45
+ */
46
+ declare type BeforePauseEventDetail = {
47
+ forced: boolean;
48
+ };
49
+
50
+ /**
51
+ * @public
52
+ */
53
+ declare type BeforePlayEventDetail = {
54
+ forced: boolean;
55
+ };
56
+
57
+ /**
58
+ * @public
59
+ */
60
+ declare type BitOpts = number;
61
+
62
+ /**
63
+ * @public
64
+ */
65
+ declare const /**
66
+ @public
67
+ * when a new player is inserted into the HTML
68
+ */ /**
69
+ * @public
70
+ */
71
+ CAN_PLAY = "canplay";
72
+
73
+ /**
74
+ * @public
75
+ */
76
+ declare const /**
77
+ @public
78
+ * when a new player is inserted into the HTML
79
+ */ /**
80
+ * @public
81
+ */
82
+ CLICK = "click";
83
+
84
+ /**
85
+ * For plugins that add new properties to all source types, combine their src-mixins into one SourceObject
86
+ * @example
87
+ * ```
88
+ * type Combined = CombineGlobalSrcExtensions<DRMPlugin, PluginWithFooFieldInSrc> // Combined = SourceObject<DRMConfig & FooFieldConfig>
89
+ * ```
90
+ */
91
+ declare type CombineGlobalSrcExtensions<PluginSrcs extends unknown[]> = HasGlobalSrcExtensios<PluginSrcs> extends false ? SourceObj : SourceObj & ArrayToIntersection<PickGlobalSrcExtension<PluginSrcs>>;
92
+
93
+ /**
94
+ * For plugins that define a new src type, make a union of all new src.type declarations
95
+ * @example
96
+ * ```
97
+ * type Combined = CombineNewSourceTypes<RTSPlugin, SSAIPlugin> // Combined = DRMConfig | FooFieldConfig
98
+ * ```
99
+ */
100
+ declare type CombineNewSourceTypes<PluginSrcs extends unknown[]> = TupleToUnion<FilterNewSourceTypes<PluginSrcs>>;
101
+
102
+ declare type CombineSrc<PluginSrcs extends unknown[]> = UnsafeSource<CombineGlobalSrcExtensions<PluginSrcs> | (CombineNewSourceTypes<PluginSrcs> & CombineGlobalSrcExtensions<PluginSrcs>)>;
103
+
104
+ /* Excluded from this release type: Component */
105
+
106
+ /* Excluded from this release type: Components */
107
+
108
+ /* Excluded from this release type: CONFIG */
109
+
110
+ /**
111
+ * @public
112
+ */
113
+ declare interface Config {
114
+ src?: UnsafeSource;
115
+ preload?: "none" | "metadata" | "auto";
116
+ controls?: boolean;
117
+ lang?: string;
118
+ start_time?: number;
119
+ autopause?: boolean;
120
+ rewind?: boolean;
121
+ loop?: boolean;
122
+ /**
123
+ * an access token for the media
124
+ * @public
125
+ */
126
+ playback_token?: string;
127
+ /* Excluded from this release type: seamless */
128
+ retry?: boolean;
129
+ autoplay?: Autoplay;
130
+ start_quality?: BitOpts;
131
+ live?: boolean;
132
+ poster?: string;
133
+ disabled?: boolean;
134
+ muted?: boolean;
135
+ /* Excluded from this release type: is_native */
136
+ /**
137
+ * bitflags for UI options
138
+ */
139
+ ui?: BitOpts;
140
+ /**
141
+ * your user access token
142
+ */
143
+ token?: string;
144
+ /* Excluded from this release type: duration */
145
+ /**
146
+ * can the content be seeked to any position
147
+ */
148
+ seekable?: boolean;
149
+ multiplay?: boolean;
150
+ ratio?: number | string;
151
+ logo?: string;
152
+ logo_href?: string;
153
+ logo_alt_text?: string;
154
+ title?: string;
155
+ description?: string;
156
+ /**
157
+ * the number of seconds to have in the buffer before dvr is activated
158
+ */
159
+ seconds_to_dvr?: number;
160
+ }
161
+
162
+ /* Excluded from this release type: ConfigEventDetail */
163
+
164
+ /**
165
+ * @public
166
+ */
167
+ declare type ConfigWith<T> = Config & T;
168
+
169
+ declare type ConfigWithSourceExtensions<PluginBareConfigs extends unknown[]> = Omit<ConfigWith<ArrayToIntersection<PluginBareConfigs>>, "src"> & {
170
+ src?: CombineSrc<PickSrcExtensions<PluginBareConfigs>>;
171
+ };
172
+
173
+ /* Excluded from this release type: CONTENT_REAL_LOAD_START */
174
+
175
+ /**
176
+ * @public
177
+ */
178
+ declare const /**
179
+ @public
180
+ * when a new player is inserted into the HTML
181
+ */ /**
182
+ * @public
183
+ */
184
+ CONTEXT_MENU = "contextmenu";
185
+
186
+ /**
187
+ * @public
188
+ */
189
+ declare type ContextMenuEventDetail = null;
190
+
191
+ /**
192
+ * @public
193
+ * @deprecated
194
+ * when a cuepoint becomes inactive
195
+ */
196
+ declare const /**
197
+ @public
198
+ * when a new player is inserted into the HTML
199
+ */ /**
200
+ * @public
201
+ * @deprecated
202
+ * when a cuepoint becomes inactive
203
+ */
204
+ CUEPOINT_END = "cuepointend";
205
+
206
+ /**
207
+ * @public
208
+ * @deprecated
209
+ * when a cuepoint is active
210
+ */
211
+ declare const /**
212
+ @public
213
+ * when a new player is inserted into the HTML
214
+ */ /**
215
+ * @public
216
+ * @deprecated
217
+ * when a cuepoint is active
218
+ */
219
+ CUEPOINT_START = "cuepointstart";
220
+
221
+ /**
222
+ * @public
223
+ * @deprecated
224
+ * cuepoints parsing is asynchronous
225
+ * you cannot rely on them existing until
226
+ * this event is emitted
227
+ */
228
+ declare const /**
229
+ @public
230
+ * when a new player is inserted into the HTML
231
+ */ /**
232
+ * @public
233
+ * @deprecated
234
+ * cuepoints parsing is asynchronous
235
+ * you cannot rely on them existing until
236
+ * this event is emitted
237
+ */
238
+ CUEPOINTS = "cuepoints";
239
+
240
+ /**
241
+ * @public
242
+ */
243
+ declare const /**
244
+ @public
245
+ * when a new player is inserted into the HTML
246
+ */ /**
247
+ * @public
248
+ */
249
+ DATA = "loadeddata";
250
+
251
+ /**
252
+ * @public
253
+ */
254
+ declare const /**
255
+ @public
256
+ * when a new player is inserted into the HTML
257
+ */ /**
258
+ * @public
259
+ */
260
+ DBL_CLICK = "dblclick";
261
+
262
+ declare const DESTROYED = "is-destroyed";
263
+
264
+ /* Excluded from this release type: DeviceId */
265
+
266
+ declare const DISABLED = "is-disabled";
267
+
268
+ /**
269
+ * @public
270
+ */
271
+ declare const /**
272
+ @public
273
+ * when a new player is inserted into the HTML
274
+ */ /**
275
+ * @public
276
+ */
277
+ DURATION_CHANGE = "durationchange";
278
+
279
+ /**
280
+ * @public
281
+ * when the player has started playing dvr content
282
+ */
283
+ declare const /**
284
+ @public
285
+ * when a new player is inserted into the HTML
286
+ */ /**
287
+ * @public
288
+ * when the player has started playing dvr content
289
+ */
290
+ DVR = "dvr";
291
+
292
+ /**
293
+ * @public
294
+ */
295
+ declare type DvrEventDetail = number;
296
+
297
+ declare const ENDED = "is-ended";
298
+
299
+ /**
300
+ * @public
301
+ */
302
+ declare const /**
303
+ @public
304
+ * when a new player is inserted into the HTML
305
+ */ /**
306
+ * @public
307
+ */
308
+ ENDED_2 = "ended";
309
+
310
+ declare type EnsureOnAttached<P extends Function, T extends Player> = ExtractPureAPI<T> extends _AttachedEventCheck ? P : "Loaders must implement on('<pluginname>:attached') event";
311
+
312
+ /**
313
+ * @public
314
+ */
315
+ declare const /**
316
+ @public
317
+ * when a new player is inserted into the HTML
318
+ */ /**
319
+ * @public
320
+ */
321
+ ERROR = "error";
322
+
323
+ declare const ERRORED = "is-error";
324
+
325
+ declare namespace events {
326
+ export {
327
+ MOUNT,
328
+ RETRY,
329
+ ERROR,
330
+ CONTEXT_MENU,
331
+ CLICK,
332
+ DBL_CLICK,
333
+ KEYUP,
334
+ KEYDOWN,
335
+ LOAD,
336
+ MOUSE_ENTER,
337
+ MOUSE_LEAVE,
338
+ MOUSE_UP,
339
+ MOUSE_DOWN,
340
+ MOUSE_MOVE,
341
+ TOUCH_START,
342
+ TOUCH_MOVE,
343
+ TOUCH_END,
344
+ TOUCH_CANCEL,
345
+ RESIZE,
346
+ SCROLL,
347
+ FULLSCREEN_ENTER,
348
+ FULLSCREEN_EXIT,
349
+ FULLSCREEN_CHANGE,
350
+ METADATA,
351
+ DATA,
352
+ PROGRESS,
353
+ TIME_UPDATE,
354
+ LOAD_START,
355
+ VOLUME_CHANGE,
356
+ PAUSE,
357
+ PLAYING_2 as PLAYING,
358
+ PLAY,
359
+ WAITING_2 as WAITING,
360
+ CAN_PLAY,
361
+ ENDED_2 as ENDED,
362
+ SEEKED,
363
+ SEEKING_2 as SEEKING,
364
+ DURATION_CHANGE,
365
+ VIEW_ENTER,
366
+ VIEW_LEAVE,
367
+ SOURCE,
368
+ REAP,
369
+ QUALITIES,
370
+ QUALITY_CHANGE,
371
+ VIDEO_TRACKS,
372
+ SET_QUALITY,
373
+ VIDEO_TRACK_SELECT,
374
+ RECOMMENDATIONS_READY,
375
+ LANDSCAPE,
376
+ PORTRAIT,
377
+ DVR,
378
+ LIVE,
379
+ RECOVER,
380
+ CUEPOINTS,
381
+ CUEPOINT_START,
382
+ CUEPOINT_END,
383
+ STANDARD_ERROR
384
+ }
385
+ }
386
+
387
+ declare namespace events_2 {
388
+ export {
389
+ POP_IN,
390
+ POP_OUT,
391
+ EXT_BTN_CLICK
392
+ }
393
+ }
394
+
395
+ /**
396
+ * @public
397
+ */
398
+ declare const EXT_BTN_CLICK = "float:exit";
399
+
400
+ declare type ExtractBareConfig<Plugins extends PluginCtor> = Plugins extends PluginCtor<ConfigWith<infer ConfigType>> ? ConfigType : never;
401
+
402
+ declare type ExtractPluginPlayerExtension<Plugin extends PluginCtor> = Plugin extends PluginCtor<infer _uConfigType, PlayerWith<infer PluginPlayer>> ? PluginPlayer : never;
403
+
404
+ declare type ExtractPureAPI<T> = T extends PlayerWith<infer PureAPI> ? PureAPI : never;
405
+
406
+ declare type ExtractSrcExtension<PluginBareConfig> = Get<PluginBareConfig, "src"> extends UnsafeSource<infer SrcMixinType> ? SrcMixinType : never;
407
+
408
+ declare const FEATURE_USAGE = "flowplayer:feature";
409
+
410
+ /* Excluded from this release type: FeatureUsageEventDetail */
411
+
412
+ declare type FilterNewSourceTypes<PluginSrcs extends unknown[]> = {
413
+ [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
414
+ type: string;
415
+ } ? PluginSrcs[Index] : never;
416
+ };
417
+
418
+ /**
419
+ * @public
420
+ * This plugin provides float-on-scroll functionality for Wowza Flowplayer. When a user scrolls past the main player on a page, the default behavior forces the player container to pop out to a fixed position. Media playback continues in the floating, popped-out container. If the user scrolls back to the main player, the floating container disappears, and playback resumes in the main player element.
421
+ * See {@link https://developer.wowza.com/docs/wowza-flowplayer/plugins/float-on-scroll/| Official Documentation}
422
+ */
423
+ declare const FloatOnScroll: PluginCtor<NoInfer<FloatOnScrollConfig>, NoInfer<FloatOnScrollPlayer>> & NoInfer<FloatOnScrollAPI>;
424
+ export default FloatOnScroll;
425
+
426
+ /**
427
+ * @public
428
+ */
429
+ export declare type FloatOnScrollAPI = {
430
+ events: FloatOnScrollEvents;
431
+ };
432
+
433
+ /**
434
+ * @public
435
+ */
436
+ export declare type FloatOnScrollConfig = ConfigWith<{
437
+ /**
438
+ * When`false`, disables the Float-on-Scroll feature for selected players.
439
+ * @defaultValue true
440
+ */
441
+ float_on_scroll?: boolean;
442
+ /**
443
+ * When `false`, disables the default behavior for the Float-on-Scroll plugin. By default, the player container pops out to a fixed position on the page when a user scrolls past the main player container. The fixed container pops back in when the user scrolls past the main player position.
444
+ * @defaultValue true
445
+ */
446
+ float_default?: boolean;
447
+ }>;
448
+
449
+ /**
450
+ * @public
451
+ */
452
+ export declare type FloatOnScrollEvents = typeof events_2;
453
+
454
+ /**
455
+ * @public
456
+ */
457
+ export declare type FloatOnScrollPlayer = PlayerWith<{
458
+ /**
459
+ * Use to revert the player from its fixed, popped-out position and into the main player on the page.
460
+ */
461
+ popIn?: () => void;
462
+ /**
463
+ * Use to pop out the player from the main player position to a fixed, popped-out state.
464
+ */
465
+ popOut?: () => void;
466
+ /**
467
+ * Emitted when the player pops back in from a fixed position to the main player container on the page.
468
+ * @param event - POP_IN event
469
+ * @param listener - Event listener
470
+ */
471
+ on(event: FloatOnScrollEvents["POP_IN"], listener: (e: CustomEvent<null>) => void): Player;
472
+ /**
473
+ * Emitted when the player pops out from the main player container to a fixed position on the page.
474
+ * @param event - POP_OUT event
475
+ * @param listener - Event listener
476
+ */
477
+ on(event: FloatOnScrollEvents["POP_OUT"], listener: (e: CustomEvent<null>) => void): Player;
478
+ /**
479
+ * Emitted when a user clicks to exit the floating player. By default when exiting the, when a user clicks to exit the floating player, the floating container pops back in and media playback is paused in the main player container.
480
+ * @param event - EXT_BTN_CLICK event
481
+ * @param listener - Event listener
482
+ */
483
+ on(event: FloatOnScrollEvents["EXT_BTN_CLICK"], listener: (e: CustomEvent<null>) => void): Player;
484
+ /* Excluded from this release type: floating */
485
+ /* Excluded from this release type: ads */
486
+ /* Excluded from this release type: getFullsceenTarget */
487
+ }>;
488
+
489
+ /**
490
+ * @public
491
+ */
492
+ declare type FlowplayerCustomElementRegistry = Map<string, string>;
493
+
494
+ declare class FlowplayerError extends Error {
495
+ readonly message: string;
496
+ readonly flowplayerErrorCode: FlowplayerErrorCode;
497
+ readonly config: FlowplayerErrorConfig;
498
+ static getErrorKey(code: FlowplayerErrorCode): FlowplayerErrorCodeName;
499
+ readonly id: string;
500
+ readonly isFatal: boolean;
501
+ readonly errorKey: string;
502
+ constructor(message: string, flowplayerErrorCode: FlowplayerErrorCode, config?: FlowplayerErrorConfig);
503
+ toJSON(): {
504
+ message: string;
505
+ flowplayer_error_code: FlowplayerErrorCode;
506
+ id: string;
507
+ root_error_id: string | undefined;
508
+ resource: string | undefined;
509
+ is_fatal: boolean;
510
+ is_retry: boolean;
511
+ };
512
+ }
513
+
514
+ declare type FlowplayerErrorCode = (typeof FlowplayerErrorCodeMap)[keyof typeof FlowplayerErrorCodeMap];
515
+
516
+ declare const FlowplayerErrorCodeMap: {
517
+ /** Unknown */
518
+ readonly Unknown: "00-00";
519
+ /** Media Section */
520
+ readonly MediaUnknown: "01-00";
521
+ readonly MediaUnavailable: "01-01";
522
+ readonly MediaUnsupportedVideoFormat: "01-02";
523
+ readonly MediaUnsupportedAudioFormat: "01-03";
524
+ readonly MediaBitrateExceeded: "01-04";
525
+ readonly MediaBufferOverread: "01-05";
526
+ readonly MediaIntegerOverflow: "01-06";
527
+ readonly MediaQuotaExceeded: "01-07";
528
+ readonly MediaInvalidCompositionDuration: "01-08";
529
+ readonly MediaInvalidCompositionSourceDuration: "01-09";
530
+ readonly MediaInvalidCompositionSourceStartTime: "01-10";
531
+ readonly MediaMalformedDepth: "01-11";
532
+ /** Playback Section */
533
+ readonly PlaybackUnknown: "02-00";
534
+ readonly PlaybackVideoBufferUnderRun: "02-01";
535
+ readonly PlaybackAudioBufferUnderRun: "02-02";
536
+ readonly PlaybackVideoBufferingTimeout: "02-03";
537
+ readonly PlaybackAudioBufferingTimeout: "02-04";
538
+ readonly PlaybackManifestParseError: "02-05";
539
+ readonly PlaybackVideoDecodeError: "02-06";
540
+ readonly PlaybackAudioDecodeError: "02-07";
541
+ readonly PlaybackDroppedFramesExceeded: "02-08";
542
+ readonly PlaybackPlayheadExceedsDuration: "02-09";
543
+ readonly PlaybackUnsupportedDevice: "02-10";
544
+ readonly PlaybackManifestLoadError: "02-11";
545
+ readonly PlaybackManifestLoadTimeout: "02-12";
546
+ readonly PlaybackManifestParsingError: "02-13";
547
+ readonly PlaybackManifestIncompatibleCodecs: "02-14";
548
+ readonly PlaybackLevelEmptyError: "02-15";
549
+ readonly PlaybackLevelLoadError: "02-16";
550
+ readonly PlaybackLevelLoadTimeout: "02-17";
551
+ readonly PlaybackLevelSwitchError: "02-18";
552
+ readonly PlaybackAudioTrackLoadError: "02-19";
553
+ readonly PlaybackAudioTrackLoadTimeout: "02-20";
554
+ readonly PlaybackFragLoadError: "02-21";
555
+ readonly PlaybackFragLoadTimeout: "02-22";
556
+ readonly PlaybackFragDecryptError: "02-23";
557
+ readonly PlaybackFragParsingError: "02-24";
558
+ readonly PlaybackFragGap: "02-25";
559
+ readonly PlaybackRemuxAllocError: "02-26";
560
+ readonly PlaybackBufferAddCodecError: "02-27";
561
+ readonly PlaybackBufferIncompatibleCodecs: "02-28";
562
+ readonly PlaybackBufferAppendError: "02-29";
563
+ readonly PlaybackBufferStalledError: "02-30";
564
+ readonly PlaybackBufferFullError: "02-31";
565
+ readonly PlaybackBufferSeekOverHole: "02-32";
566
+ readonly PlaybackBufferNudgeOnStall: "02-33";
567
+ readonly PlaybackInternalException: "02-34";
568
+ readonly PlaybackInternalAborted: "02-35";
569
+ readonly PlaybackManifestLoaderFailure: "02-36";
570
+ readonly PlaybackSegmentBaseLoaderError: "02-37";
571
+ readonly PlaybackTimeSyncFailed: "02-38";
572
+ readonly PlaybackFragmentLoaderFailure: "02-39";
573
+ readonly PlaybackAppendError: "02-40";
574
+ readonly PlaybackRemoveError: "02-41";
575
+ readonly PlaybackDataUpdateFailed: "02-42";
576
+ readonly PlaybackManifestNoStreams: "02-43";
577
+ readonly PlaybackUnknownManifestType: "02-44";
578
+ readonly PlaybackDashInsufficientSegmentInfo: "02-45";
579
+ readonly PlaybackDashNoRepresentations: "02-46";
580
+ readonly PlaybackDashNoAdaptationSets: "02-47";
581
+ readonly PlaybackDashNoInitSegment: "02-48";
582
+ readonly PlaybackDashUnsupportedContainerFormat: "02-49";
583
+ readonly PlaybackDashKeySystemMismatch: "02-50";
584
+ readonly PlaybackMultipleKeyIDs: "02-51";
585
+ readonly PlaybackDashConflictingKeyIDs: "02-52";
586
+ readonly PlaybackRestrictedStreams: "02-53";
587
+ readonly PlaybackHlsMasterAndMediaTags: "02-54";
588
+ readonly PlaybackRepresentationIdConflict: "02-55";
589
+ readonly PlaybackHlsUnsupportedKeyFormats: "02-56";
590
+ readonly PlaybackManifestNoVariants: "02-57";
591
+ readonly PlaybackHlsUndeclaredVariables: "02-58";
592
+ readonly PlaybackAes128InvalidKeyLength: "02-59";
593
+ readonly PlaybackDashConflictingAes128Keys: "02-60";
594
+ readonly PlaybackDashUnsupportedAes128Encryption: "02-61";
595
+ readonly PlaybackManifestPatchMismatch: "02-62";
596
+ readonly PlaybackEmptyMediaPlaylist: "02-63";
597
+ readonly PlaybackNonContiguousCompositionTrack: "02-64";
598
+ readonly PlaybackDecoderNotFound: "02-65";
599
+ readonly PlaybackDecoderTemporarilyUnavailable: "02-66";
600
+ readonly PlaybackIncompatibleAsset: "02-67";
601
+ readonly PlaybackNoCompatibleExternalDisplay: "02-69";
602
+ readonly PlaybackOutOfMemory: "02-70";
603
+ readonly PlaybackToneMappingFailed: "02-71";
604
+ readonly PlaybackVideoCompositorFailed: "02-72";
605
+ /** Network Section */
606
+ readonly NetworkUnknown: "03-00";
607
+ readonly NetworkNoInternet: "03-01";
608
+ readonly NetworkRequestTimeout: "03-02";
609
+ readonly NetworkUnableToResolveHost: "03-03";
610
+ readonly NetworkResourceNotFound: "03-04";
611
+ readonly NetworkExpiredUrl: "03-05";
612
+ readonly NetworkUrlResolutionFailed: "03-06";
613
+ readonly NetworkDownloadErrorIdManifest: "03-07";
614
+ readonly NetworkDownloadErrorIdSidx: "03-08";
615
+ readonly NetworkDownloadErrorIdContent: "03-09";
616
+ readonly NetworkDownloadErrorIdInitialization: "03-10";
617
+ readonly NetworkDownloadErrorIdXlink: "03-11";
618
+ readonly NetworkHttpRequestFailed: "03-12";
619
+ readonly NetworkMaxRetriesExceeded: "03-13";
620
+ readonly NetworkSegmentMissing: "03-14";
621
+ /** HTTP Error Codes */
622
+ readonly NetworkHttp400BadRequest: "03-400";
623
+ readonly NetworkHttp401Unauthorized: "03-401";
624
+ readonly NetworkHttp402PaymentRequired: "03-402";
625
+ readonly NetworkHttp403Forbidden: "03-403";
626
+ readonly NetworkHttp404NotFound: "03-404";
627
+ readonly NetworkHttp405MethodNotAllowed: "03-405";
628
+ readonly NetworkHttp406NotAcceptable: "03-406";
629
+ readonly NetworkHttp407ProxyAuthenticationRequired: "03-407";
630
+ readonly NetworkHttp408RequestTimeout: "03-408";
631
+ readonly NetworkHttp409Conflict: "03-409";
632
+ readonly NetworkHttp410Gone: "03-410";
633
+ readonly NetworkHttp411LengthRequired: "03-411";
634
+ readonly NetworkHttp412PreconditionFailed: "03-412";
635
+ readonly NetworkHttp413PayloadTooLarge: "03-413";
636
+ readonly NetworkHttp414URITooLong: "03-414";
637
+ readonly NetworkHttp415UnsupportedMediaType: "03-415";
638
+ readonly NetworkHttp416RangeNotSatisfiable: "03-416";
639
+ readonly NetworkHttp417ExpectationFailed: "03-417";
640
+ readonly NetworkHttp418ImATeapot: "03-418";
641
+ readonly NetworkHttp421MisdirectedRequest: "03-421";
642
+ readonly NetworkHttp422UnprocessableEntity: "03-422";
643
+ readonly NetworkHttp423Locked: "03-423";
644
+ readonly NetworkHttp424FailedDependency: "03-424";
645
+ readonly NetworkHttp425TooEarly: "03-425";
646
+ readonly NetworkHttp426UpgradeRequired: "03-426";
647
+ readonly NetworkHttp428PreconditionRequired: "03-428";
648
+ readonly NetworkHttp429TooManyRequests: "03-429";
649
+ readonly NetworkHttp431RequestHeaderFieldsTooLarge: "03-431";
650
+ readonly NetworkHttp451UnavailableForLegalReasons: "03-451";
651
+ readonly NetworkHttp500InternalServerError: "03-500";
652
+ readonly NetworkHttp501NotImplemented: "03-501";
653
+ readonly NetworkHttp502BadGateway: "03-502";
654
+ readonly NetworkHttp503ServiceUnavailable: "03-503";
655
+ readonly NetworkHttp504GatewayTimeout: "03-504";
656
+ readonly NetworkHttp505HTTPVersionNotSupported: "03-505";
657
+ readonly NetworkHttp506VariantAlsoNegotiates: "03-506";
658
+ readonly NetworkHttp507InsufficientStorage: "03-507";
659
+ readonly NetworkHttp508LoopDetected: "03-508";
660
+ readonly NetworkHttp510NotExtended: "03-510";
661
+ readonly NetworkHttp511NetworkAuthenticationRequired: "03-511";
662
+ /** Content Protection Section */
663
+ readonly ContentProtectionUnknown: "04-00";
664
+ readonly ContentProtectionConcurrentStreamLimitExceeded: "04-01";
665
+ readonly ContentProtectionEntitlementRefused: "04-02";
666
+ readonly ContentProtectionLicenseExpired: "04-03";
667
+ readonly ContentProtectionBadLicenseRequest: "04-04";
668
+ readonly ContentProtectionLicenseServerTimeout: "04-05";
669
+ readonly ContentProtectionInsufficientHDCPSupport: "04-06";
670
+ readonly ContentProtectionGeoRestricted: "04-07";
671
+ readonly ContentProtectionParentalControlRestricted: "04-08";
672
+ readonly ContentProtectionCDNUnauthorized: "04-09";
673
+ readonly ContentProtectionInvalidAccessToken: "04-10";
674
+ readonly ContentProtectionKeySystemNoKeys: "04-11";
675
+ readonly ContentProtectionKeySystemNoAccess: "04-12";
676
+ readonly ContentProtectionKeySystemNoSession: "04-13";
677
+ readonly ContentProtectionKeySystemNoConfiguredLicense: "04-14";
678
+ readonly ContentProtectionKeySystemCertificateRequestFailed: "04-15";
679
+ readonly ContentProtectionKeySystemCertificateUpdateFailed: "04-16";
680
+ /** Key System: Session update failed */
681
+ readonly ContentProtectionKeySystemSessionUpdateFailed: "04-17";
682
+ /** Key System: Status output restricted */
683
+ readonly ContentProtectionKeySystemStatusOutputRestricted: "04-18";
684
+ /** Key System: Status internal error */
685
+ readonly ContentProtectionKeySystemStatusInternalError: "04-19";
686
+ /** Key Load Error */
687
+ readonly ContentProtectionKeyLoadError: "04-20";
688
+ /** Key Load Timeout */
689
+ readonly ContentProtectionKeyLoadTimeout: "04-21";
690
+ /** Capability MediaKeys Error */
691
+ readonly ContentProtectionCapabilityMediaKeysError: "04-22";
692
+ /** Manifest indicated protected content, but unable to determine key systems */
693
+ readonly ContentProtectionManifestKeySystemUnknown: "04-23";
694
+ /**
695
+ * None of the requested key system configurations are available.
696
+ * Possible reasons:
697
+ * - Key system not supported
698
+ * - Requested features (e.g., persistent state) not supported
699
+ * - User denied access in prompt
700
+ * - Key system unavailable in insecure contexts (requires HTTPS)
701
+ */
702
+ readonly ContentProtectionKeySystemUnavailable: "04-24";
703
+ /** Browser found requested key system, but failed to create CDM instance */
704
+ readonly ContentProtectionCDMCreationFailed: "04-25";
705
+ /** Browser created CDM instance but failed to attach it to the video */
706
+ readonly ContentProtectionCDMAttachFailed: "04-26";
707
+ /** CDM rejected the server certificate (malformed or unsupported format) */
708
+ readonly ContentProtectionCDMServerCertificateRejected: "04-27";
709
+ /** CDM refused to create a session for unknown reasons */
710
+ readonly ContentProtectionCDMSessionCreationFailed: "04-28";
711
+ /** CDM unable to generate a license request due to malformed or unsupported init data */
712
+ readonly ContentProtectionCDMLicenseRequestFailed: "04-29";
713
+ /** License response rejected by the CDM (invalid/malformed response) */
714
+ readonly ContentProtectionCDMLicenseResponseRejected: "04-30";
715
+ /** Manifest does not specify DRM info, but content is encrypted */
716
+ readonly ContentProtectionManifestMissingDRMInfo: "04-31";
717
+ /** No license server was provided for the key system signaled by the manifest */
718
+ readonly ContentProtectionLicenseServerMissing: "04-32";
719
+ /** A required offline session was removed, affecting playback */
720
+ readonly ContentProtectionOfflineSessionRemoved: "04-33";
721
+ /** Error while executing init data transformation */
722
+ readonly ContentProtectionInitDataTransformationError: "04-34";
723
+ /** Server certificate request failed */
724
+ readonly ContentProtectionServerCertificateRequestFailed: "04-35";
725
+ /** HDCP version does not meet the requirements */
726
+ readonly ContentProtectionInsufficientHDCPVersion: "04-36";
727
+ /** Error when checking HDCP version */
728
+ readonly ContentProtectionHDCPVersionCheckFailed: "04-37";
729
+ /** Ads Section */
730
+ readonly AdsUnknown: "08-00";
731
+ readonly AdsVastParseError: "08-100";
732
+ readonly AdsInvalidVastSchema: "08-101";
733
+ readonly AdsVastVersionNotSupported: "08-102";
734
+ readonly AdsUnexpectedAdType: "08-200";
735
+ readonly AdsCreativeLinearityMismatch: "08-201";
736
+ readonly AdsCreativeDurationMismatch: "08-202";
737
+ readonly AdsCreativeSizeMismatch: "08-203";
738
+ readonly AdsWrapperVastError: "08-300";
739
+ readonly AdsVastResponseRedirectTimeout: "08-301";
740
+ readonly AdsWrapperLimitReached: "08-302";
741
+ readonly AdsVastResponseEmpty: "08-303";
742
+ readonly AdsLinearAdDisplayError: "08-400";
743
+ readonly AdsMediaFileNotFound: "08-401";
744
+ readonly AdsMediaFileUnavailable: "08-402";
745
+ readonly AdsUnsupportedMimeType: "08-403";
746
+ readonly AdsUnableToDisplayMediaFile: "08-405";
747
+ readonly AdsMezzanineFileMissing: "08-406";
748
+ readonly AdsMezzanineFileDownloaded: "08-407";
749
+ readonly AdsRejectedAd: "08-408";
750
+ readonly AdsInteractiveCreativeError: "08-409";
751
+ readonly AdsVerificationNodeExecutionError: "08-410";
752
+ readonly AdsNonLinearAdDisplayError: "08-500";
753
+ readonly AdsNonLinearAdSizeMismatch: "08-501";
754
+ readonly AdsNonLinearAdFetchError: "08-502";
755
+ readonly AdsNonLinearUnsupportedType: "08-503";
756
+ readonly AdsCompanionAdDisplayError: "08-600";
757
+ readonly AdsCompanionAdSizeMismatch: "08-601";
758
+ readonly AdsRequiredCompanionAdError: "08-602";
759
+ readonly AdsCompanionAdFetchError: "08-603";
760
+ readonly AdsUndefinedVastError: "08-900";
761
+ readonly AdsUnknownVpaidError: "08-901";
762
+ readonly AdsVastDocumentEmpty: "08-999";
763
+ };
764
+
765
+ declare type FlowplayerErrorCodeName = keyof typeof FlowplayerErrorCodeMap;
766
+
767
+ declare type FlowplayerErrorConfig = Partial<{
768
+ isFatal: boolean;
769
+ showErrorUI: boolean;
770
+ isRetry: boolean;
771
+ resource: string;
772
+ rootErrorId: string;
773
+ retryOpts: Partial<{
774
+ retry: (typeof RetryMap)[keyof typeof RetryMap];
775
+ retryTimeout: number;
776
+ }>;
777
+ }> & Record<string, any>;
778
+
779
+ declare type FlowplayerErrorEventDetail = {
780
+ error: FlowplayerError;
781
+ };
782
+
783
+ /**
784
+ * @public
785
+ */
786
+ declare type FlowplayerStates = typeof states;
787
+
788
+ /**
789
+ * @public
790
+ */
791
+ declare interface FlowplayerUMD extends FlowplayerUMDBase {
792
+ /**
793
+ * Configure flowplayer and display it in the UI
794
+ * @param selector - query selector of the HTML element where player will render
795
+ * @param config - configuration of flowplayer
796
+ */
797
+ (selector: string, config?: Config): Player;
798
+ /**
799
+ * Configure flowplayer and display it in the UI
800
+ * @param element - HTML element where player will render
801
+ * @param config - configuration of flowplayer
802
+ */
803
+ (element: HTMLElement, config?: Config): Player;
804
+ /**
805
+ * Configure flowplayer and display it in the UI
806
+ * @param selector - query selector of the HTML element where player will render
807
+ * @param config - configuration of flowplayer
808
+ */
809
+ <T>(selector: string, config?: ConfigWith<T>): Player;
810
+ /**
811
+ * Configure flowplayer and display it in the UI
812
+ * @param element - HTML element where player will render
813
+ * @param config - configuration of flowplayer
814
+ */
815
+ <T>(element: HTMLElement, config?: ConfigWith<T>): Player;
816
+ /**
817
+ * Register plugins in flowplayer
818
+ * @returns flowplayer instance with registered plugins
819
+ */
820
+ <PluginCtors extends PluginCtor[]>(...plugins: PluginCtors): FlowplayerUMDWithPlugins<MergeConfigs<PluginCtors>, PlayerWith<MergePlayerExtensions<PluginCtors>>>;
821
+ }
822
+
823
+ declare interface FlowplayerUMDBase {
824
+ /**
825
+ * All player instances on the page
826
+ */
827
+ instances: Player[];
828
+ /**
829
+ * Flowplayer core events
830
+ */
831
+ events: typeof events;
832
+ /**
833
+ * Flowplayer ui states map
834
+ */
835
+ states: FlowplayerStates;
836
+ /**
837
+ * Flowplayer errors map
838
+ */
839
+ errors: typeof FlowplayerErrorCodeMap;
840
+ quality: typeof QualityOpts;
841
+ autoplay: typeof AutoplayOpts;
842
+ commit: string;
843
+ version: string;
844
+ /**
845
+ * Flowplayer's custom element registry
846
+ */
847
+ customElements: FlowplayerCustomElementRegistry;
848
+ /* Excluded from this release type: extensions */
849
+ /* Excluded from this release type: defaultElements */
850
+ /* Excluded from this release type: components */
851
+ /* Excluded from this release type: support */
852
+ /* Excluded from this release type: jwt */
853
+ /* Excluded from this release type: loaders */
854
+ /**
855
+ * @public
856
+ * Translations dictionaries to be used with `@flowplayer/translations` package
857
+ *
858
+ * See [official documentation](https://developer.wowza.com/docs/wowza-flowplayer/player/translations/)
859
+ */
860
+ i18n: typeof I18n;
861
+ }
862
+
863
+ /**
864
+ * @public
865
+ */
866
+ declare interface FlowplayerUMDWithPlugins<ConfigWithPlugins extends Config = Config, PluginPlayer extends Player = Player> extends FlowplayerUMDBase {
867
+ /**
868
+ * Configure flowplayer, it's attached plugins and display flowplayer it in the UI
869
+ * @param selector - query selector of the HTML element where player will render
870
+ * @param config - Configuration of the flowplayer and the attached plugins
871
+ */
872
+ (selector: string, config?: ConfigWithPlugins): PlayerWithOpts<PluginPlayer, ConfigWithPlugins>;
873
+ /**
874
+ * Configure flowplayer, it's attached plugins and display flowplayer it in the UI
875
+ * @param element - HTML element where player will render
876
+ * @param config - Configuration of the flowplayer and the attached plugins
877
+ */
878
+ (element: HTMLElement, config?: ConfigWithPlugins): PlayerWithOpts<PluginPlayer, ConfigWithPlugins>;
879
+ }
880
+
881
+ /**
882
+ * @public
883
+ */
884
+ declare interface FPEvent<T> extends CustomEvent<T> {
885
+ /**
886
+ * @deprecated
887
+ the data attribute has been migrated to details to match the CustomEvent spec
888
+ more info: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
889
+ */
890
+ data?: T;
891
+ }
892
+
893
+ declare const FULLSCREEN = "is-fullscreen";
894
+
895
+ /**
896
+ * @public
897
+ */
898
+ declare const /**
899
+ @public
900
+ * when a new player is inserted into the HTML
901
+ */ /**
902
+ * @public
903
+ */
904
+ FULLSCREEN_CHANGE = "fullscreenchange";
905
+
906
+ /**
907
+ * @public
908
+ */
909
+ declare const /**
910
+ @public
911
+ * when a new player is inserted into the HTML
912
+ */ /**
913
+ * @public
914
+ */
915
+ FULLSCREEN_ENTER = "fullscreenenter";
916
+
917
+ /**
918
+ * @public
919
+ */
920
+ declare const /**
921
+ @public
922
+ * when a new player is inserted into the HTML
923
+ */ /**
924
+ * @public
925
+ */
926
+ FULLSCREEN_EXIT = "fullscreenexit";
927
+
928
+ declare const GRABBING = "is-grabbing";
929
+
930
+ declare const HAS_POSTER = "has-poster";
931
+
932
+ declare type HasGlobalSrcExtensios<PluginSrcs extends unknown[]> = ArrayToIntersection<PickGlobalSrcExtension<PluginSrcs>>;
933
+
934
+ declare type HasSrcExtensions<PluginBareConfigs extends unknown[]> = TupleToUnion<PickSrcExtensions<PluginBareConfigs>> extends never ? false : true;
935
+
936
+ declare const HOVERED = "is-hovered";
937
+
938
+ declare class I18n implements Plugin_2 {
939
+ static pluginName: string;
940
+ static en: {
941
+ ads: {
942
+ ad: string;
943
+ ads: string;
944
+ advertisement: string;
945
+ indicator: string;
946
+ adchoices: string;
947
+ };
948
+ audio: {
949
+ button_txt: string;
950
+ menu_title: string;
951
+ };
952
+ cc: {
953
+ button: string;
954
+ menu_title: string;
955
+ options: string;
956
+ tracks: string;
957
+ reset: string;
958
+ colors: {
959
+ Black: string;
960
+ Blue: string;
961
+ Cyan: string;
962
+ Green: string;
963
+ Magenta: string;
964
+ Red: string;
965
+ White: string;
966
+ Yellow: string;
967
+ };
968
+ edgeStyle: {
969
+ None: string;
970
+ "Drop shadow": string;
971
+ Raised: string;
972
+ Depressed: string;
973
+ Outline: string;
974
+ };
975
+ fontFamily: {
976
+ "Monospaced Serif": string;
977
+ "Proportional Serif": string;
978
+ "Monospaced Sans-Serif": string;
979
+ "Proportional Sans-Serif": string;
980
+ Casual: string;
981
+ Cursive: string;
982
+ };
983
+ properties: {
984
+ fontFamily: string;
985
+ fontSize: string;
986
+ fontColor: string;
987
+ fontOpacity: string;
988
+ backgroundColor: string;
989
+ backgroundOpacity: string;
990
+ characterEdgeStyle: string;
991
+ };
992
+ };
993
+ chromecast: {
994
+ start: string;
995
+ stop: string;
996
+ };
997
+ core: {
998
+ exit_fullscreen: string;
999
+ fullscreen: string;
1000
+ mute: string;
1001
+ muted: string;
1002
+ pause: string;
1003
+ play: string;
1004
+ seconds: string;
1005
+ timeline_aria_label: string;
1006
+ unmute: string;
1007
+ volume: string;
1008
+ close: string;
1009
+ "skip-next": string;
1010
+ "skip-prev": string;
1011
+ };
1012
+ ovp: {
1013
+ starting_in: string;
1014
+ };
1015
+ playlist: {
1016
+ cancel: string;
1017
+ up_next: string;
1018
+ autoplay: string;
1019
+ now_playing: string;
1020
+ turn_off_autoplay: string;
1021
+ playlist: string;
1022
+ };
1023
+ qsel: {
1024
+ menu_title: string;
1025
+ };
1026
+ share: {
1027
+ clipboard_failure: string;
1028
+ clipboard_success: string;
1029
+ embed: string;
1030
+ link: string;
1031
+ menu_title: string;
1032
+ };
1033
+ speed: {
1034
+ menu_title: string;
1035
+ };
1036
+ vtsel: {
1037
+ button_txt: string;
1038
+ menu_title: string;
1039
+ };
1040
+ };
1041
+ init(config: Config, _root: never, video: Player): void;
1042
+ /* Excluded from this release type: _nonLanguageFields */
1043
+ /* Excluded from this release type: languagesLoaded */
1044
+ }
1045
+
1046
+ declare const IN_VIEWPORT = "is-in-viewport";
1047
+
1048
+ /* Excluded from this release type: INTERSECTIONCHANGE */
1049
+
1050
+ /* Excluded from this release type: IntersectionChangeEventDetail */
1051
+
1052
+ declare const IS_SOURCE_PROCESSING = "is-source-processing";
1053
+
1054
+ declare type JSONPlayer = any;
1055
+
1056
+ /**
1057
+ * @public
1058
+ */
1059
+ declare const /**
1060
+ @public
1061
+ * when a new player is inserted into the HTML
1062
+ */ /**
1063
+ * @public
1064
+ */
1065
+ KEYDOWN = "keydown";
1066
+
1067
+ /**
1068
+ * @public
1069
+ */
1070
+ declare const /**
1071
+ @public
1072
+ * when a new player is inserted into the HTML
1073
+ */ /**
1074
+ * @public
1075
+ */
1076
+ KEYUP = "keyup";
1077
+
1078
+ /**
1079
+ * @public
1080
+ */
1081
+ declare type KeyValue = Record<string, any>;
1082
+
1083
+ /**
1084
+ * @public
1085
+ */
1086
+ declare const /**
1087
+ @public
1088
+ * when a new player is inserted into the HTML
1089
+ */ /**
1090
+ * @public
1091
+ */
1092
+ LANDSCAPE = "landscape";
1093
+
1094
+ /**
1095
+ * @public
1096
+ * when src is a livestream
1097
+ */
1098
+ declare const /**
1099
+ @public
1100
+ * when a new player is inserted into the HTML
1101
+ */ /**
1102
+ * @public
1103
+ * when src is a livestream
1104
+ */
1105
+ LIVE = "live";
1106
+
1107
+ declare const LIVE_2 = "is-live";
1108
+
1109
+ declare const LIVE_SEEKED = "is-live-seeked";
1110
+
1111
+ /**
1112
+ * @public
1113
+ */
1114
+ declare type LiveEventDetail = null;
1115
+
1116
+ /**
1117
+ * @public
1118
+ */
1119
+ declare const /**
1120
+ @public
1121
+ * when a new player is inserted into the HTML
1122
+ */ /**
1123
+ * @public
1124
+ */
1125
+ LOAD = "load";
1126
+
1127
+ /**
1128
+ * @public
1129
+ */
1130
+ declare const /**
1131
+ @public
1132
+ * when a new player is inserted into the HTML
1133
+ */ /**
1134
+ * @public
1135
+ */
1136
+ LOAD_START = "loadstart";
1137
+
1138
+ declare const LOADED = "is-loaded";
1139
+
1140
+ /**
1141
+ * @public A plugin that supports loading new media formats. Use 'class MyPlugin implements Loader\<...\>' when writing your custom Loader
1142
+ * @typeParam PluginPlayer- Player API that will be implemented by the loader. Loader at least must implement on(\<loader-name\>:attached, ...) event handler
1143
+ */
1144
+ declare interface Loader<PluginOwnConfig extends KeyValue, // FIXME extends Config
1145
+ PluginPlayer extends PlayerWith<_AttachedEventCheck>> extends Plugin_2<PluginOwnConfig, PluginPlayer> {
1146
+ onload: EnsureOnAttached<(config: ConfigWith<PluginOwnConfig>, root: PlayerRoot, video: PlayerWith<PluginPlayer>, src: SourceObj) => void, PluginPlayer>;
1147
+ wants<S = SourceObj>(srcString: SourceStr, srcObj: S, config: ConfigWith<PluginOwnConfig>): boolean;
1148
+ wants<S = KeyValue>(srcString: SourceStr, srcObj: SourceWith<S>, config: ConfigWith<PluginOwnConfig>): boolean;
1149
+ }
1150
+
1151
+ declare const LOADING = "is-loading";
1152
+
1153
+ declare type MapToBareConfigs<Plugins extends PluginCtor[]> = {
1154
+ [PluginType in keyof Plugins]: ExtractBareConfig<Plugins[PluginType]>;
1155
+ };
1156
+
1157
+ declare type MapToPlayerExtensions<Plugins extends PluginCtor[]> = {
1158
+ [PluginIndex in keyof Plugins]: ExtractPluginPlayerExtension<Plugins[PluginIndex]>;
1159
+ };
1160
+
1161
+ declare const MENU_OPENED = "has-menu-opened";
1162
+
1163
+ /**
1164
+ * Combines plugin config and returns a type derived from Config
1165
+ */
1166
+ declare type MergeConfigs<Plugins extends PluginCtor[]> = MergePluginConfigs<MapToBareConfigs<Plugins>>;
1167
+
1168
+ declare type MergePlayerExtensions<Plugins extends PluginCtor[]> = ArrayToIntersection<MapToPlayerExtensions<Plugins>>;
1169
+
1170
+ declare type MergePluginConfigs<PluginBareConfigs extends unknown[]> = HasSrcExtensions<PluginBareConfigs> extends true ? ConfigWithSourceExtensions<PluginBareConfigs> : ConfigWith<ArrayToIntersection<PluginBareConfigs>>;
1171
+
1172
+ /**
1173
+ * @public
1174
+ * general video events flowplayer uses internally
1175
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
1176
+ */
1177
+ declare const /**
1178
+ @public
1179
+ * when a new player is inserted into the HTML
1180
+ */ /**
1181
+ * @public
1182
+ * general video events flowplayer uses internally
1183
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
1184
+ */
1185
+ METADATA = "loadedmetadata";
1186
+
1187
+ /**
1188
+ @public
1189
+ * when a new player is inserted into the HTML
1190
+ */
1191
+ declare const /**
1192
+ @public
1193
+ * when a new player is inserted into the HTML
1194
+ */ /**
1195
+ @public
1196
+ * when a new player is inserted into the HTML
1197
+ */ MOUNT = "mount";
1198
+
1199
+ /**
1200
+ * @public
1201
+ */
1202
+ declare type MountEventDetail = null;
1203
+
1204
+ /**
1205
+ * @public
1206
+ */
1207
+ declare const /**
1208
+ @public
1209
+ * when a new player is inserted into the HTML
1210
+ */ /**
1211
+ * @public
1212
+ */
1213
+ MOUSE_DOWN = "mousedown";
1214
+
1215
+ /**
1216
+ * @public
1217
+ */
1218
+ declare const /**
1219
+ @public
1220
+ * when a new player is inserted into the HTML
1221
+ */ /**
1222
+ * @public
1223
+ */
1224
+ MOUSE_ENTER = "mouseenter";
1225
+
1226
+ /**
1227
+ * @public
1228
+ */
1229
+ declare const /**
1230
+ @public
1231
+ * when a new player is inserted into the HTML
1232
+ */ /**
1233
+ * @public
1234
+ */
1235
+ MOUSE_LEAVE = "mouseleave";
1236
+
1237
+ /**
1238
+ * @public
1239
+ */
1240
+ declare const /**
1241
+ @public
1242
+ * when a new player is inserted into the HTML
1243
+ */ /**
1244
+ * @public
1245
+ */
1246
+ MOUSE_MOVE = "mousemove";
1247
+
1248
+ /**
1249
+ * @public
1250
+ */
1251
+ declare const /**
1252
+ @public
1253
+ * when a new player is inserted into the HTML
1254
+ */ /**
1255
+ * @public
1256
+ */
1257
+ MOUSE_UP = "mouseup";
1258
+
1259
+ declare const MUTED = "is-muted";
1260
+
1261
+ declare const NO_CONTROLS = "no-controls";
1262
+
1263
+ declare const NO_DVR = "no-timeline";
1264
+
1265
+ /* Excluded from this release type: NON_RECOVERABLE_ERROR */
1266
+
1267
+ /* Excluded from this release type: NonRecoverableErrorEventDetail */
1268
+
1269
+ /* Excluded from this release type: NQState */
1270
+
1271
+ /**
1272
+ * @public
1273
+ */
1274
+ declare type OVPMetadata = {
1275
+ player_id?: string;
1276
+ media_id?: string;
1277
+ ad_keywords?: string;
1278
+ title?: string;
1279
+ description?: string;
1280
+ category_name?: string;
1281
+ duration?: number;
1282
+ tags?: string;
1283
+ };
1284
+
1285
+ /**
1286
+ * @public
1287
+ */
1288
+ declare const /**
1289
+ @public
1290
+ * when a new player is inserted into the HTML
1291
+ */ /**
1292
+ * @public
1293
+ */
1294
+ PAUSE = "pause";
1295
+
1296
+ declare const PAUSED = "is-paused";
1297
+
1298
+ declare type PickGlobalSrcExtension<PluginSrcs extends unknown[]> = {
1299
+ [Index in keyof PluginSrcs]: PluginSrcs[Index] extends {
1300
+ type: string;
1301
+ } ? unknown : PluginSrcs[Index];
1302
+ };
1303
+
1304
+ /**
1305
+ * Maps incoming array to the src extension type
1306
+ * @example
1307
+ * ```
1308
+ * PickSrcExtensions<[
1309
+ * {configProp: boolean, src: UnsafeSource<{srcProp: boolean}>},
1310
+ * {}
1311
+ * ]> // = [{srcProp: boolean}, never]
1312
+ * ```
1313
+ */
1314
+ declare type PickSrcExtensions<PluginBareConfigs extends unknown[]> = {
1315
+ [PluginType in keyof PluginBareConfigs]: ExtractSrcExtension<PluginBareConfigs[PluginType]>;
1316
+ };
1317
+
1318
+ /**
1319
+ * @public
1320
+ */
1321
+ declare const /**
1322
+ @public
1323
+ * when a new player is inserted into the HTML
1324
+ */ /**
1325
+ * @public
1326
+ */
1327
+ PLAY = "play";
1328
+
1329
+ /**
1330
+ * @public
1331
+ */
1332
+ declare type Player = HTMLVideoElement & PlayerEventOverloads & {
1333
+ /* Excluded from this release type: renderPlugin */
1334
+ /**
1335
+ * Disables and enables the player.
1336
+ * @param flag -Forces disabled mode (true) or enabled mode (false). Disabled player cannot be seeked forward.
1337
+ */
1338
+ toggleDisable: (flag?: boolean) => void;
1339
+ /* Excluded from this release type: original_src */
1340
+ /**
1341
+ * The root element of the video player. This is the immediate parent element of the video tag.
1342
+ */
1343
+ root: PlayerRoot;
1344
+ /* Excluded from this release type: playerState */
1345
+ /* Excluded from this release type: reaper */
1346
+ /* Excluded from this release type: hasState */
1347
+ /* Excluded from this release type: transitionState */
1348
+ /**
1349
+ * Toggles between playing and paused mode.
1350
+ * @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.
1351
+ */
1352
+ togglePlay(on?: boolean): Promise<void>;
1353
+ /* Excluded from this release type: toggleFullScreen */
1354
+ /**
1355
+ * @public
1356
+ * Toggles between normal and fullscreen mode. The optional flag attribute forces the normal sized (false) or fullscreen (false) mode.
1357
+ * The custom fullscreenenter and fullscreenexit events are sent respectively.
1358
+ */
1359
+ toggleFullScreen(on?: boolean): void;
1360
+ /* Excluded from this release type: toggleMute */
1361
+ /**
1362
+ * Toggles between muted and original volume level.
1363
+ */
1364
+ toggleMute(): void;
1365
+ /**
1366
+ * Removes a Flowplayer instance from `flowplayer.instances` and emits the `flowplayer.events.REAP` event, enabling cleanup of unsafe resources.
1367
+ */
1368
+ destroy(): void;
1369
+ /* Excluded from this release type: render */
1370
+ /* Excluded from this release type: render */
1371
+ createComponents(...args: string[]): HTMLElement[];
1372
+ /**
1373
+ * Adds or changes configuration object. Usually used in conjunction with `setSrc()`. You can use all top-level config options like `subtitle:` , `logo:`, `ima:` etc.
1374
+ * @example
1375
+ * ```
1376
+ * setOpts({
1377
+ * subtitles:{
1378
+ * tracks:[
1379
+ * {
1380
+ * src: "1.vtt",
1381
+ * label: "English",
1382
+ * default: true
1383
+ * }, {
1384
+ * src: "2.vtt",
1385
+ * label: "Spanish",
1386
+ * default : false }]},
1387
+ * logo: "https://myserver.com/logo.png"
1388
+ * })
1389
+ * ```
1390
+ */
1391
+ setOpts(config: Config): void;
1392
+ /**
1393
+ * Sets the video source to be played. The src attribute can be a string or an object similar to the src property.
1394
+ */
1395
+ setSrc(sources: UnsafeSource): void;
1396
+ /* Excluded from this release type: setSrc */
1397
+ /* Excluded from this release type: setAttrs */
1398
+ /* Excluded from this release type: opt */
1399
+ /* Excluded from this release type: enqueueSeek */
1400
+ /* Excluded from this release type: setState */
1401
+ setState(state: PlayerState, flag: boolean): void;
1402
+ /* Excluded from this release type: toJSON */
1403
+ /**
1404
+ * Adds a language to the project. See {@link https://developer.wowza.com/docs/wowza-flowplayer/player/translations/#using-npm| Official documentation}
1405
+ */
1406
+ i18n(k: TranslationKey): string;
1407
+ i18n(k: string, fallback: string): string;
1408
+ /* Excluded from this release type: deviceId */
1409
+ /* Excluded from this release type: live_state */
1410
+ /**
1411
+ * A reference to the configuration state of the player.
1412
+ */
1413
+ opts: Config;
1414
+ /* Excluded from this release type: plugins */
1415
+ /* Excluded from this release type: dvr_offset */
1416
+ message?: {
1417
+ events: Record<string, string>;
1418
+ };
1419
+ /**
1420
+ * A boolean specifying whether the player is disabled and the user cannot seek forward using the mouse or keyboard.
1421
+ * Player is disabled and enabled with the `toggleDisable()` method.
1422
+ */
1423
+ disabled: boolean;
1424
+ /* Excluded from this release type: started */
1425
+ /* Excluded from this release type: token */
1426
+ /* Excluded from this release type: _customElements */
1427
+ /* Excluded from this release type: _storage */
1428
+ };
1429
+
1430
+ declare type PlayerCustomEventName = keyof PlayerCustomEventsDetailMap;
1431
+
1432
+ declare type PlayerCustomEventsDetailMap = PlayerEmittableCustomEventsDetailMap & {
1433
+ [REAP]: ReapEventDetail;
1434
+ [SOURCE]: SourceEventDetail;
1435
+ [MOUNT]: MountEventDetail;
1436
+ [LIVE]: LiveEventDetail;
1437
+ [DVR]: DvrEventDetail;
1438
+ [RETRY]: RetryEventDetail;
1439
+ [RECOVER]: RecoverEventDetail;
1440
+ [QUALITIES]: QualitiesEventDetail;
1441
+ [QUALITY_CHANGE]: QualityChangeEventDetail;
1442
+ [STANDARD_ERROR]: FlowplayerErrorEventDetail;
1443
+ /* Excluded from this release type: audioonlysource */
1444
+ /* Excluded from this release type: renderplugin */
1445
+ /* Excluded from this release type: "seek:queued" */
1446
+ /* Excluded from this release type: "seek:cancel" */
1447
+ /* Excluded from this release type: "plugin:registered" */
1448
+ /* Excluded from this release type: intersectionchange */
1449
+ /* Excluded from this release type: "flowplayer:feature" */
1450
+ /* Excluded from this release type: beforeplay */
1451
+ /* Excluded from this release type: beforepause */
1452
+ /* Excluded from this release type: state */
1453
+ /* Excluded from this release type: config */
1454
+ /* Excluded from this release type: "error:fatal" */
1455
+ };
1456
+
1457
+ declare type PlayerCustomEventsOverloads = {
1458
+ /**
1459
+ * 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.
1460
+ */
1461
+ on(event: typeof MOUNT, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof MOUNT]>) => void): Player;
1462
+ /**
1463
+ * Sent when an error occurs. Learn more about error handling.
1464
+ */
1465
+ on(// FIXME - this event is in context-menu plugin
1466
+ event: typeof CONTEXT_MENU, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof CONTEXT_MENU]>) => void): Player;
1467
+ /* Excluded from this release type: on */
1468
+ /* Excluded from this release type: on */
1469
+ /* Excluded from this release type: on */
1470
+ /**
1471
+ * Sent when the player becomes visible for the user.
1472
+ */
1473
+ on(event: typeof VIEW_ENTER, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof VIEW_ENTER]>) => void): Player;
1474
+ /**
1475
+ * Sent when the player leaves the users viewport and is longer visible.
1476
+ */
1477
+ on(event: typeof VIEW_LEAVE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof VIEW_LEAVE]>) => void): Player;
1478
+ /**
1479
+ * Sent right before the player src attribute is set. This allows you to change the video URL before playback.
1480
+ */
1481
+ on(event: typeof SOURCE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof SOURCE]>) => void): Player;
1482
+ /**
1483
+ * Emitted when an Error recovery is attempted
1484
+ */
1485
+ on(event: typeof RECOVER, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof RECOVER]>) => void): Player;
1486
+ /**
1487
+ * 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.
1488
+ */
1489
+ on(event: typeof REAP, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof REAP]>) => void): Player;
1490
+ /**
1491
+ * Emitted when a player will retry to reload
1492
+ */
1493
+ on(event: typeof RETRY, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof RETRY]>) => void): Player;
1494
+ /* Excluded from this release type: on */
1495
+ /**
1496
+ * Emitted when the set of underlying qualities has changed.
1497
+ */
1498
+ on(event: typeof QUALITIES, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITIES]>) => void): Player;
1499
+ /**
1500
+ * Emitted when the media changes quality.
1501
+ */
1502
+ on(event: typeof QUALITY_CHANGE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof QUALITY_CHANGE]>) => void): Player;
1503
+ /**
1504
+ * Emitted when a standard FlowplayerError is encountered
1505
+ */
1506
+ on(event: typeof STANDARD_ERROR, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof STANDARD_ERROR]>) => void): Player;
1507
+ /* Excluded from this release type: on */
1508
+ /**
1509
+ * Listen to this event to create a recommendations grid using the data passed with the event.
1510
+ */
1511
+ on(event: typeof RECOMMENDATIONS_READY, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof RECOMMENDATIONS_READY]>) => void): Player;
1512
+ /* Excluded from this release type: on */
1513
+ /* Excluded from this release type: on */
1514
+ /**
1515
+ * when the player has started playing dvr content
1516
+ */
1517
+ on(event: typeof DVR, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof DVR]>) => void): Player;
1518
+ /**
1519
+ * when src is a livestream
1520
+ */
1521
+ on(event: typeof LIVE, handler: (e: FPEvent<PlayerCustomEventsDetailMap[typeof LIVE]>) => void): Player;
1522
+ /* Excluded from this release type: on */
1523
+ /* Excluded from this release type: on */
1524
+ /* Excluded from this release type: on */
1525
+ /* Excluded from this release type: on */
1526
+ /* Excluded from this release type: on */
1527
+ /* Excluded from this release type: on */
1528
+ /**
1529
+ * TODO: this is a workaround, since not all event overloads are typed. when all plugin work is finished, remove this
1530
+ * https://wowzamedia.jira.com/browse/PLAY-653
1531
+ */
1532
+ on<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1533
+ /* Excluded from this release type: on */
1534
+ /**
1535
+ * Same as `on()`, but the handler function is executed only once.
1536
+ */
1537
+ once<T extends PlayerCustomEventName>(event: T, handler: (e: FPEvent<PlayerCustomEventsDetailMap[T]>) => void): Player;
1538
+ /**
1539
+ * Same as `on()`, but the handler function is executed only once.
1540
+ */
1541
+ once<T extends PlayerNativeEventName>(event: T, handler: (e: PlayerNativeEventsDetailMap[T]) => void): Player;
1542
+ once<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1543
+ /**
1544
+ * Removes the event handler with the specified event type.
1545
+ */
1546
+ off<T extends PlayerCustomEventName>(event: T, handler: (e: FPEvent<PlayerCustomEventsDetailMap[T]>) => void): Player;
1547
+ /**
1548
+ * Removes the event handler with the specified event type.
1549
+ */
1550
+ off<T extends PlayerNativeEventName>(event: T, handler: (e: PlayerNativeEventsDetailMap[T]) => void): Player;
1551
+ /**
1552
+ * Removes the event handler with the specified event type.
1553
+ */
1554
+ off<T>(event: string, handler: (e: FPEvent<T>) => void): Player;
1555
+ /* Excluded from this release type: poll */
1556
+ emit<T extends PlayerEmittableEventNames>(event: T, data?: PlayerCustomEventsDetailMap[T]): Player;
1557
+ emit(event: never, data?: never): Player;
1558
+ /* Excluded from this release type: emit */
1559
+ /* Excluded from this release type: emit */
1560
+ };
1561
+
1562
+ declare type PlayerEmittableCustomEventsDetailMap = {
1563
+ [CONTEXT_MENU]: ContextMenuEventDetail;
1564
+ [VIEW_ENTER]: ViewEnterEventDetail;
1565
+ [VIEW_LEAVE]: ViewLeaveEventDetail;
1566
+ [RECOMMENDATIONS_READY]: RecommendationsReadyEventDetail;
1567
+ };
1568
+
1569
+ declare type PlayerEmittableEventNames = keyof PlayerEmittableCustomEventsDetailMap;
1570
+
1571
+ /**
1572
+ * @public
1573
+ */
1574
+ declare type PlayerEventOverloads = PlayerNativeEventsOverloads & PlayerCustomEventsOverloads;
1575
+
1576
+ declare type PlayerNativeEventName = keyof PlayerNativeEventsDetailMap;
1577
+
1578
+ declare type PlayerNativeEventsDetailMap = HTMLVideoElementEventMap;
1579
+
1580
+ declare type PlayerNativeEventsOverloads = {
1581
+ on<K extends keyof PlayerNativeEventsDetailMap>(event: K, handler: (ev: PlayerNativeEventsDetailMap[K]) => void): Player;
1582
+ };
1583
+
1584
+ /**
1585
+ * @public
1586
+ * The root element of the video player. This is the immediate parent element of the video tag.
1587
+ */
1588
+ declare type PlayerRoot = HTMLElement & {
1589
+ /* Excluded from this release type: prevWidth */
1590
+ };
1591
+
1592
+ /**
1593
+ * @public
1594
+ */
1595
+ declare type PlayerState = FlowplayerStates[keyof FlowplayerStates];
1596
+
1597
+ /* Excluded from this release type: _PlayerState */
1598
+
1599
+ /* Excluded from this release type: PlayerStates */
1600
+
1601
+ /**
1602
+ * @public
1603
+ */
1604
+ declare type PlayerWith<T> = T & Player;
1605
+
1606
+ declare type PlayerWithOpts<PluginPlayer extends Player = Player, PluginConfig extends Config = Config> = {
1607
+ /* Excluded from this release type: on */
1608
+ } & Omit<PluginPlayer, "opts" | "setOpts"> & {
1609
+ opts: PluginConfig;
1610
+ setOpts: (config: PluginConfig) => void;
1611
+ };
1612
+
1613
+ declare const PLAYING = "is-playing";
1614
+
1615
+ /**
1616
+ * @public
1617
+ */
1618
+ declare const /**
1619
+ @public
1620
+ * when a new player is inserted into the HTML
1621
+ */ /**
1622
+ * @public
1623
+ */
1624
+ PLAYING_2 = "playing";
1625
+
1626
+ /**
1627
+ * @public
1628
+ */
1629
+ declare interface Plugin_2<PluginConfig extends Config = Config, PluginPlayer extends Player = Player> {
1630
+ /**
1631
+ * a plugin must always implement the init method so a player instance knows how to initialize it
1632
+ */
1633
+ init(config: PluginConfig, container: PlayerRoot, player: PluginPlayer): void;
1634
+ }
1635
+
1636
+ /* Excluded from this release type: PLUGIN_REGISTERED */
1637
+
1638
+ /**
1639
+ * @public
1640
+ */
1641
+ declare interface PluginCtor<PluginConfig extends Config = Config, PluginPlayer extends Player = Player> {
1642
+ new (umd: FlowplayerUMD, player: Player): Plugin_2<PluginConfig, PluginPlayer>;
1643
+ pluginName: string;
1644
+ }
1645
+
1646
+ /* Excluded from this release type: PluginRegisteredEventDetail */
1647
+
1648
+ declare type PluginStates = string;
1649
+
1650
+ /**
1651
+ * @public
1652
+ */
1653
+ declare const POP_IN = "float:pop:in";
1654
+
1655
+ /**
1656
+ * @public
1657
+ */
1658
+ declare const POP_OUT = "float:pop:out";
1659
+
1660
+ /**
1661
+ * @public
1662
+ */
1663
+ declare const /**
1664
+ @public
1665
+ * when a new player is inserted into the HTML
1666
+ */ /**
1667
+ * @public
1668
+ */
1669
+ PORTRAIT = "portrait";
1670
+
1671
+ /**
1672
+ * @public
1673
+ */
1674
+ declare const /**
1675
+ @public
1676
+ * when a new player is inserted into the HTML
1677
+ */ /**
1678
+ * @public
1679
+ */
1680
+ PROGRESS = "progress";
1681
+
1682
+ /**
1683
+ * @public
1684
+ */
1685
+ declare type QselOption = (Level & {
1686
+ level: number;
1687
+ }) | Representation | {
1688
+ name: string | number;
1689
+ encodingId: string;
1690
+ spatialLayerId: number;
1691
+ temporalLayerId: number;
1692
+ maxSpatialLayerId: number;
1693
+ maxTemporalLayerId: number;
1694
+ height: number;
1695
+ width: number;
1696
+ };
1697
+
1698
+ /**
1699
+ * @public
1700
+ * emitted whenever a list of qualities has been made available
1701
+ * when index 0 is the highest quality and index 0+N is the lowest
1702
+ */
1703
+ declare const /**
1704
+ @public
1705
+ * when a new player is inserted into the HTML
1706
+ */ /**
1707
+ * @public
1708
+ * emitted whenever a list of qualities has been made available
1709
+ * when index 0 is the highest quality and index 0+N is the lowest
1710
+ */
1711
+ QUALITIES = "qualities";
1712
+
1713
+ /**
1714
+ * @public
1715
+ */
1716
+ declare type QualitiesEventDetail = QselOption[];
1717
+
1718
+ /**
1719
+ * @public
1720
+ * emitted whenever the media changes quality
1721
+ */
1722
+ declare const /**
1723
+ @public
1724
+ * when a new player is inserted into the HTML
1725
+ */ /**
1726
+ * @public
1727
+ * emitted whenever the media changes quality
1728
+ */
1729
+ QUALITY_CHANGE = "qualitychange";
1730
+
1731
+ /**
1732
+ * @public
1733
+ */
1734
+ declare type QualityChangeEventDetail = {
1735
+ before?: (Level & {
1736
+ level?: number;
1737
+ }) | Representation;
1738
+ after: (Level & {
1739
+ level?: number;
1740
+ }) | Representation;
1741
+ plugin: string;
1742
+ automatic: boolean;
1743
+ /* Excluded from this release type: downscale */
1744
+ };
1745
+
1746
+ declare enum QualityOpts {
1747
+ LOW = 1,
1748
+ MEDIUM = 2,
1749
+ HIGH = 4
1750
+ }
1751
+
1752
+ /**
1753
+ * @public
1754
+ * emitted when it is safe to clean up a fp instance
1755
+ */
1756
+ declare const /**
1757
+ @public
1758
+ * when a new player is inserted into the HTML
1759
+ */ /**
1760
+ * @public
1761
+ * emitted when it is safe to clean up a fp instance
1762
+ */
1763
+ REAP = "reap";
1764
+
1765
+ /**
1766
+ * @public
1767
+ */
1768
+ declare type ReapEventDetail = null;
1769
+
1770
+ /**
1771
+ * @public
1772
+ */
1773
+ declare type RecommendationItem = {
1774
+ poster?: string;
1775
+ src?: UnsafeSource;
1776
+ title?: string;
1777
+ description?: string;
1778
+ metadata: OVPMetadata;
1779
+ chapters?: {
1780
+ src: string;
1781
+ };
1782
+ thumbnails?: {
1783
+ src: string;
1784
+ };
1785
+ subtitles?: string[];
1786
+ };
1787
+
1788
+ /**
1789
+ * @public
1790
+ */
1791
+ declare const /**
1792
+ @public
1793
+ * when a new player is inserted into the HTML
1794
+ */ /**
1795
+ * @deprecated please use Endscreen.events.RECOMMENDATIONS_READY / flowplayer.endscreen.events.RECOMMENDATIONS_READY
1796
+ **/
1797
+ /**
1798
+ * @public
1799
+ */
1800
+ RECOMMENDATIONS_READY = "recommendationsready";
1801
+
1802
+ /**
1803
+ * @public
1804
+ */
1805
+ declare type RecommendationsReadyEventDetail = {
1806
+ playlist: RecommendationItem[];
1807
+ };
1808
+
1809
+ /**
1810
+ * @public
1811
+ * emitted when an Error recovery is attempted
1812
+ */
1813
+ declare const /**
1814
+ @public
1815
+ * when a new player is inserted into the HTML
1816
+ */ /**
1817
+ * @public
1818
+ * emitted when an Error recovery is attempted
1819
+ */
1820
+ RECOVER = "recover";
1821
+
1822
+ /**
1823
+ * @public
1824
+ */
1825
+ declare type RecoverEventDetail = null;
1826
+
1827
+ /* Excluded from this release type: REMOTE_SESSION_ENDED */
1828
+
1829
+ /* Excluded from this release type: REMOTE_SESSION_STARTED */
1830
+
1831
+ /* Excluded from this release type: RENDER_PLUGIN */
1832
+
1833
+ /**
1834
+ * @public
1835
+ */
1836
+ declare type RenderPluginEventDetail = HTMLElement;
1837
+
1838
+ /**
1839
+ * @public
1840
+ */
1841
+ declare const /**
1842
+ @public
1843
+ * when a new player is inserted into the HTML
1844
+ */ /**
1845
+ * @public
1846
+ */
1847
+ RESIZE = "resize";
1848
+
1849
+ /**
1850
+ * @public
1851
+ */
1852
+ declare const /**
1853
+ @public
1854
+ * when a new player is inserted into the HTML
1855
+ */ /**
1856
+ * @public
1857
+ */
1858
+ RETRY = "retry";
1859
+
1860
+ /**
1861
+ * @public
1862
+ */
1863
+ declare type RetryEventDetail = FlowplayerErrorEventDetail;
1864
+
1865
+ declare const RetryMap: {
1866
+ readonly ON: "on";
1867
+ readonly WITHOUT_RECOVERY: "without_recovery";
1868
+ readonly OFF: "off";
1869
+ };
1870
+
1871
+ declare const RTL = "is-rtl";
1872
+
1873
+ declare const SampleRate: {
1874
+ /**
1875
+ * for new features with low adoption rates, or features that are likely to not be used frequently, will include every single instance in the sample.
1876
+ */
1877
+ readonly All: 1;
1878
+ /**
1879
+ * for events we anticipate receive a lot of usage and maybe happen frequently per session
1880
+ */
1881
+ readonly High: 0.1;
1882
+ /**
1883
+ * for events that can happen quickly, but not in massive amounts
1884
+ */
1885
+ readonly Medium: 0.01;
1886
+ /**
1887
+ * for very high volume events where you only want to sample a low amount of them (think volumechange | timeupdate)
1888
+ */
1889
+ readonly Low: 0.001;
1890
+ /**
1891
+ * placeholder for never sampling something, useful in situations where we want to add code to sample, but maybe not turn it on just yet.
1892
+ */
1893
+ readonly None: 0;
1894
+ };
1895
+
1896
+ /**
1897
+ * @public
1898
+ */
1899
+ declare const /**
1900
+ @public
1901
+ * when a new player is inserted into the HTML
1902
+ */ /**
1903
+ * @public
1904
+ */
1905
+ SCROLL = "scroll";
1906
+
1907
+ declare const SEAMLESS = "is-seamless";
1908
+
1909
+ /* Excluded from this release type: SEEK_CANCEL */
1910
+
1911
+ /* Excluded from this release type: SEEK_QUEUED */
1912
+
1913
+ declare const SEEKABLE = "is-seekable";
1914
+
1915
+ /* Excluded from this release type: SeekCancelEventDetail */
1916
+
1917
+ /**
1918
+ * @public
1919
+ */
1920
+ declare const /**
1921
+ @public
1922
+ * when a new player is inserted into the HTML
1923
+ */ /**
1924
+ * @public
1925
+ */
1926
+ SEEKED = "seeked";
1927
+
1928
+ declare const SEEKING = "is-seeking";
1929
+
1930
+ /**
1931
+ * @public
1932
+ */
1933
+ declare const /**
1934
+ @public
1935
+ * when a new player is inserted into the HTML
1936
+ */ /**
1937
+ * @public
1938
+ */
1939
+ SEEKING_2 = "seeking";
1940
+
1941
+ /* Excluded from this release type: SeekQueuedEventDetail */
1942
+
1943
+ /**
1944
+ * @public
1945
+ * @deprecated please use Qsel.events.SET_QUALITY
1946
+ */
1947
+ declare const /**
1948
+ @public
1949
+ * when a new player is inserted into the HTML
1950
+ */ /**
1951
+ * @public
1952
+ * @deprecated please use Qsel.events.SET_QUALITY
1953
+ */
1954
+ SET_QUALITY = "quality:set";
1955
+
1956
+ declare const SMALL = "is-small";
1957
+
1958
+ /**
1959
+ * @public
1960
+ * emitted when a valid source is found prior to mounting
1961
+ */
1962
+ declare const /**
1963
+ @public
1964
+ * when a new player is inserted into the HTML
1965
+ */ /**
1966
+ * @public
1967
+ * emitted when a valid source is found prior to mounting
1968
+ */
1969
+ SOURCE = "src";
1970
+
1971
+ /**
1972
+ * @public
1973
+ */
1974
+ declare type SourceEventDetail = SourceObj;
1975
+
1976
+ /**
1977
+ * @public
1978
+ */
1979
+ declare type SourceObj<T = unknown> = {
1980
+ src?: SourceStr;
1981
+ /**
1982
+ * the MIME type (example `video/mp4` or `application/x-mpegurl`)
1983
+ */
1984
+ type?: string;
1985
+ } & T;
1986
+
1987
+ /**
1988
+ * @public
1989
+ */
1990
+ declare type SourceStr = string;
1991
+
1992
+ /**
1993
+ * @public
1994
+ */
1995
+ declare type SourceWith<T> = SourceObj & T;
1996
+
1997
+ /**
1998
+ * @public
1999
+ * emitted to handle playback related errors
2000
+ */
2001
+ declare const /**
2002
+ @public
2003
+ * when a new player is inserted into the HTML
2004
+ */ /**
2005
+ * @public
2006
+ * emitted to handle playback related errors
2007
+ */
2008
+ STANDARD_ERROR = "flowplayer:error";
2009
+
2010
+ declare const STARTING = "is-starting";
2011
+
2012
+ /* Excluded from this release type: STATE */
2013
+
2014
+ /* Excluded from this release type: StateEventDetail */
2015
+
2016
+ declare namespace states {
2017
+ export {
2018
+ PLAYING,
2019
+ FULLSCREEN,
2020
+ PAUSED,
2021
+ MUTED,
2022
+ LOADED,
2023
+ LOADING,
2024
+ STARTING,
2025
+ SEEKING,
2026
+ GRABBING,
2027
+ DISABLED,
2028
+ SMALL,
2029
+ TINY,
2030
+ RTL,
2031
+ TV,
2032
+ ENDED,
2033
+ LIVE_2 as LIVE,
2034
+ ERRORED,
2035
+ WAITING,
2036
+ AUTOPLAY,
2037
+ SEAMLESS,
2038
+ TOGGLING,
2039
+ LIVE_SEEKED,
2040
+ NO_DVR,
2041
+ HAS_POSTER,
2042
+ WILL_PLAY,
2043
+ WILL_PAUSE,
2044
+ MENU_OPENED,
2045
+ TOUCHED,
2046
+ HOVERED,
2047
+ TOUCH_DEVICE,
2048
+ WILL_SEEK,
2049
+ SEEKABLE,
2050
+ IN_VIEWPORT,
2051
+ NO_CONTROLS,
2052
+ DESTROYED,
2053
+ IS_SOURCE_PROCESSING
2054
+ }
2055
+ }
2056
+
2057
+ /**
2058
+ * @public
2059
+ */
2060
+ declare const /**
2061
+ @public
2062
+ * when a new player is inserted into the HTML
2063
+ */ /**
2064
+ * @public
2065
+ */
2066
+ TIME_UPDATE = "timeupdate";
2067
+
2068
+ declare const TINY = "is-tiny";
2069
+
2070
+ declare const TOGGLING = "is-toggling";
2071
+
2072
+ /**
2073
+ * @public
2074
+ */
2075
+ declare const /**
2076
+ @public
2077
+ * when a new player is inserted into the HTML
2078
+ */ /**
2079
+ * @public
2080
+ */
2081
+ TOUCH_CANCEL = "touchcancel";
2082
+
2083
+ declare const TOUCH_DEVICE = "is-touch-device";
2084
+
2085
+ /**
2086
+ * @public
2087
+ */
2088
+ declare const /**
2089
+ @public
2090
+ * when a new player is inserted into the HTML
2091
+ */ /**
2092
+ * @public
2093
+ */
2094
+ TOUCH_END = "touchend";
2095
+
2096
+ /**
2097
+ * @public
2098
+ */
2099
+ declare const /**
2100
+ @public
2101
+ * when a new player is inserted into the HTML
2102
+ */ /**
2103
+ * @public
2104
+ */
2105
+ TOUCH_MOVE = "touchmove";
2106
+
2107
+ /**
2108
+ * @public
2109
+ */
2110
+ declare const /**
2111
+ @public
2112
+ * when a new player is inserted into the HTML
2113
+ */ /**
2114
+ * @public
2115
+ */
2116
+ TOUCH_START = "touchstart";
2117
+
2118
+ declare const TOUCHED = "is-touched";
2119
+
2120
+ /**
2121
+ * @public
2122
+ * All possible full paths to each translation, i.e. "core.mute"| "core.play" | "ads.ad" etc.
2123
+ * This type is useful for developers using translation querying based on path, like in lodash's get()
2124
+ */
2125
+ declare type TranslationKey = Paths<Translation, {
2126
+ leavesOnly: true;
2127
+ }>;
2128
+
2129
+ declare type TSampleRate = typeof SampleRate;
2130
+
2131
+ declare const TV = "is-tv";
2132
+
2133
+ /**
2134
+ * @public
2135
+ */
2136
+ declare type UnsafeSource<SrcMixin = unknown> = SourceStr | SourceObj<SrcMixin> | Array<SourceStr | SourceObj<SrcMixin>>;
2137
+
2138
+ declare type ValidSampleRate = TSampleRate[keyof TSampleRate];
2139
+
2140
+ /**
2141
+ * @public
2142
+ * emitted when a video track is selected
2143
+ */
2144
+ declare const /**
2145
+ @public
2146
+ * when a new player is inserted into the HTML
2147
+ */ /**
2148
+ * @public
2149
+ * emitted when a video track is selected
2150
+ */
2151
+ VIDEO_TRACK_SELECT = "tracks:video:select";
2152
+
2153
+ /**
2154
+ * @public
2155
+ * emitted whenever multiple video tracks are detected
2156
+ */
2157
+ declare const /**
2158
+ @public
2159
+ * when a new player is inserted into the HTML
2160
+ */ /**
2161
+ * @public
2162
+ * emitted whenever multiple video tracks are detected
2163
+ */
2164
+ VIDEO_TRACKS = "videoTracks";
2165
+
2166
+ /**
2167
+ * @public
2168
+ * when a player enters the viewpoint
2169
+ */
2170
+ declare const /**
2171
+ @public
2172
+ * when a new player is inserted into the HTML
2173
+ */ /**
2174
+ * @public
2175
+ * when a player enters the viewpoint
2176
+ */
2177
+ VIEW_ENTER = "viewenter";
2178
+
2179
+ /**
2180
+ * @public
2181
+ * when a player leaves the viewport
2182
+ */
2183
+ declare const /**
2184
+ @public
2185
+ * when a new player is inserted into the HTML
2186
+ */ /**
2187
+ * @public
2188
+ * when a player leaves the viewport
2189
+ */
2190
+ VIEW_LEAVE = "viewleave";
2191
+
2192
+ /**
2193
+ * @public
2194
+ */
2195
+ declare type ViewEnterEventDetail = null;
2196
+
2197
+ /**
2198
+ * @public
2199
+ */
2200
+ declare type ViewLeaveEventDetail = null;
2201
+
2202
+ /**
2203
+ * @public
2204
+ */
2205
+ declare const /**
2206
+ @public
2207
+ * when a new player is inserted into the HTML
2208
+ */ /**
2209
+ * @public
2210
+ */
2211
+ VOLUME_CHANGE = "volumechange";
2212
+
2213
+ declare const WAITING = "is-waiting";
2214
+
2215
+ /**
2216
+ * @public
2217
+ */
2218
+ declare const /**
2219
+ @public
2220
+ * when a new player is inserted into the HTML
2221
+ */ /**
2222
+ * @public
2223
+ */
2224
+ WAITING_2 = "waiting";
2225
+
2226
+ /* Excluded from this release type: WEBKIT_NEEDKEY */
2227
+
2228
+ declare const WILL_PAUSE = "will-pause";
2229
+
2230
+ declare const WILL_PLAY = "will-play";
2231
+
2232
+ declare const WILL_SEEK = "will-seek";
2233
+
2234
+ export { }