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