@vindral/web-sdk 4.1.9 → 4.1.10-10-gbe1df6a0
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/{CX6N3uJK.js → Bv6UPNZO.js} +3260 -3080
- package/{D7TmsvJG.js → CKaY7eDZ.js} +1 -1
- package/{P1jYqh_I.js → Cu1dubxT.js} +1 -1
- package/api-client.d.ts +53 -49
- package/cast-sender.d.ts +44 -11
- package/cast-sender.js +1 -1
- package/core.d.ts +201 -159
- package/core.js +1 -1
- package/legacy.d.ts +201 -159
- package/legacy.es.js +4136 -3938
- package/legacy.umd.js +9 -9
- package/package.json +1 -1
- package/player.d.ts +233 -166
- package/player.js +2191 -1628
- package/react.d.ts +235 -166
- package/uEFjK_x4.js +52 -0
- package/Bx7s5QdT.js +0 -35
package/react.d.ts
CHANGED
|
@@ -22,17 +22,6 @@ interface Channel {
|
|
|
22
22
|
*/
|
|
23
23
|
timeshiftUrls?: string[];
|
|
24
24
|
}
|
|
25
|
-
interface ClientOverrides {
|
|
26
|
-
maxVideoBitRate?: number;
|
|
27
|
-
minBufferTime?: number;
|
|
28
|
-
maxBufferTime?: number;
|
|
29
|
-
burstEnabled?: boolean;
|
|
30
|
-
sizeBasedResolutionCapEnabled?: boolean;
|
|
31
|
-
separateVideoSocketEnabled?: boolean;
|
|
32
|
-
videoCodecs?: string[];
|
|
33
|
-
}
|
|
34
|
-
type AudioCodec = "aac" | "opus" | "mp3";
|
|
35
|
-
type VideoCodec = "h264" | "av1";
|
|
36
25
|
interface MinMaxAverage {
|
|
37
26
|
last: number;
|
|
38
27
|
/**
|
|
@@ -105,44 +94,48 @@ type Tagged<BaseType, Tag extends PropertyKey> = BaseType & {
|
|
|
105
94
|
[K in Tag]: void;
|
|
106
95
|
};
|
|
107
96
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
version: number;
|
|
140
|
-
streamingFormat?: number;
|
|
141
|
-
streamingFormatVersion?: string;
|
|
97
|
+
declare class UserAgentInformation {
|
|
98
|
+
private highEntropyValues?;
|
|
99
|
+
constructor();
|
|
100
|
+
getUserAgentInformation(): {
|
|
101
|
+
locationOrigin: string;
|
|
102
|
+
locationPath: string;
|
|
103
|
+
ancestorOrigins: string[] | undefined;
|
|
104
|
+
hardwareConcurrency: number;
|
|
105
|
+
deviceMemory: number | undefined;
|
|
106
|
+
userAgentLegacy: string;
|
|
107
|
+
ua: {
|
|
108
|
+
browser: {
|
|
109
|
+
brands: string[];
|
|
110
|
+
fullVersionBrands: string[];
|
|
111
|
+
majorVersions: string[];
|
|
112
|
+
};
|
|
113
|
+
device: string;
|
|
114
|
+
os: {
|
|
115
|
+
family: string;
|
|
116
|
+
version: string;
|
|
117
|
+
major_version: number;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
} | {
|
|
121
|
+
locationOrigin: string;
|
|
122
|
+
locationPath: string;
|
|
123
|
+
ancestorOrigins: string[] | undefined;
|
|
124
|
+
hardwareConcurrency: number;
|
|
125
|
+
deviceMemory: number | undefined;
|
|
126
|
+
userAgent: string;
|
|
127
|
+
};
|
|
142
128
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
129
|
+
type AudioCodec = "aac" | "opus" | "mp3";
|
|
130
|
+
type VideoCodec = "h264" | "av1";
|
|
131
|
+
interface ReconnectState {
|
|
132
|
+
/**
|
|
133
|
+
* The number or retry attempts so far.
|
|
134
|
+
* This gets reset on every successful connect, so it will start from zero every
|
|
135
|
+
* time the client instance gets disconnected and will increment until the
|
|
136
|
+
* client instance makes a connection attempt is successful.
|
|
137
|
+
*/
|
|
138
|
+
reconnectRetries: number;
|
|
146
139
|
}
|
|
147
140
|
interface RenditionProps {
|
|
148
141
|
id: number;
|
|
@@ -185,78 +178,6 @@ type VideoRendition = VideoRenditionProps & RenditionProps;
|
|
|
185
178
|
type AudioRendition = AudioRenditionProps & RenditionProps;
|
|
186
179
|
type TextRendition = TextRenditionProps & RenditionProps;
|
|
187
180
|
type Rendition = VideoRendition | AudioRendition | TextRendition;
|
|
188
|
-
interface Telemetry {
|
|
189
|
-
url: string;
|
|
190
|
-
probability?: number;
|
|
191
|
-
includeErrors?: boolean;
|
|
192
|
-
includeEvents?: boolean;
|
|
193
|
-
includeStats?: boolean;
|
|
194
|
-
maxRetries?: number;
|
|
195
|
-
maxErrorReports?: number;
|
|
196
|
-
interval?: number;
|
|
197
|
-
}
|
|
198
|
-
interface ChannelWithCatalog extends Channel {
|
|
199
|
-
catalog: TracksCatalog;
|
|
200
|
-
renditions: Rendition[];
|
|
201
|
-
overrides?: ClientOverrides;
|
|
202
|
-
}
|
|
203
|
-
interface ChannelWithRenditions extends Channel {
|
|
204
|
-
renditions: Rendition[];
|
|
205
|
-
overrides?: ClientOverrides;
|
|
206
|
-
}
|
|
207
|
-
interface ServerCertificateHash {
|
|
208
|
-
algorithm: string;
|
|
209
|
-
value: string;
|
|
210
|
-
}
|
|
211
|
-
interface Edge {
|
|
212
|
-
moqUrl?: string;
|
|
213
|
-
moqWsUrl: string;
|
|
214
|
-
serverCertificateHashes?: ServerCertificateHash[];
|
|
215
|
-
}
|
|
216
|
-
interface MoQConnectInfo {
|
|
217
|
-
logsUrl?: string;
|
|
218
|
-
statsUrl?: string;
|
|
219
|
-
telemetry?: Telemetry;
|
|
220
|
-
channels: ChannelWithCatalog[];
|
|
221
|
-
edges: Edge[];
|
|
222
|
-
timeshift: {
|
|
223
|
-
urls: string[];
|
|
224
|
-
duration: string;
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
interface VindralConnectInfo {
|
|
228
|
-
logsUrl?: string;
|
|
229
|
-
statsUrl?: string;
|
|
230
|
-
telemetry?: Telemetry;
|
|
231
|
-
channels: ChannelWithRenditions[];
|
|
232
|
-
edges: string[];
|
|
233
|
-
}
|
|
234
|
-
type ConnectInfo = VindralConnectInfo | MoQConnectInfo;
|
|
235
|
-
interface Metadata {
|
|
236
|
-
/**
|
|
237
|
-
* The raw string content as it was ingested (if using JSON, it needs to be parsed on your end)
|
|
238
|
-
*/
|
|
239
|
-
content: string;
|
|
240
|
-
/**
|
|
241
|
-
* Timestamp in ms
|
|
242
|
-
*/
|
|
243
|
-
timestamp: number;
|
|
244
|
-
}
|
|
245
|
-
interface TimeRange {
|
|
246
|
-
/** */
|
|
247
|
-
start: number;
|
|
248
|
-
/** */
|
|
249
|
-
end: number;
|
|
250
|
-
}
|
|
251
|
-
interface ReconnectState {
|
|
252
|
-
/**
|
|
253
|
-
* The number or retry attempts so far.
|
|
254
|
-
* This gets reset on every successful connect, so it will start from zero every
|
|
255
|
-
* time the client instance gets disconnected and will increment until the
|
|
256
|
-
* client instance makes a connection attempt is successful.
|
|
257
|
-
*/
|
|
258
|
-
reconnectRetries: number;
|
|
259
|
-
}
|
|
260
181
|
interface Size {
|
|
261
182
|
/** */
|
|
262
183
|
width: number;
|
|
@@ -308,6 +229,7 @@ interface DrmOptions {
|
|
|
308
229
|
};
|
|
309
230
|
}
|
|
310
231
|
type Media = "audio" | "video" | "audio+video";
|
|
232
|
+
type WebCodecsHardwareAccelerationPreference = "no-preference" | "prefer-hardware" | "prefer-software";
|
|
311
233
|
interface Options {
|
|
312
234
|
/**
|
|
313
235
|
* URL to use when connecting to the stream
|
|
@@ -508,6 +430,38 @@ interface Options {
|
|
|
508
430
|
* Enables iOS devices to use a media element for playback. This enables fullscreen and picture in picture support on iOS.
|
|
509
431
|
*/
|
|
510
432
|
iosMediaElementEnabled?: boolean;
|
|
433
|
+
/**
|
|
434
|
+
* Enable WebCodecs API for hardware-accelerated decoding.
|
|
435
|
+
*
|
|
436
|
+
* When enabled, the browser's native VideoDecoder and AudioDecoder APIs will be used instead
|
|
437
|
+
* of WASM decoding on supported browsers (Chrome 94+, Edge 94+, Safari 16.4+). This provides:
|
|
438
|
+
* - Hardware-accelerated decoding (uses GPU for video)
|
|
439
|
+
* - Better performance at higher resolutions
|
|
440
|
+
* - Lower CPU usage and battery consumption
|
|
441
|
+
*
|
|
442
|
+
* Disabled by default to allow gradual rollout and testing.
|
|
443
|
+
*
|
|
444
|
+
* Note: Automatically falls back to WASM decoding if:
|
|
445
|
+
* - The browser doesn't support WebCodecs
|
|
446
|
+
* - WebCodecs initialization fails
|
|
447
|
+
* - This option is set to false or undefined
|
|
448
|
+
*/
|
|
449
|
+
webcodecsEnabled?: boolean;
|
|
450
|
+
/**
|
|
451
|
+
* Hardware acceleration preference for WebCodecs video decoding.
|
|
452
|
+
*
|
|
453
|
+
* Defaults to `"no-preference"`.
|
|
454
|
+
*/
|
|
455
|
+
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
456
|
+
/**
|
|
457
|
+
* Enable OffscreenCanvas rendering in worker thread (requires webcodecsEnabled: true).
|
|
458
|
+
*
|
|
459
|
+
* When enabled, video rendering happens in the worker thread using OffscreenCanvas.
|
|
460
|
+
* Disabled by default to allow gradual rollout and testing.
|
|
461
|
+
*
|
|
462
|
+
* Note: Requires browser support for OffscreenCanvas and webcodecsEnabled must be true, and iosMediaElementEnabled must be false.
|
|
463
|
+
*/
|
|
464
|
+
offscreenCanvasEnabled?: boolean;
|
|
511
465
|
/**
|
|
512
466
|
* Advanced options to override default behaviour.
|
|
513
467
|
*/
|
|
@@ -519,6 +473,120 @@ interface Options {
|
|
|
519
473
|
*/
|
|
520
474
|
drm?: DrmOptions;
|
|
521
475
|
}
|
|
476
|
+
interface ClientOverrides {
|
|
477
|
+
maxVideoBitRate?: number;
|
|
478
|
+
minBufferTime?: number;
|
|
479
|
+
maxBufferTime?: number;
|
|
480
|
+
burstEnabled?: boolean;
|
|
481
|
+
sizeBasedResolutionCapEnabled?: boolean;
|
|
482
|
+
separateVideoSocketEnabled?: boolean;
|
|
483
|
+
webcodecsEnabled?: boolean;
|
|
484
|
+
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
485
|
+
offscreenCanvasEnabled?: boolean;
|
|
486
|
+
videoCodecs?: string[];
|
|
487
|
+
}
|
|
488
|
+
type Namespace = Tagged<Array<string>, "Namespace">;
|
|
489
|
+
interface TrackObject {
|
|
490
|
+
namespace?: Namespace;
|
|
491
|
+
name: string;
|
|
492
|
+
format: string;
|
|
493
|
+
label?: string;
|
|
494
|
+
renderGroup?: number;
|
|
495
|
+
altGroup?: number;
|
|
496
|
+
initData?: string;
|
|
497
|
+
initTrack?: string;
|
|
498
|
+
depends?: Array<string>;
|
|
499
|
+
temporalId?: number;
|
|
500
|
+
spatialId?: number;
|
|
501
|
+
codec?: string;
|
|
502
|
+
mimeType?: string;
|
|
503
|
+
framerate?: [
|
|
504
|
+
number,
|
|
505
|
+
number
|
|
506
|
+
];
|
|
507
|
+
bitrate?: number;
|
|
508
|
+
width?: number;
|
|
509
|
+
height?: number;
|
|
510
|
+
samplerate?: number;
|
|
511
|
+
channelConfig?: string;
|
|
512
|
+
displayWidth?: number;
|
|
513
|
+
displayHeight?: number;
|
|
514
|
+
language?: string;
|
|
515
|
+
["com.vindral.variant_uid"]?: string;
|
|
516
|
+
["com.vindral.drm"]?: string;
|
|
517
|
+
}
|
|
518
|
+
interface CatalogRoot {
|
|
519
|
+
version: number;
|
|
520
|
+
streamingFormat?: number;
|
|
521
|
+
streamingFormatVersion?: string;
|
|
522
|
+
}
|
|
523
|
+
interface TracksCatalog extends CatalogRoot {
|
|
524
|
+
namespace: Namespace;
|
|
525
|
+
tracks: Array<TrackObject>;
|
|
526
|
+
}
|
|
527
|
+
interface Telemetry {
|
|
528
|
+
url: string;
|
|
529
|
+
probability?: number;
|
|
530
|
+
includeErrors?: boolean;
|
|
531
|
+
includeEvents?: boolean;
|
|
532
|
+
includeStats?: boolean;
|
|
533
|
+
maxRetries?: number;
|
|
534
|
+
maxErrorReports?: number;
|
|
535
|
+
interval?: number;
|
|
536
|
+
}
|
|
537
|
+
interface ChannelWithCatalog extends Channel {
|
|
538
|
+
catalog: TracksCatalog;
|
|
539
|
+
renditions: Rendition[];
|
|
540
|
+
overrides?: ClientOverrides;
|
|
541
|
+
}
|
|
542
|
+
interface ChannelWithRenditions extends Channel {
|
|
543
|
+
renditions: Rendition[];
|
|
544
|
+
overrides?: ClientOverrides;
|
|
545
|
+
}
|
|
546
|
+
interface ServerCertificateHash {
|
|
547
|
+
algorithm: string;
|
|
548
|
+
value: string;
|
|
549
|
+
}
|
|
550
|
+
interface Edge {
|
|
551
|
+
moqUrl?: string;
|
|
552
|
+
moqWsUrl: string;
|
|
553
|
+
serverCertificateHashes?: ServerCertificateHash[];
|
|
554
|
+
}
|
|
555
|
+
interface MoQConnectInfo {
|
|
556
|
+
logsUrl?: string;
|
|
557
|
+
statsUrl?: string;
|
|
558
|
+
telemetry?: Telemetry;
|
|
559
|
+
channels: ChannelWithCatalog[];
|
|
560
|
+
edges: Edge[];
|
|
561
|
+
timeshift: {
|
|
562
|
+
urls: string[];
|
|
563
|
+
duration: string;
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
interface VindralConnectInfo {
|
|
567
|
+
logsUrl?: string;
|
|
568
|
+
statsUrl?: string;
|
|
569
|
+
telemetry?: Telemetry;
|
|
570
|
+
channels: ChannelWithRenditions[];
|
|
571
|
+
edges: string[];
|
|
572
|
+
}
|
|
573
|
+
type ConnectInfo = VindralConnectInfo | MoQConnectInfo;
|
|
574
|
+
interface Metadata {
|
|
575
|
+
/**
|
|
576
|
+
* The raw string content as it was ingested (if using JSON, it needs to be parsed on your end)
|
|
577
|
+
*/
|
|
578
|
+
content: string;
|
|
579
|
+
/**
|
|
580
|
+
* Timestamp in ms
|
|
581
|
+
*/
|
|
582
|
+
timestamp: number;
|
|
583
|
+
}
|
|
584
|
+
interface TimeRange {
|
|
585
|
+
/** */
|
|
586
|
+
start: number;
|
|
587
|
+
/** */
|
|
588
|
+
end: number;
|
|
589
|
+
}
|
|
522
590
|
interface RenditionLevel {
|
|
523
591
|
/** */
|
|
524
592
|
audio?: AudioRendition;
|
|
@@ -719,6 +787,7 @@ interface DecoderStatistics {
|
|
|
719
787
|
videoDecodeTime: MinMaxAverage;
|
|
720
788
|
audioDecodeTime: MinMaxAverage;
|
|
721
789
|
videoTransportTime: MinMaxAverage;
|
|
790
|
+
videoKeyframeIntervalMs?: number;
|
|
722
791
|
}
|
|
723
792
|
interface DocumentStateModulesStatistics {
|
|
724
793
|
isVisible: boolean;
|
|
@@ -768,6 +837,7 @@ interface MseModuleStatistics {
|
|
|
768
837
|
droppedVideoFrames?: number;
|
|
769
838
|
successfulVideoAppendCalls?: number;
|
|
770
839
|
successfulAudioAppendsCalls?: number;
|
|
840
|
+
videoKeyframeIntervalMs?: number;
|
|
771
841
|
}
|
|
772
842
|
interface QualityOfServiceModuleStatistics {
|
|
773
843
|
/**
|
|
@@ -851,38 +921,6 @@ interface VideoPlayerStatistics {
|
|
|
851
921
|
contextLostCount: number;
|
|
852
922
|
contextRestoredCount: number;
|
|
853
923
|
}
|
|
854
|
-
declare class UserAgentInformation {
|
|
855
|
-
private highEntropyValues?;
|
|
856
|
-
constructor();
|
|
857
|
-
getUserAgentInformation(): {
|
|
858
|
-
locationOrigin: string;
|
|
859
|
-
locationPath: string;
|
|
860
|
-
ancestorOrigins: string[] | undefined;
|
|
861
|
-
hardwareConcurrency: number;
|
|
862
|
-
deviceMemory: number | undefined;
|
|
863
|
-
userAgentLegacy: string;
|
|
864
|
-
ua: {
|
|
865
|
-
browser: {
|
|
866
|
-
brands: string[];
|
|
867
|
-
fullVersionBrands: string[];
|
|
868
|
-
majorVersions: string[];
|
|
869
|
-
};
|
|
870
|
-
device: string;
|
|
871
|
-
os: {
|
|
872
|
-
family: string;
|
|
873
|
-
version: string;
|
|
874
|
-
major_version: number;
|
|
875
|
-
};
|
|
876
|
-
};
|
|
877
|
-
} | {
|
|
878
|
-
locationOrigin: string;
|
|
879
|
-
locationPath: string;
|
|
880
|
-
ancestorOrigins: string[] | undefined;
|
|
881
|
-
hardwareConcurrency: number;
|
|
882
|
-
deviceMemory: number | undefined;
|
|
883
|
-
userAgent: string;
|
|
884
|
-
};
|
|
885
|
-
}
|
|
886
924
|
type ModuleStatistics = AdaptivityStatistics & BufferTimeStatistics & ConnectionStatistics & ConstraintCapStatistics & DecoderStatistics & DocumentStateModulesStatistics & IncomingDataModuleStatistics & JitterModuleStatistics & MseModuleStatistics & PlaybackModuleStatistics & QualityOfServiceModuleStatistics & RenditionsModuleStatistics & SyncModuleStatistics & TelemetryModuleStatistics & VideoPlayerStatistics;
|
|
887
925
|
type Statistics = ModuleStatistics & ReturnType<UserAgentInformation["getUserAgentInformation"]> & {
|
|
888
926
|
/**
|
|
@@ -1228,6 +1266,10 @@ declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1228
1266
|
* The ranges are specified in milliseconds.
|
|
1229
1267
|
*/
|
|
1230
1268
|
get audioBufferedRanges(): ReadonlyArray<TimeRange>;
|
|
1269
|
+
/**
|
|
1270
|
+
* The timestamps (in milliseconds) of video keyframes currently in the buffer.
|
|
1271
|
+
*/
|
|
1272
|
+
get videoKeyframeTimestamps(): ReadonlyArray<number>;
|
|
1231
1273
|
/**
|
|
1232
1274
|
* The API client for calls to the public available endpoints of the Vindral Live CDN.
|
|
1233
1275
|
*/
|
|
@@ -1544,6 +1586,39 @@ declare class AirPlayButton extends VindralButton {
|
|
|
1544
1586
|
get isAirPlaying(): boolean;
|
|
1545
1587
|
protected handleClick(_: Event): void;
|
|
1546
1588
|
}
|
|
1589
|
+
declare class VindralMenuButton extends VindralButton {
|
|
1590
|
+
#private;
|
|
1591
|
+
constructor();
|
|
1592
|
+
connectedCallback(): void;
|
|
1593
|
+
set button(button: HTMLElement);
|
|
1594
|
+
set listbox(listbox: HTMLElement);
|
|
1595
|
+
set listboxSlot(listboxSlot: HTMLElement);
|
|
1596
|
+
enable(): void;
|
|
1597
|
+
hide(): void;
|
|
1598
|
+
protected handleClick(e: Event): void;
|
|
1599
|
+
}
|
|
1600
|
+
type AdvancedRenditionMenuAttributes = (typeof AdvancedRenditionMenu.observedAttributes)[number];
|
|
1601
|
+
declare class AdvancedRenditionMenu extends VindralMenuButton {
|
|
1602
|
+
#private;
|
|
1603
|
+
static observedAttributes: string[];
|
|
1604
|
+
constructor();
|
|
1605
|
+
connectedCallback(): void;
|
|
1606
|
+
attributeChangedCallback(name: string, old: string, value: string): void;
|
|
1607
|
+
}
|
|
1608
|
+
type AdvancedRenditionMenuListAttributes = (typeof AdvancedRenditionMenuList.observedAttributes)[number];
|
|
1609
|
+
declare class AdvancedRenditionMenuList extends HTMLElement {
|
|
1610
|
+
#private;
|
|
1611
|
+
static observedAttributes: ("rendition-levels" | "rendition-level" | "max-video-bit-rate" | "abr-enabled" | "size-based-resolution-cap-enabled")[];
|
|
1612
|
+
constructor();
|
|
1613
|
+
connectedCallback(): void;
|
|
1614
|
+
disconnectedCallback(): void;
|
|
1615
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
1616
|
+
private set list(value);
|
|
1617
|
+
private set maxVideoBitrate(value);
|
|
1618
|
+
get keysUsed(): string[];
|
|
1619
|
+
handleEvent: (event: Event) => void;
|
|
1620
|
+
focus(): void;
|
|
1621
|
+
}
|
|
1547
1622
|
type BufferingIconAttributes = (typeof BufferingIcon.observedAttributes)[number];
|
|
1548
1623
|
declare class BufferingIcon extends HTMLElement {
|
|
1549
1624
|
#private;
|
|
@@ -1729,7 +1804,7 @@ type ControllerAttributes = (typeof Controller.observedAttributes)[number];
|
|
|
1729
1804
|
declare class Controller extends HTMLElement {
|
|
1730
1805
|
#private;
|
|
1731
1806
|
static observedAttributes: readonly [
|
|
1732
|
-
...("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" | "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")[],
|
|
1807
|
+
...("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")[],
|
|
1733
1808
|
"url",
|
|
1734
1809
|
"edge-url",
|
|
1735
1810
|
"target-buffer-time",
|
|
@@ -1760,6 +1835,9 @@ declare class Controller extends HTMLElement {
|
|
|
1760
1835
|
"drm-playready-video-robustness",
|
|
1761
1836
|
"drm-playready-audio-robustness",
|
|
1762
1837
|
"webtransport-enabled",
|
|
1838
|
+
"webcodecs-enabled",
|
|
1839
|
+
"webcodecs-hardware-acceleration",
|
|
1840
|
+
"offscreen-canvas-enabled",
|
|
1763
1841
|
"reconnect-retries",
|
|
1764
1842
|
"auto-instance-enabled",
|
|
1765
1843
|
"language"
|
|
@@ -1788,17 +1866,6 @@ declare class FullscreenButton extends VindralButton {
|
|
|
1788
1866
|
get isFullscreen(): boolean;
|
|
1789
1867
|
protected handleClick(_: Event): void;
|
|
1790
1868
|
}
|
|
1791
|
-
declare class VindralMenuButton extends VindralButton {
|
|
1792
|
-
#private;
|
|
1793
|
-
constructor();
|
|
1794
|
-
connectedCallback(): void;
|
|
1795
|
-
set button(button: HTMLElement);
|
|
1796
|
-
set listbox(listbox: HTMLElement);
|
|
1797
|
-
set listboxSlot(listboxSlot: HTMLElement);
|
|
1798
|
-
enable(): void;
|
|
1799
|
-
hide(): void;
|
|
1800
|
-
protected handleClick(e: Event): void;
|
|
1801
|
-
}
|
|
1802
1869
|
type LanguageMenuAttributes = (typeof LanguageMenu.observedAttributes)[number];
|
|
1803
1870
|
declare class LanguageMenu extends VindralMenuButton {
|
|
1804
1871
|
#private;
|
|
@@ -1859,7 +1926,7 @@ declare class PlayButton extends VindralButton {
|
|
|
1859
1926
|
type PlayerAttributes = (typeof Player.observedAttributes)[number];
|
|
1860
1927
|
declare class Player extends HTMLElement {
|
|
1861
1928
|
#private;
|
|
1862
|
-
static observedAttributes: readonly ("title" | "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" | "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" | "url" | "
|
|
1929
|
+
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" | "url" | "edge-url" | "target-buffer-time" | "cast-receiver-id" | "cast-background" | "log-level" | "max-size" | "min-buffer-time" | "max-buffer-time" | "max-audio-bit-rate" | "burst-enabled" | "mse-enabled" | "mse-opus-enabled" | "ios-background-play-enabled" | "ios-wake-lock-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-enabled" | "webcodecs-hardware-acceleration" | "offscreen-canvas-enabled" | "reconnect-retries" | "auto-instance-enabled" | "advanced-rendition-menu-enabled" | "refresh-poster-enabled" | "stream-poll-enabled")[];
|
|
1863
1930
|
constructor();
|
|
1864
1931
|
connectedCallback(): void;
|
|
1865
1932
|
disconnectedCallback(): void;
|
|
@@ -1918,7 +1985,7 @@ declare class ScrollOverlay extends HTMLElement {
|
|
|
1918
1985
|
constructor();
|
|
1919
1986
|
connectedCallback(): void;
|
|
1920
1987
|
disconnectedCallback(): void;
|
|
1921
|
-
attributeChangedCallback(name: string, old: string, value: string): void;
|
|
1988
|
+
attributeChangedCallback(name: string, old: string | null, value: string | null): void;
|
|
1922
1989
|
handleEvent: (event: Event) => void;
|
|
1923
1990
|
set open(value: boolean);
|
|
1924
1991
|
get open(): boolean;
|
|
@@ -1990,6 +2057,8 @@ type CustomElement<T, K extends string> = Partial<Omit<DetailedHTMLProps<HtmlHTM
|
|
|
1990
2057
|
export declare interface VindralIntrinsicElements {
|
|
1991
2058
|
"vindral-controller": CustomElement<Controller, ControllerAttributes>;
|
|
1992
2059
|
"vindral-control-bar": CustomElement<ControlBar, never>;
|
|
2060
|
+
"vindral-advanced-rendition-menu": CustomElement<AdvancedRenditionMenu, AdvancedRenditionMenuAttributes>;
|
|
2061
|
+
"vindral-advanced-rendition-menu-list": CustomElement<AdvancedRenditionMenuList, AdvancedRenditionMenuListAttributes>;
|
|
1993
2062
|
"vindral-play-button": CustomElement<PlayButton, PlayButtonAttributes>;
|
|
1994
2063
|
"vindral-mute-button": CustomElement<MuteButton, MuteButtonAttributes>;
|
|
1995
2064
|
"vindral-buffering-overlay": CustomElement<BufferingOverlay, BufferingOverlayAttributes>;
|
package/uEFjK_x4.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var d = (r, s, e) => s in r ? c(r, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[s] = e;
|
|
3
|
+
var o = (r, s, e) => d(r, typeof s != "symbol" ? s + "" : s, e);
|
|
4
|
+
class u {
|
|
5
|
+
constructor() {
|
|
6
|
+
o(this, "listeners", {});
|
|
7
|
+
}
|
|
8
|
+
emit(s, e) {
|
|
9
|
+
const i = this.listeners[s];
|
|
10
|
+
if (i) {
|
|
11
|
+
let l = !1;
|
|
12
|
+
for (let t = 0; t < i.length; t++)
|
|
13
|
+
if (i[t].once) {
|
|
14
|
+
l = !0;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
l && (this.listeners[s] = i.filter((t) => !t.once));
|
|
18
|
+
let n;
|
|
19
|
+
const h = i.length;
|
|
20
|
+
for (let t = 0; t < h; t++) {
|
|
21
|
+
const f = i[t].fn(e);
|
|
22
|
+
typeof f == "function" && (n || (n = []), n.push(f));
|
|
23
|
+
}
|
|
24
|
+
if (n)
|
|
25
|
+
for (let t = 0; t < n.length; t++)
|
|
26
|
+
n[t]();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
off(s, e) {
|
|
30
|
+
const i = this.listeners[s];
|
|
31
|
+
i && (this.listeners[s] = i.filter((l) => l.fn !== e));
|
|
32
|
+
}
|
|
33
|
+
on(s, e) {
|
|
34
|
+
this.add(s, e, !1);
|
|
35
|
+
}
|
|
36
|
+
once(s, e) {
|
|
37
|
+
this.add(s, e, !0);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Reset the event emitter
|
|
41
|
+
*/
|
|
42
|
+
reset() {
|
|
43
|
+
this.listeners = {};
|
|
44
|
+
}
|
|
45
|
+
add(s, e, i) {
|
|
46
|
+
const l = this.listeners[s], n = { fn: e, once: i };
|
|
47
|
+
l ? l.push(n) : this.listeners[s] = [n];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
u as E
|
|
52
|
+
};
|
package/Bx7s5QdT.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
var f = Object.defineProperty;
|
|
2
|
-
var o = (n, s, e) => s in n ? f(n, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[s] = e;
|
|
3
|
-
var l = (n, s, e) => o(n, typeof s != "symbol" ? s + "" : s, e);
|
|
4
|
-
class c {
|
|
5
|
-
constructor() {
|
|
6
|
-
l(this, "listeners", {});
|
|
7
|
-
}
|
|
8
|
-
emit(s, e) {
|
|
9
|
-
const i = this.listeners[s];
|
|
10
|
-
i && (this.listeners[s] = i.filter((t) => !t.once), i.map((t) => t.fn(e)).map((t) => typeof t == "function" && (t == null ? void 0 : t())));
|
|
11
|
-
}
|
|
12
|
-
off(s, e) {
|
|
13
|
-
const i = this.listeners[s];
|
|
14
|
-
i && (this.listeners[s] = i.filter((r) => r.fn !== e));
|
|
15
|
-
}
|
|
16
|
-
on(s, e) {
|
|
17
|
-
this.add(s, e, !1);
|
|
18
|
-
}
|
|
19
|
-
once(s, e) {
|
|
20
|
-
this.add(s, e, !0);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Reset the event emitter
|
|
24
|
-
*/
|
|
25
|
-
reset() {
|
|
26
|
-
this.listeners = {};
|
|
27
|
-
}
|
|
28
|
-
add(s, e, i) {
|
|
29
|
-
const r = this.listeners[s], t = { fn: e, once: i };
|
|
30
|
-
r ? r.push(t) : this.listeners[s] = [t];
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
c as E
|
|
35
|
-
};
|