@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/core.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
|
*/
|
|
@@ -138,53 +142,6 @@ export interface ReconnectState {
|
|
|
138
142
|
*/
|
|
139
143
|
reconnectRetries: number;
|
|
140
144
|
}
|
|
141
|
-
interface RenditionProps {
|
|
142
|
-
id: number;
|
|
143
|
-
/** */
|
|
144
|
-
bitRate: number;
|
|
145
|
-
/** */
|
|
146
|
-
codecString?: string;
|
|
147
|
-
/** */
|
|
148
|
-
language?: string;
|
|
149
|
-
/** */
|
|
150
|
-
meta?: Record<string, string>;
|
|
151
|
-
}
|
|
152
|
-
interface VideoRenditionProps {
|
|
153
|
-
/** */
|
|
154
|
-
codec: VideoCodec;
|
|
155
|
-
/** */
|
|
156
|
-
frameRate: [
|
|
157
|
-
number,
|
|
158
|
-
number
|
|
159
|
-
];
|
|
160
|
-
/** */
|
|
161
|
-
width: number;
|
|
162
|
-
/** */
|
|
163
|
-
height: number;
|
|
164
|
-
}
|
|
165
|
-
interface AudioRenditionProps {
|
|
166
|
-
/** */
|
|
167
|
-
codec: AudioCodec;
|
|
168
|
-
/** */
|
|
169
|
-
channels: number;
|
|
170
|
-
/** */
|
|
171
|
-
sampleRate: number;
|
|
172
|
-
}
|
|
173
|
-
interface TextRenditionProps {
|
|
174
|
-
codec: "webvtt";
|
|
175
|
-
kind: "subtitles" | "captions";
|
|
176
|
-
label?: string;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* @interface
|
|
180
|
-
*/
|
|
181
|
-
export type VideoRendition = VideoRenditionProps & RenditionProps;
|
|
182
|
-
/**
|
|
183
|
-
* @interface
|
|
184
|
-
*/
|
|
185
|
-
export type AudioRendition = AudioRenditionProps & RenditionProps;
|
|
186
|
-
type TextRendition = TextRenditionProps & RenditionProps;
|
|
187
|
-
type Rendition = VideoRendition | AudioRendition | TextRendition;
|
|
188
145
|
/**
|
|
189
146
|
* Represents a size with a width and height.
|
|
190
147
|
*/
|
|
@@ -194,28 +151,10 @@ export interface Size {
|
|
|
194
151
|
/** */
|
|
195
152
|
height: number;
|
|
196
153
|
}
|
|
197
|
-
export interface VideoConstraint {
|
|
198
|
-
/** */
|
|
199
|
-
width: number;
|
|
200
|
-
/** */
|
|
201
|
-
height: number;
|
|
202
|
-
/** */
|
|
203
|
-
bitRate: number;
|
|
204
|
-
/** */
|
|
205
|
-
codec?: VideoCodec;
|
|
206
|
-
/** */
|
|
207
|
-
codecString?: string;
|
|
208
|
-
}
|
|
209
154
|
/**
|
|
210
155
|
* Advanced options to override default behaviour.
|
|
211
156
|
*/
|
|
212
157
|
export interface AdvancedOptions {
|
|
213
|
-
/**
|
|
214
|
-
* Constrains wasm decoding to this resolution.
|
|
215
|
-
* By default it is set to 1280 in width and height.
|
|
216
|
-
* This guarantees better performance on older devices and reduces battery drain in general.
|
|
217
|
-
*/
|
|
218
|
-
wasmDecodingConstraint: Partial<VideoConstraint>;
|
|
219
158
|
}
|
|
220
159
|
/**
|
|
221
160
|
* DRM options to provide to the Vindral instance
|
|
@@ -249,6 +188,7 @@ export interface DrmOptions {
|
|
|
249
188
|
*/
|
|
250
189
|
export type Media = "audio" | "video" | "audio+video";
|
|
251
190
|
type WebCodecsHardwareAccelerationPreference = "no-preference" | "prefer-hardware" | "prefer-software";
|
|
191
|
+
type DecoderType = "mse" | "webcodecs" | "wasm";
|
|
252
192
|
/**
|
|
253
193
|
* Options for the Vindral instance
|
|
254
194
|
*
|
|
@@ -319,11 +259,9 @@ export interface Options {
|
|
|
319
259
|
*/
|
|
320
260
|
burstEnabled?: boolean;
|
|
321
261
|
/**
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
* Note: We recommend to keep this at the default value unless you have very specific needs.
|
|
262
|
+
* @deprecated Use `decoders` instead.
|
|
263
|
+
* Setting `mseEnabled: false` is equivalent to `decoders: ["wasm"]`.
|
|
264
|
+
* When both `mseEnabled` and `decoders` are provided, `decoders` takes precedence.
|
|
327
265
|
*/
|
|
328
266
|
mseEnabled?: boolean;
|
|
329
267
|
/**
|
|
@@ -440,7 +378,7 @@ export interface Options {
|
|
|
440
378
|
* The wake lock requires that the audio has been activated at least once for the instance, othwerwise it will not work.
|
|
441
379
|
* Other devices already provide wake lock by default.
|
|
442
380
|
*
|
|
443
|
-
* This option is redundant and has no effect if
|
|
381
|
+
* This option is redundant and has no effect if streamToMediaElementEnabled is enabled since that automatically enables wake lock.
|
|
444
382
|
*
|
|
445
383
|
* Disabled by default.
|
|
446
384
|
*/
|
|
@@ -450,26 +388,20 @@ export interface Options {
|
|
|
450
388
|
*/
|
|
451
389
|
pauseSupportEnabled?: boolean;
|
|
452
390
|
/**
|
|
453
|
-
*
|
|
454
|
-
*/
|
|
455
|
-
iosMediaElementEnabled?: boolean;
|
|
456
|
-
/**
|
|
457
|
-
* Enable WebCodecs API for hardware-accelerated decoding.
|
|
391
|
+
* Stream canvas-rendered video/audio to a media element via captureStream.
|
|
458
392
|
*
|
|
459
|
-
*
|
|
460
|
-
*
|
|
461
|
-
* - Hardware-accelerated decoding (uses GPU for video)
|
|
462
|
-
* - Better performance at higher resolutions
|
|
463
|
-
* - Lower CPU usage and battery consumption
|
|
393
|
+
* This enables platform media features such as fullscreen and picture-in-picture
|
|
394
|
+
* for non-MSE playback by routing the canvas output through a `<video>` element.
|
|
464
395
|
*
|
|
465
|
-
* Disabled by default
|
|
396
|
+
* Disabled by default.
|
|
397
|
+
*/
|
|
398
|
+
streamToMediaElementEnabled?: boolean;
|
|
399
|
+
/**
|
|
400
|
+
* @deprecated Use `streamToMediaElementEnabled` instead.
|
|
466
401
|
*
|
|
467
|
-
*
|
|
468
|
-
* - The browser doesn't support WebCodecs
|
|
469
|
-
* - WebCodecs initialization fails
|
|
470
|
-
* - This option is set to false or undefined
|
|
402
|
+
* Legacy alias kept for backwards compatibility.
|
|
471
403
|
*/
|
|
472
|
-
|
|
404
|
+
iosMediaElementEnabled?: boolean;
|
|
473
405
|
/**
|
|
474
406
|
* Hardware acceleration preference for WebCodecs video decoding.
|
|
475
407
|
*
|
|
@@ -477,14 +409,29 @@ export interface Options {
|
|
|
477
409
|
*/
|
|
478
410
|
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
479
411
|
/**
|
|
480
|
-
* Enable OffscreenCanvas rendering in worker thread
|
|
412
|
+
* Enable OffscreenCanvas rendering in worker thread.
|
|
481
413
|
*
|
|
482
414
|
* When enabled, video rendering happens in the worker thread using OffscreenCanvas.
|
|
483
|
-
*
|
|
415
|
+
* Automatically enabled when `decoders` resolves to WebCodecs. Set to `false`
|
|
416
|
+
* to explicitly disable even when WebCodecs is active.
|
|
484
417
|
*
|
|
485
|
-
*
|
|
418
|
+
* Requires browser support for OffscreenCanvas and WebCodecs.
|
|
419
|
+
* Works with `streamToMediaElementEnabled` for fullscreen/PiP support.
|
|
486
420
|
*/
|
|
487
421
|
offscreenCanvasEnabled?: boolean;
|
|
422
|
+
/**
|
|
423
|
+
* Ordered list of decoders to try.
|
|
424
|
+
*
|
|
425
|
+
* The runtime walks the list and uses the first decoder that is available on the
|
|
426
|
+
* current platform. When DRM is active, MSE is forced regardless of order.
|
|
427
|
+
*
|
|
428
|
+
* When omitted, the platform default order is used (`["mse", "wasm"]`).
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* // Prefer WebCodecs over MSE
|
|
432
|
+
* decoders: ["webcodecs", "mse", "wasm"]
|
|
433
|
+
*/
|
|
434
|
+
decoders?: DecoderType[];
|
|
488
435
|
/**
|
|
489
436
|
* Advanced options to override default behaviour.
|
|
490
437
|
*/
|
|
@@ -503,7 +450,6 @@ interface ClientOverrides {
|
|
|
503
450
|
burstEnabled?: boolean;
|
|
504
451
|
sizeBasedResolutionCapEnabled?: boolean;
|
|
505
452
|
separateVideoSocketEnabled?: boolean;
|
|
506
|
-
webcodecsEnabled?: boolean;
|
|
507
453
|
webcodecsHardwareAcceleration?: WebCodecsHardwareAccelerationPreference;
|
|
508
454
|
offscreenCanvasEnabled?: boolean;
|
|
509
455
|
videoCodecs?: string[];
|
|
@@ -547,6 +493,53 @@ interface TracksCatalog extends CatalogRoot {
|
|
|
547
493
|
namespace: Namespace;
|
|
548
494
|
tracks: Array<TrackObject>;
|
|
549
495
|
}
|
|
496
|
+
interface RenditionProps {
|
|
497
|
+
id: number;
|
|
498
|
+
/** */
|
|
499
|
+
bitRate: number;
|
|
500
|
+
/** */
|
|
501
|
+
codecString?: string;
|
|
502
|
+
/** */
|
|
503
|
+
language?: string;
|
|
504
|
+
/** */
|
|
505
|
+
meta?: Record<string, string>;
|
|
506
|
+
}
|
|
507
|
+
interface VideoRenditionProps {
|
|
508
|
+
/** */
|
|
509
|
+
codec: VideoCodec;
|
|
510
|
+
/** */
|
|
511
|
+
frameRate: [
|
|
512
|
+
number,
|
|
513
|
+
number
|
|
514
|
+
];
|
|
515
|
+
/** */
|
|
516
|
+
width: number;
|
|
517
|
+
/** */
|
|
518
|
+
height: number;
|
|
519
|
+
}
|
|
520
|
+
interface AudioRenditionProps {
|
|
521
|
+
/** */
|
|
522
|
+
codec: AudioCodec;
|
|
523
|
+
/** */
|
|
524
|
+
channels: number;
|
|
525
|
+
/** */
|
|
526
|
+
sampleRate: number;
|
|
527
|
+
}
|
|
528
|
+
interface TextRenditionProps {
|
|
529
|
+
codec: "webvtt";
|
|
530
|
+
kind: "subtitles" | "captions";
|
|
531
|
+
label?: string;
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* @interface
|
|
535
|
+
*/
|
|
536
|
+
export type VideoRendition = VideoRenditionProps & RenditionProps;
|
|
537
|
+
/**
|
|
538
|
+
* @interface
|
|
539
|
+
*/
|
|
540
|
+
export type AudioRendition = AudioRenditionProps & RenditionProps;
|
|
541
|
+
type TextRendition = TextRenditionProps & RenditionProps;
|
|
542
|
+
type Rendition = VideoRendition | AudioRendition | TextRendition;
|
|
550
543
|
interface Telemetry {
|
|
551
544
|
url: string;
|
|
552
545
|
probability?: number;
|
|
@@ -638,6 +631,18 @@ export interface RenditionLevelChanged {
|
|
|
638
631
|
/** */
|
|
639
632
|
reason: RenditionLevelChangedReason;
|
|
640
633
|
}
|
|
634
|
+
export interface VideoConstraint {
|
|
635
|
+
/** */
|
|
636
|
+
width: number;
|
|
637
|
+
/** */
|
|
638
|
+
height: number;
|
|
639
|
+
/** */
|
|
640
|
+
bitRate: number;
|
|
641
|
+
/** */
|
|
642
|
+
codec?: VideoCodec;
|
|
643
|
+
/** */
|
|
644
|
+
codecString?: string;
|
|
645
|
+
}
|
|
641
646
|
interface VindralErrorProps {
|
|
642
647
|
isFatal: boolean;
|
|
643
648
|
type?: ErrorType;
|
|
@@ -849,6 +854,13 @@ interface DecoderStatistics {
|
|
|
849
854
|
videoDecodeTime: MinMaxAverage;
|
|
850
855
|
audioDecodeTime: MinMaxAverage;
|
|
851
856
|
videoTransportTime: MinMaxAverage;
|
|
857
|
+
videoKeyframeIntervalMs?: number;
|
|
858
|
+
renderedFrameCount?: number;
|
|
859
|
+
rendererDroppedFrameCount?: number;
|
|
860
|
+
videoRenderer?: "OffscreenCanvas" | "Canvas" | "MSE";
|
|
861
|
+
videoDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
862
|
+
audioRenderer?: "AudioContext" | "MSE";
|
|
863
|
+
audioDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
852
864
|
}
|
|
853
865
|
interface DocumentStateModulesStatistics {
|
|
854
866
|
isVisible: boolean;
|
|
@@ -898,6 +910,11 @@ interface MseModuleStatistics {
|
|
|
898
910
|
droppedVideoFrames?: number;
|
|
899
911
|
successfulVideoAppendCalls?: number;
|
|
900
912
|
successfulAudioAppendsCalls?: number;
|
|
913
|
+
videoKeyframeIntervalMs?: number;
|
|
914
|
+
videoRenderer?: "OffscreenCanvas" | "Canvas" | "MSE";
|
|
915
|
+
videoDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
916
|
+
audioRenderer?: "AudioContext" | "MSE";
|
|
917
|
+
audioDecoder?: "WebCodecs" | "WASM" | "MSE";
|
|
901
918
|
}
|
|
902
919
|
interface QualityOfServiceModuleStatistics {
|
|
903
920
|
/**
|
|
@@ -978,8 +995,6 @@ interface SyncModuleStatistics {
|
|
|
978
995
|
interface VideoPlayerStatistics {
|
|
979
996
|
renderedFrameCount: number;
|
|
980
997
|
rendererDroppedFrameCount: number;
|
|
981
|
-
contextLostCount: number;
|
|
982
|
-
contextRestoredCount: number;
|
|
983
998
|
}
|
|
984
999
|
type ModuleStatistics = AdaptivityStatistics & BufferTimeStatistics & ConnectionStatistics & ConstraintCapStatistics & DecoderStatistics & DocumentStateModulesStatistics & IncomingDataModuleStatistics & JitterModuleStatistics & MseModuleStatistics & PlaybackModuleStatistics & QualityOfServiceModuleStatistics & RenditionsModuleStatistics & SyncModuleStatistics & TelemetryModuleStatistics & VideoPlayerStatistics;
|
|
985
1000
|
/**
|
|
@@ -1030,6 +1045,8 @@ export type Statistics = ModuleStatistics & ReturnType<UserAgentInformation["get
|
|
|
1030
1045
|
* Note that an actual frame render often happens much quicker, but that is not counted as TTFF.
|
|
1031
1046
|
*/
|
|
1032
1047
|
timeToFirstFrame?: number;
|
|
1048
|
+
streamToMediaElementEnabled?: boolean;
|
|
1049
|
+
/** @deprecated */
|
|
1033
1050
|
iosMediaElementEnabled?: boolean;
|
|
1034
1051
|
/**
|
|
1035
1052
|
* Average bitrate for the entire session in bits/second.
|
|
@@ -1132,6 +1149,8 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1132
1149
|
private clientId;
|
|
1133
1150
|
private _channels;
|
|
1134
1151
|
private createdAt;
|
|
1152
|
+
private offscreenCanvasElement?;
|
|
1153
|
+
private webCodecsRenditionSupport;
|
|
1135
1154
|
private hasCalledConnect;
|
|
1136
1155
|
private latestEmittedLanguages;
|
|
1137
1156
|
private wakeLock;
|
|
@@ -1142,6 +1161,7 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1142
1161
|
private sizes;
|
|
1143
1162
|
private isSuspended;
|
|
1144
1163
|
private disconnectTimeout;
|
|
1164
|
+
private offscreenSubtitleInterval?;
|
|
1145
1165
|
constructor(options: Options);
|
|
1146
1166
|
/**
|
|
1147
1167
|
* Attaches the video view to a DOM element. The Vindral video view will be sized to fill this element while
|
|
@@ -1150,6 +1170,7 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1150
1170
|
* @returns
|
|
1151
1171
|
*/
|
|
1152
1172
|
attach: (container: HTMLElement) => void;
|
|
1173
|
+
private setElement;
|
|
1153
1174
|
/**
|
|
1154
1175
|
* Set the current volume.
|
|
1155
1176
|
* Setting this to 0 is not equivalent to muting the audio.
|
|
@@ -1260,6 +1281,14 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1260
1281
|
* setting targetBufferTime within that range for consistancy if using both min/max.
|
|
1261
1282
|
*/
|
|
1262
1283
|
set targetBufferTime(bufferTimeMs: number);
|
|
1284
|
+
/**
|
|
1285
|
+
* Update the dynamic buffer time configuration at runtime.
|
|
1286
|
+
* Allows adjusting min and max buffer time without recreating the Vindral instance.
|
|
1287
|
+
*/
|
|
1288
|
+
updateBufferTimeConfig(config: {
|
|
1289
|
+
minBufferTime?: number;
|
|
1290
|
+
maxBufferTime?: number;
|
|
1291
|
+
}): void;
|
|
1263
1292
|
/**
|
|
1264
1293
|
* The estimated playback latency based on target buffer time, the connection rtt and local playback drift
|
|
1265
1294
|
*/
|
|
@@ -1370,6 +1399,10 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1370
1399
|
* The ranges are specified in milliseconds.
|
|
1371
1400
|
*/
|
|
1372
1401
|
get audioBufferedRanges(): ReadonlyArray<TimeRange>;
|
|
1402
|
+
/**
|
|
1403
|
+
* The timestamps (in milliseconds) of video keyframes currently in the buffer.
|
|
1404
|
+
*/
|
|
1405
|
+
get videoKeyframeTimestamps(): ReadonlyArray<number>;
|
|
1373
1406
|
/**
|
|
1374
1407
|
* The API client for calls to the public available endpoints of the Vindral Live CDN.
|
|
1375
1408
|
*/
|
|
@@ -1429,9 +1462,16 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1429
1462
|
private isSupportedVideoCodecProfile;
|
|
1430
1463
|
private supportedAudioCodecs;
|
|
1431
1464
|
private initializeDecodingModule;
|
|
1465
|
+
/**
|
|
1466
|
+
* Set up a polling interval that forwards subtitle cues to the decoder worker
|
|
1467
|
+
* when OffscreenCanvas rendering is active. This is needed because the canvas modules'
|
|
1468
|
+
* own subtitle intervals either get killed (LegacyCanvasModule) or don't have the
|
|
1469
|
+
* OffscreenCanvas reference at construction time (ModernCanvasModule).
|
|
1470
|
+
*/
|
|
1471
|
+
private setupOffscreenSubtitleRouting;
|
|
1432
1472
|
/**
|
|
1433
1473
|
* Fully unloads the instance. This disconnects the clients and stops any background tasks.
|
|
1434
|
-
* This client instance
|
|
1474
|
+
* This client instance cannot be used after this has been called.
|
|
1435
1475
|
*/
|
|
1436
1476
|
unload: () => Promise<void>;
|
|
1437
1477
|
/**
|
|
@@ -1495,7 +1535,17 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
|
|
|
1495
1535
|
private get currentSubscription();
|
|
1496
1536
|
private get targetSubscription();
|
|
1497
1537
|
private timeToFirstFrame;
|
|
1538
|
+
private resolvedDecoder;
|
|
1498
1539
|
private willUseMediaSource;
|
|
1540
|
+
private shouldUseWebCodecs;
|
|
1541
|
+
private isWebCodecsVideoAvailable;
|
|
1542
|
+
private isWebCodecsAudioAvailable;
|
|
1543
|
+
/**
|
|
1544
|
+
* Returns true if OffscreenCanvas should be used.
|
|
1545
|
+
* Implicitly enabled when the resolved decoder is WebCodecs, since OffscreenCanvas
|
|
1546
|
+
* is the optimal rendering path for WebCodecs (worker renders VideoFrames directly).
|
|
1547
|
+
*/
|
|
1548
|
+
private shouldUseOffscreenCanvas;
|
|
1499
1549
|
}
|
|
1500
1550
|
interface TelemetryModuleStatistics {
|
|
1501
1551
|
/**
|
|
@@ -1575,6 +1625,12 @@ interface TimeShiftInfo {
|
|
|
1575
1625
|
urls: string[];
|
|
1576
1626
|
duration: string;
|
|
1577
1627
|
}
|
|
1628
|
+
interface CmafFragmentEvent {
|
|
1629
|
+
mediaType: "video" | "audio";
|
|
1630
|
+
initSegment: Readonly<Uint8Array<ArrayBuffer>>;
|
|
1631
|
+
fragment: Readonly<Uint8Array<ArrayBuffer>>;
|
|
1632
|
+
isKeyframe: boolean;
|
|
1633
|
+
}
|
|
1578
1634
|
/**
|
|
1579
1635
|
* The events that can be emitted from the Vindral instance
|
|
1580
1636
|
*/
|
|
@@ -1678,6 +1734,13 @@ export interface PublicVindralEvents {
|
|
|
1678
1734
|
* Emitted when the timeshift URLs are updated.
|
|
1679
1735
|
*/
|
|
1680
1736
|
["timeshift info"]: Readonly<TimeShiftInfo>;
|
|
1737
|
+
/**
|
|
1738
|
+
* Emitted for each CMAF fragment received via the MoQ/VoQ path.
|
|
1739
|
+
* Contains raw fMP4 bytes suitable for recording.
|
|
1740
|
+
*
|
|
1741
|
+
* @internal Not part of the public API — may change without notice.
|
|
1742
|
+
*/
|
|
1743
|
+
["cmaf fragment"]: Readonly<CmafFragmentEvent>;
|
|
1681
1744
|
["buffer state event"]: Readonly<BufferStateEvent>;
|
|
1682
1745
|
["initialized media"]: void;
|
|
1683
1746
|
}
|
package/core.js
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
I as AUTHENTICATION_FAILED_CODE,
|
|
5
|
-
_ as CHANNEL_NOT_FOUND_CODE,
|
|
6
|
-
O as CONNECTION_FAILED_AFTER_RETRIES_CODE,
|
|
7
|
-
D as CONNECTION_FAILED_CODE,
|
|
8
|
-
T as DISCONNECTED_BY_EDGE,
|
|
9
|
-
a as INACTIVITY_CODE,
|
|
10
|
-
A as NO_INCOMING_DATA,
|
|
11
|
-
s as Vindral,
|
|
12
|
-
r as VindralError
|
|
13
|
-
};
|
|
1
|
+
import { t as e } from "./Ca_SaIRU.js";
|
|
2
|
+
import { a as t, c as n, i as r, l as i, n as a, o, r as s, s as c, u as l } from "./C01DcfYu.js";
|
|
3
|
+
export { a as AUTHENTICATION_EXPIRED_CODE, s as AUTHENTICATION_FAILED_CODE, r as CHANNEL_NOT_FOUND_CODE, t as CONNECTION_FAILED_AFTER_RETRIES_CODE, o as CONNECTION_FAILED_CODE, c as DISCONNECTED_BY_EDGE, n as INACTIVITY_CODE, i as NO_INCOMING_DATA, e as Vindral, l as VindralError };
|