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