@vindral/web-sdk 4.1.10 → 4.2.0-10-g4d54d36c
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.
- package/B4Xt-UHG.js +13 -0
- package/B5bZayjf.js +208 -0
- package/B7hT-BKr.js +32 -0
- package/BQPePwt2.js +268 -0
- package/BdFcdkj1.js +143 -0
- package/Bm-cshdP.js +146 -0
- package/BsfwXDui.js +65 -0
- package/Bt-ONXfO.js +59 -0
- package/C01DcfYu.js +118 -0
- package/Ca_SaIRU.js +11168 -0
- package/D2u3dh0E.js +166 -0
- package/DAUPyLMi.js +1761 -0
- package/Ddby8xU_.js +18624 -0
- package/FYiEDBC4.js +50 -0
- package/RV4C9s9Z.js +4361 -0
- package/RxoWWyzp.js +25 -0
- package/api-client.d.ts +41 -42
- package/api-client.js +2 -4
- package/cast-sender.d.ts +37 -43
- package/cast-sender.js +2 -230
- package/core.d.ts +157 -94
- package/core.js +3 -13
- package/legacy.d.ts +157 -94
- package/legacy.es.js +13306 -14239
- package/legacy.umd.js +1147 -15
- package/package.json +1 -1
- package/player.d.ts +151 -91
- package/player.js +4 -5466
- package/react.d.ts +143 -91
- package/react.js +0 -1
- package/vindral-player-component.js +5 -2
- package/wVqDCoXH.js +223 -0
- package/BJjv9_f9.js +0 -312
- package/BWE6d-4K.js +0 -12437
- package/C8BeO5Y9.js +0 -117
- package/CPEMXA01.js +0 -254
- package/h5LA1Y1W.js +0 -21750
- package/uEFjK_x4.js +0 -52
package/package.json
CHANGED
package/player.d.ts
CHANGED
|
@@ -63,6 +63,10 @@ declare class Emitter<TEvents, TEmits = TEvents, ArgLessEvents extends VoidKeys<
|
|
|
63
63
|
*/
|
|
64
64
|
once<T extends ArgLessEvents>(eventName: T, fn: () => void): void;
|
|
65
65
|
once<T extends ArgEvents>(eventName: T, fn: (args: TEvents[T]) => void): void;
|
|
66
|
+
/**
|
|
67
|
+
* Check whether there are any listeners registered for the given event.
|
|
68
|
+
*/
|
|
69
|
+
hasListeners<T extends keyof TEvents | keyof TEmits>(eventName: T): boolean;
|
|
66
70
|
/**
|
|
67
71
|
* Reset the event emitter
|
|
68
72
|
*/
|
|
@@ -135,72 +139,13 @@ interface ReconnectState {
|
|
|
135
139
|
*/
|
|
136
140
|
reconnectRetries: number;
|
|
137
141
|
}
|
|
138
|
-
interface RenditionProps {
|
|
139
|
-
id: number;
|
|
140
|
-
/** */
|
|
141
|
-
bitRate: number;
|
|
142
|
-
/** */
|
|
143
|
-
codecString?: string;
|
|
144
|
-
/** */
|
|
145
|
-
language?: string;
|
|
146
|
-
/** */
|
|
147
|
-
meta?: Record<string, string>;
|
|
148
|
-
}
|
|
149
|
-
interface VideoRenditionProps {
|
|
150
|
-
/** */
|
|
151
|
-
codec: VideoCodec;
|
|
152
|
-
/** */
|
|
153
|
-
frameRate: [
|
|
154
|
-
number,
|
|
155
|
-
number
|
|
156
|
-
];
|
|
157
|
-
/** */
|
|
158
|
-
width: number;
|
|
159
|
-
/** */
|
|
160
|
-
height: number;
|
|
161
|
-
}
|
|
162
|
-
interface AudioRenditionProps {
|
|
163
|
-
/** */
|
|
164
|
-
codec: AudioCodec;
|
|
165
|
-
/** */
|
|
166
|
-
channels: number;
|
|
167
|
-
/** */
|
|
168
|
-
sampleRate: number;
|
|
169
|
-
}
|
|
170
|
-
interface TextRenditionProps {
|
|
171
|
-
codec: "webvtt";
|
|
172
|
-
kind: "subtitles" | "captions";
|
|
173
|
-
label?: string;
|
|
174
|
-
}
|
|
175
|
-
type VideoRendition = VideoRenditionProps & RenditionProps;
|
|
176
|
-
type AudioRendition = AudioRenditionProps & RenditionProps;
|
|
177
|
-
type TextRendition = TextRenditionProps & RenditionProps;
|
|
178
|
-
type Rendition = VideoRendition | AudioRendition | TextRendition;
|
|
179
142
|
interface Size {
|
|
180
143
|
/** */
|
|
181
144
|
width: number;
|
|
182
145
|
/** */
|
|
183
146
|
height: number;
|
|
184
147
|
}
|
|
185
|
-
interface VideoConstraint {
|
|
186
|
-
/** */
|
|
187
|
-
width: number;
|
|
188
|
-
/** */
|
|
189
|
-
height: number;
|
|
190
|
-
/** */
|
|
191
|
-
bitRate: number;
|
|
192
|
-
/** */
|
|
193
|
-
codec?: VideoCodec;
|
|
194
|
-
/** */
|
|
195
|
-
codecString?: string;
|
|
196
|
-
}
|
|
197
148
|
interface AdvancedOptions {
|
|
198
|
-
/**
|
|
199
|
-
* Constrains wasm decoding to this resolution.
|
|
200
|
-
* By default it is set to 1280 in width and height.
|
|
201
|
-
* This guarantees better performance on older devices and reduces battery drain in general.
|
|
202
|
-
*/
|
|
203
|
-
wasmDecodingConstraint: Partial<VideoConstraint>;
|
|
204
149
|
}
|
|
205
150
|
interface DrmOptions {
|
|
206
151
|
/**
|
|
@@ -228,6 +173,7 @@ interface DrmOptions {
|
|
|
228
173
|
}
|
|
229
174
|
type Media = "audio" | "video" | "audio+video";
|
|
230
175
|
type WebCodecsHardwareAccelerationPreference = "no-preference" | "prefer-hardware" | "prefer-software";
|
|
176
|
+
type DecoderType = "mse" | "webcodecs" | "wasm";
|
|
231
177
|
interface Options {
|
|
232
178
|
/**
|
|
233
179
|
* URL to use when connecting to the stream
|
|
@@ -294,11 +240,9 @@ interface Options {
|
|
|
294
240
|
*/
|
|
295
241
|
burstEnabled?: boolean;
|
|
296
242
|
/**
|
|
297
|
-
*
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
301
|
-
* Note: We recommend to keep this at the default value unless you have very specific needs.
|
|
243
|
+
* @deprecated Use `decoders` instead.
|
|
244
|
+
* Setting `mseEnabled: false` is equivalent to `decoders: ["wasm"]`.
|
|
245
|
+
* When both `mseEnabled` and `decoders` are provided, `decoders` takes precedence.
|
|
302
246
|
*/
|
|
303
247
|
mseEnabled?: boolean;
|
|
304
248
|
/**
|
|
@@ -415,7 +359,7 @@ interface Options {
|
|
|
415
359
|
* The wake lock requires that the audio has been activated at least once for the instance, othwerwise it will not work.
|
|
416
360
|
* Other devices already provide wake lock by default.
|
|
417
361
|
*
|
|
418
|
-
* This option is redundant and has no effect if
|
|
362
|
+
* This option is redundant and has no effect if streamToMediaElementEnabled is enabled since that automatically enables wake lock.
|
|
419
363
|
*
|
|
420
364
|
* Disabled by default.
|
|
421
365
|
*/
|
|
@@ -425,26 +369,20 @@ interface Options {
|
|
|
425
369
|
*/
|
|
426
370
|
pauseSupportEnabled?: boolean;
|
|
427
371
|
/**
|
|
428
|
-
*
|
|
429
|
-
*/
|
|
430
|
-
iosMediaElementEnabled?: boolean;
|
|
431
|
-
/**
|
|
432
|
-
* Enable WebCodecs API for hardware-accelerated decoding.
|
|
372
|
+
* Stream canvas-rendered video/audio to a media element via captureStream.
|
|
433
373
|
*
|
|
434
|
-
*
|
|
435
|
-
*
|
|
436
|
-
* - Hardware-accelerated decoding (uses GPU for video)
|
|
437
|
-
* - Better performance at higher resolutions
|
|
438
|
-
* - Lower CPU usage and battery consumption
|
|
374
|
+
* This enables platform media features such as fullscreen and picture-in-picture
|
|
375
|
+
* for non-MSE playback by routing the canvas output through a `<video>` element.
|
|
439
376
|
*
|
|
440
|
-
* Disabled by default
|
|
377
|
+
* Disabled by default.
|
|
378
|
+
*/
|
|
379
|
+
streamToMediaElementEnabled?: boolean;
|
|
380
|
+
/**
|
|
381
|
+
* @deprecated Use `streamToMediaElementEnabled` instead.
|
|
441
382
|
*
|
|
442
|
-
*
|
|
443
|
-
* - The browser doesn't support WebCodecs
|
|
444
|
-
* - WebCodecs initialization fails
|
|
445
|
-
* - This option is set to false or undefined
|
|
383
|
+
* Legacy alias kept for backwards compatibility.
|
|
446
384
|
*/
|
|
447
|
-
|
|
385
|
+
iosMediaElementEnabled?: boolean;
|
|
448
386
|
/**
|
|
449
387
|
* Hardware acceleration preference for WebCodecs video decoding.
|
|
450
388
|
*
|
|
@@ -452,14 +390,29 @@ interface Options {
|
|
|
452
390
|
*/
|
|
453
391
|
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
454
392
|
/**
|
|
455
|
-
* Enable OffscreenCanvas rendering in worker thread
|
|
393
|
+
* Enable OffscreenCanvas rendering in worker thread.
|
|
456
394
|
*
|
|
457
395
|
* When enabled, video rendering happens in the worker thread using OffscreenCanvas.
|
|
458
|
-
*
|
|
396
|
+
* Automatically enabled when `decoders` resolves to WebCodecs. Set to `false`
|
|
397
|
+
* to explicitly disable even when WebCodecs is active.
|
|
459
398
|
*
|
|
460
|
-
*
|
|
399
|
+
* Requires browser support for OffscreenCanvas and WebCodecs.
|
|
400
|
+
* Works with `streamToMediaElementEnabled` for fullscreen/PiP support.
|
|
461
401
|
*/
|
|
462
402
|
offscreenCanvasEnabled?: boolean;
|
|
403
|
+
/**
|
|
404
|
+
* Ordered list of decoders to try.
|
|
405
|
+
*
|
|
406
|
+
* The runtime walks the list and uses the first decoder that is available on the
|
|
407
|
+
* current platform. When DRM is active, MSE is forced regardless of order.
|
|
408
|
+
*
|
|
409
|
+
* When omitted, the platform default order is used (`["mse", "wasm"]`).
|
|
410
|
+
*
|
|
411
|
+
* @example
|
|
412
|
+
* // Prefer WebCodecs over MSE
|
|
413
|
+
* decoders: ["webcodecs", "mse", "wasm"]
|
|
414
|
+
*/
|
|
415
|
+
decoders?: DecoderType[];
|
|
463
416
|
/**
|
|
464
417
|
* Advanced options to override default behaviour.
|
|
465
418
|
*/
|
|
@@ -478,7 +431,6 @@ interface ClientOverrides {
|
|
|
478
431
|
burstEnabled?: boolean;
|
|
479
432
|
sizeBasedResolutionCapEnabled?: boolean;
|
|
480
433
|
separateVideoSocketEnabled?: boolean;
|
|
481
|
-
webcodecsEnabled?: boolean;
|
|
482
434
|
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
483
435
|
offscreenCanvasEnabled?: boolean;
|
|
484
436
|
videoCodecs?: string[];
|
|
@@ -522,6 +474,47 @@ interface TracksCatalog extends CatalogRoot {
|
|
|
522
474
|
namespace: Namespace;
|
|
523
475
|
tracks: Array<TrackObject>;
|
|
524
476
|
}
|
|
477
|
+
interface RenditionProps {
|
|
478
|
+
id: number;
|
|
479
|
+
/** */
|
|
480
|
+
bitRate: number;
|
|
481
|
+
/** */
|
|
482
|
+
codecString?: string;
|
|
483
|
+
/** */
|
|
484
|
+
language?: string;
|
|
485
|
+
/** */
|
|
486
|
+
meta?: Record<string, string>;
|
|
487
|
+
}
|
|
488
|
+
interface VideoRenditionProps {
|
|
489
|
+
/** */
|
|
490
|
+
codec: VideoCodec;
|
|
491
|
+
/** */
|
|
492
|
+
frameRate: [
|
|
493
|
+
number,
|
|
494
|
+
number
|
|
495
|
+
];
|
|
496
|
+
/** */
|
|
497
|
+
width: number;
|
|
498
|
+
/** */
|
|
499
|
+
height: number;
|
|
500
|
+
}
|
|
501
|
+
interface AudioRenditionProps {
|
|
502
|
+
/** */
|
|
503
|
+
codec: AudioCodec;
|
|
504
|
+
/** */
|
|
505
|
+
channels: number;
|
|
506
|
+
/** */
|
|
507
|
+
sampleRate: number;
|
|
508
|
+
}
|
|
509
|
+
interface TextRenditionProps {
|
|
510
|
+
codec: "webvtt";
|
|
511
|
+
kind: "subtitles" | "captions";
|
|
512
|
+
label?: string;
|
|
513
|
+
}
|
|
514
|
+
type VideoRendition = VideoRenditionProps & RenditionProps;
|
|
515
|
+
type AudioRendition = AudioRenditionProps & RenditionProps;
|
|
516
|
+
type TextRendition = TextRenditionProps & RenditionProps;
|
|
517
|
+
type Rendition = VideoRendition | AudioRendition | TextRendition;
|
|
525
518
|
interface Telemetry {
|
|
526
519
|
url: string;
|
|
527
520
|
probability?: number;
|
|
@@ -785,6 +778,13 @@ interface DecoderStatistics {
|
|
|
785
778
|
videoDecodeTime: MinMaxAverage;
|
|
786
779
|
audioDecodeTime: MinMaxAverage;
|
|
787
780
|
videoTransportTime: MinMaxAverage;
|
|
781
|
+
videoKeyframeIntervalMs?: number;
|
|
782
|
+
renderedFrameCount?: number;
|
|
783
|
+
rendererDroppedFrameCount?: number;
|
|
784
|
+
videoRenderer?: "OffscreenCanvas" | "Canvas" | "MSE";
|
|
785
|
+
videoDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
786
|
+
audioRenderer?: "AudioContext" | "MSE";
|
|
787
|
+
audioDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
788
788
|
}
|
|
789
789
|
interface DocumentStateModulesStatistics {
|
|
790
790
|
isVisible: boolean;
|
|
@@ -834,6 +834,11 @@ interface MseModuleStatistics {
|
|
|
834
834
|
droppedVideoFrames?: number;
|
|
835
835
|
successfulVideoAppendCalls?: number;
|
|
836
836
|
successfulAudioAppendsCalls?: number;
|
|
837
|
+
videoKeyframeIntervalMs?: number;
|
|
838
|
+
videoRenderer?: "OffscreenCanvas" | "Canvas" | "MSE";
|
|
839
|
+
videoDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
840
|
+
audioRenderer?: "AudioContext" | "MSE";
|
|
841
|
+
audioDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
837
842
|
}
|
|
838
843
|
interface QualityOfServiceModuleStatistics {
|
|
839
844
|
/**
|
|
@@ -914,8 +919,6 @@ interface SyncModuleStatistics {
|
|
|
914
919
|
interface VideoPlayerStatistics {
|
|
915
920
|
renderedFrameCount: number;
|
|
916
921
|
rendererDroppedFrameCount: number;
|
|
917
|
-
contextLostCount: number;
|
|
918
|
-
contextRestoredCount: number;
|
|
919
922
|
}
|
|
920
923
|
type ModuleStatistics = AdaptivityStatistics & BufferTimeStatistics & ConnectionStatistics & ConstraintCapStatistics & DecoderStatistics & DocumentStateModulesStatistics & IncomingDataModuleStatistics & JitterModuleStatistics & MseModuleStatistics & PlaybackModuleStatistics & QualityOfServiceModuleStatistics & RenditionsModuleStatistics & SyncModuleStatistics & TelemetryModuleStatistics & VideoPlayerStatistics;
|
|
921
924
|
type Statistics = ModuleStatistics & ReturnType<UserAgentInformation["getUserAgentInformation"]> & {
|
|
@@ -958,6 +961,8 @@ type Statistics = ModuleStatistics & ReturnType<UserAgentInformation["getUserAge
|
|
|
958
961
|
* Note that an actual frame render often happens much quicker, but that is not counted as TTFF.
|
|
959
962
|
*/
|
|
960
963
|
timeToFirstFrame?: number;
|
|
964
|
+
streamToMediaElementEnabled?: boolean;
|
|
965
|
+
/** @deprecated */
|
|
961
966
|
iosMediaElementEnabled?: boolean;
|
|
962
967
|
/**
|
|
963
968
|
* Average bitrate for the entire session in bits/second.
|
|
@@ -1024,6 +1029,8 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1024
1029
|
private clientId;
|
|
1025
1030
|
private _channels;
|
|
1026
1031
|
private createdAt;
|
|
1032
|
+
private offscreenCanvasElement?;
|
|
1033
|
+
private webCodecsRenditionSupport;
|
|
1027
1034
|
private hasCalledConnect;
|
|
1028
1035
|
private latestEmittedLanguages;
|
|
1029
1036
|
private wakeLock;
|
|
@@ -1034,6 +1041,7 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1034
1041
|
private sizes;
|
|
1035
1042
|
private isSuspended;
|
|
1036
1043
|
private disconnectTimeout;
|
|
1044
|
+
private offscreenSubtitleInterval?;
|
|
1037
1045
|
constructor(options: Options);
|
|
1038
1046
|
/**
|
|
1039
1047
|
* Attaches the video view to a DOM element. The Vindral video view will be sized to fill this element while
|
|
@@ -1042,6 +1050,7 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1042
1050
|
* @returns
|
|
1043
1051
|
*/
|
|
1044
1052
|
attach: (container: HTMLElement) => void;
|
|
1053
|
+
private setElement;
|
|
1045
1054
|
/**
|
|
1046
1055
|
* Set the current volume.
|
|
1047
1056
|
* Setting this to 0 is not equivalent to muting the audio.
|
|
@@ -1152,6 +1161,14 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1152
1161
|
* setting targetBufferTime within that range for consistancy if using both min/max.
|
|
1153
1162
|
*/
|
|
1154
1163
|
set targetBufferTime(bufferTimeMs: number);
|
|
1164
|
+
/**
|
|
1165
|
+
* Update the dynamic buffer time configuration at runtime.
|
|
1166
|
+
* Allows adjusting min and max buffer time without recreating the Vindral instance.
|
|
1167
|
+
*/
|
|
1168
|
+
updateBufferTimeConfig(config: {
|
|
1169
|
+
minBufferTime?: number;
|
|
1170
|
+
maxBufferTime?: number;
|
|
1171
|
+
}): void;
|
|
1155
1172
|
/**
|
|
1156
1173
|
* The estimated playback latency based on target buffer time, the connection rtt and local playback drift
|
|
1157
1174
|
*/
|
|
@@ -1262,6 +1279,10 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1262
1279
|
* The ranges are specified in milliseconds.
|
|
1263
1280
|
*/
|
|
1264
1281
|
get audioBufferedRanges(): ReadonlyArray<TimeRange>;
|
|
1282
|
+
/**
|
|
1283
|
+
* The timestamps (in milliseconds) of video keyframes currently in the buffer.
|
|
1284
|
+
*/
|
|
1285
|
+
get videoKeyframeTimestamps(): ReadonlyArray<number>;
|
|
1265
1286
|
/**
|
|
1266
1287
|
* The API client for calls to the public available endpoints of the Vindral Live CDN.
|
|
1267
1288
|
*/
|
|
@@ -1321,9 +1342,16 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1321
1342
|
private isSupportedVideoCodecProfile;
|
|
1322
1343
|
private supportedAudioCodecs;
|
|
1323
1344
|
private initializeDecodingModule;
|
|
1345
|
+
/**
|
|
1346
|
+
* Set up a polling interval that forwards subtitle cues to the decoder worker
|
|
1347
|
+
* when OffscreenCanvas rendering is active. This is needed because the canvas modules'
|
|
1348
|
+
* own subtitle intervals either get killed (LegacyCanvasModule) or don't have the
|
|
1349
|
+
* OffscreenCanvas reference at construction time (ModernCanvasModule).
|
|
1350
|
+
*/
|
|
1351
|
+
private setupOffscreenSubtitleRouting;
|
|
1324
1352
|
/**
|
|
1325
1353
|
* Fully unloads the instance. This disconnects the clients and stops any background tasks.
|
|
1326
|
-
* This client instance
|
|
1354
|
+
* This client instance cannot be used after this has been called.
|
|
1327
1355
|
*/
|
|
1328
1356
|
unload: () => Promise<void>;
|
|
1329
1357
|
/**
|
|
@@ -1387,7 +1415,17 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1387
1415
|
private get currentSubscription();
|
|
1388
1416
|
private get targetSubscription();
|
|
1389
1417
|
private timeToFirstFrame;
|
|
1418
|
+
private resolvedDecoder;
|
|
1390
1419
|
private willUseMediaSource;
|
|
1420
|
+
private shouldUseWebCodecs;
|
|
1421
|
+
private isWebCodecsVideoAvailable;
|
|
1422
|
+
private isWebCodecsAudioAvailable;
|
|
1423
|
+
/**
|
|
1424
|
+
* Returns true if OffscreenCanvas should be used.
|
|
1425
|
+
* Implicitly enabled when the resolved decoder is WebCodecs, since OffscreenCanvas
|
|
1426
|
+
* is the optimal rendering path for WebCodecs (worker renders VideoFrames directly).
|
|
1427
|
+
*/
|
|
1428
|
+
private shouldUseOffscreenCanvas;
|
|
1391
1429
|
}
|
|
1392
1430
|
interface TelemetryModuleStatistics {
|
|
1393
1431
|
/**
|
|
@@ -1451,6 +1489,12 @@ interface TimeShiftInfo {
|
|
|
1451
1489
|
urls: string[];
|
|
1452
1490
|
duration: string;
|
|
1453
1491
|
}
|
|
1492
|
+
interface CmafFragmentEvent {
|
|
1493
|
+
mediaType: "video" | "audio";
|
|
1494
|
+
initSegment: Readonly<Uint8Array<ArrayBuffer>>;
|
|
1495
|
+
fragment: Readonly<Uint8Array<ArrayBuffer>>;
|
|
1496
|
+
isKeyframe: boolean;
|
|
1497
|
+
}
|
|
1454
1498
|
interface PublicVindralEvents {
|
|
1455
1499
|
/**
|
|
1456
1500
|
* When an error that requires action has occured
|
|
@@ -1551,6 +1595,13 @@ interface PublicVindralEvents {
|
|
|
1551
1595
|
* Emitted when the timeshift URLs are updated.
|
|
1552
1596
|
*/
|
|
1553
1597
|
["timeshift info"]: Readonly<TimeShiftInfo>;
|
|
1598
|
+
/**
|
|
1599
|
+
* Emitted for each CMAF fragment received via the MoQ/VoQ path.
|
|
1600
|
+
* Contains raw fMP4 bytes suitable for recording.
|
|
1601
|
+
*
|
|
1602
|
+
* @internal Not part of the public API — may change without notice.
|
|
1603
|
+
*/
|
|
1604
|
+
["cmaf fragment"]: Readonly<CmafFragmentEvent>;
|
|
1554
1605
|
["buffer state event"]: Readonly<BufferStateEvent>;
|
|
1555
1606
|
["initialized media"]: void;
|
|
1556
1607
|
}
|
|
@@ -1787,7 +1838,7 @@ type ControllerAttributes = (typeof Controller.observedAttributes)[number];
|
|
|
1787
1838
|
export declare class Controller extends HTMLElement {
|
|
1788
1839
|
#private;
|
|
1789
1840
|
static observedAttributes: readonly [
|
|
1790
|
-
...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src")[],
|
|
1841
|
+
...("language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state")[],
|
|
1791
1842
|
"url",
|
|
1792
1843
|
"edge-url",
|
|
1793
1844
|
"target-buffer-time",
|
|
@@ -1804,6 +1855,7 @@ export declare class Controller extends HTMLElement {
|
|
|
1804
1855
|
"mse-opus-enabled",
|
|
1805
1856
|
"ios-background-play-enabled",
|
|
1806
1857
|
"ios-wake-lock-enabled",
|
|
1858
|
+
"stream-to-media-element-enabled",
|
|
1807
1859
|
"ios-media-element-enabled",
|
|
1808
1860
|
"abr-enabled",
|
|
1809
1861
|
"size-based-resolution-cap-enabled",
|
|
@@ -1818,8 +1870,8 @@ export declare class Controller extends HTMLElement {
|
|
|
1818
1870
|
"drm-playready-video-robustness",
|
|
1819
1871
|
"drm-playready-audio-robustness",
|
|
1820
1872
|
"webtransport-enabled",
|
|
1821
|
-
"webcodecs-enabled",
|
|
1822
1873
|
"webcodecs-hardware-acceleration",
|
|
1874
|
+
"decoders",
|
|
1823
1875
|
"offscreen-canvas-enabled",
|
|
1824
1876
|
"reconnect-retries",
|
|
1825
1877
|
"auto-instance-enabled",
|
|
@@ -1908,7 +1960,7 @@ export declare class PlayButton extends VindralButton {
|
|
|
1908
1960
|
*/
|
|
1909
1961
|
export declare class Player extends HTMLElement {
|
|
1910
1962
|
#private;
|
|
1911
|
-
static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "
|
|
1963
|
+
static observedAttributes: readonly ("title" | "offline" | "advanced" | "poster" | "language" | "channels" | "buffering" | "paused" | "volume" | "muted" | "duration" | "user-interacting" | "is-casting" | "cast-available" | "cast-receiver-name" | "ui-locked" | "hide-ui-on-pause" | "is-fullscreen" | "is-fullscreen-fallback" | "rendition-levels" | "rendition-level" | "max-video-bit-rate" | "max-initial-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled" | "channel-id" | "channel-group-id" | "pip-available" | "is-pip" | "airplay-available" | "is-airplaying" | "media" | "languages" | "text-tracks" | "text-track" | "needs-user-input-video" | "needs-user-input-audio" | "authentication-token" | "volume-level" | "cast" | "airplay" | "pip" | "fullscreen" | "vu-meter" | "timeshift" | "timeshift-position" | "poster-src" | "debug-panel-open" | "target-buffer-time" | "drift" | "playback-latency" | "connection-state" | "url" | "decoders" | "min-buffer-time" | "max-buffer-time" | "edge-url" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-enabled" | "stream-to-media-element-enabled" | "ios-media-element-enabled" | "telemetry-enabled" | "video-codecs" | "drm-headers" | "drm-queryparams" | "drm-widevine-video-robustness" | "drm-widevine-audio-robustness" | "drm-playready-video-robustness" | "drm-playready-audio-robustness" | "webtransport-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
|
|
1912
1964
|
constructor();
|
|
1913
1965
|
connectedCallback(): void;
|
|
1914
1966
|
disconnectedCallback(): void;
|
|
@@ -2025,6 +2077,14 @@ export declare class VolumeRange extends VindralRange {
|
|
|
2025
2077
|
* Register custom elements for the Vindral player
|
|
2026
2078
|
*/
|
|
2027
2079
|
export declare function registerComponents(): void;
|
|
2080
|
+
/**
|
|
2081
|
+
* Register debug custom elements for the Vindral player.
|
|
2082
|
+
*
|
|
2083
|
+
* Call this in addition to `registerComponents()` to enable the debug button and panel.
|
|
2084
|
+
* Without calling this, `<vindral-debug-button>` and `<vindral-debug-panel>` remain
|
|
2085
|
+
* inert and the debug code is tree-shaken from the bundle.
|
|
2086
|
+
*/
|
|
2087
|
+
export declare function registerDebugComponents(): void;
|
|
2028
2088
|
/**
|
|
2029
2089
|
* @ignore
|
|
2030
2090
|
*/
|