@vindral/web-sdk 2.2.7 → 2.2.8

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/index.d.ts CHANGED
@@ -19,6 +19,9 @@ interface CodedAudioSample extends BaseCodedSample {
19
19
  interface CodedVideoSample extends BaseCodedSample {
20
20
  type: "video";
21
21
  codec: VideoCodec;
22
+ width: number;
23
+ height: number;
24
+ buffer?: ArrayBuffer;
22
25
  }
23
26
  declare type CodedSample = CodedAudioSample | CodedVideoSample;
24
27
  declare type AudioCodec = "aac" | "opus" | "mp3";
@@ -49,6 +52,7 @@ interface DecodedVideoSample {
49
52
  Uint8Array,
50
53
  Uint8Array
51
54
  ];
55
+ buffer: ArrayBuffer;
52
56
  statistics?: DecodedSampleStatistics;
53
57
  }
54
58
  interface DecodedAudioSample {
@@ -706,6 +710,18 @@ declare class ConstraintCapModule {
706
710
  private enterPictureInPicture;
707
711
  private exitPictureInPicture;
708
712
  }
713
+ declare class ArrayBufferPool {
714
+ private maxSize;
715
+ private size;
716
+ private buffers;
717
+ private _borrowedBuffers;
718
+ constructor(maxSize: number);
719
+ get bufferSize(): number;
720
+ get poolSize(): number;
721
+ get borrowedBuffers(): number;
722
+ get: (size: number) => ArrayBuffer;
723
+ reclaim: (buffer: ArrayBuffer) => void;
724
+ }
709
725
  declare type DecoderParamType<Type extends "audio" | "video"> = Type extends "video" ? CodedVideoSample : CodedAudioSample;
710
726
  declare type DecoderReturnType<Type extends "audio" | "video"> = Type extends "video" ? DecodedVideoSample : DecodedAudioSample;
711
727
  interface DecoderContext<Type extends "audio" | "video"> {
@@ -756,7 +772,7 @@ declare class DecoderModule {
756
772
  unload: () => void;
757
773
  suspend: () => void;
758
774
  unsuspend: () => void;
759
- static create: (emitter: Emitter<DecoderModuleListeners, DecoderModuleEvents>, logger: Logger, tracks: Track[], clockSource: ClockSource) => Promise<DecoderModule>;
775
+ static create: (emitter: Emitter<DecoderModuleListeners, DecoderModuleEvents>, logger: Logger, tracks: Track[], clockSource: ClockSource, pool: ArrayBufferPool) => Promise<DecoderModule>;
760
776
  getBuffer: (type: Type) => TimeRange[] | undefined;
761
777
  videoDecodeRate: () => number;
762
778
  getStatistics: () => DecoderStatistics;
@@ -1022,10 +1038,6 @@ declare class QualityOfServiceModule {
1022
1038
  private setActive;
1023
1039
  private unsetActive;
1024
1040
  }
1025
- interface Size {
1026
- width: number;
1027
- height: number;
1028
- }
1029
1041
  interface SubscriptionModuleListeners {
1030
1042
  ["subscription changed"]: Readonly<SubscriptionChange>;
1031
1043
  }
@@ -1207,6 +1219,7 @@ export declare type Statistics = ModuleStatistics & UserAgentInformation & {
1207
1219
  timeToFirstFrame?: number;
1208
1220
  };
1209
1221
  export declare class Vindral extends Emitter<PublicVindralEvents> {
1222
+ private static MAX_POOL_SIZE;
1210
1223
  private static INITIAL_MAX_BIT_RATE;
1211
1224
  private static PING_TIMEOUT;
1212
1225
  readonly pictureInPicture: {
@@ -1233,7 +1246,9 @@ export declare class Vindral extends Emitter<PublicVindralEvents> {
1233
1246
  private wakeLock;
1234
1247
  private cachedEdges;
1235
1248
  private shiftedEdges;
1249
+ private pool;
1236
1250
  private durationSessions;
1251
+ private sizes;
1237
1252
  constructor(options: Options);
1238
1253
  attach: (container: HTMLElement) => void;
1239
1254
  set volume(volume: number);
@@ -1405,6 +1420,7 @@ interface VideoPlayerStatistics {
1405
1420
  }
1406
1421
  declare class VideoPlayerModule {
1407
1422
  private readonly oldTimestampLimit;
1423
+ private pool;
1408
1424
  private logger;
1409
1425
  private emitter;
1410
1426
  private videoRenderer;
@@ -1414,14 +1430,14 @@ declare class VideoPlayerModule {
1414
1430
  private animationFrameRequest?;
1415
1431
  private renderedFrameCount;
1416
1432
  private rendererDroppedFrameCount;
1417
- constructor(emitter: Emitter<VideoPlayerModuleListeners, unknown>, logger: Logger, clockSource: ClockSource);
1433
+ constructor(emitter: Emitter<VideoPlayerModuleListeners, unknown>, logger: Logger, clockSource: ClockSource, pool: ArrayBufferPool);
1418
1434
  load: () => void;
1419
1435
  unload: () => Promise<void>;
1420
1436
  suspend: () => void;
1421
1437
  unsuspend: () => void;
1422
1438
  element: () => HTMLCanvasElement;
1423
1439
  getStatistics: () => VideoPlayerStatistics;
1424
- static create: (emitter: Emitter<VideoPlayerModuleListeners, unknown>, logger: Logger, clockSource: ClockSource) => VideoPlayerModule;
1440
+ static create: (emitter: Emitter<VideoPlayerModuleListeners, unknown>, logger: Logger, clockSource: ClockSource, pool: ArrayBufferPool) => VideoPlayerModule;
1425
1441
  private onDecodedFrame;
1426
1442
  private render;
1427
1443
  private renderSample;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vindral/web-sdk",
3
- "version": "2.2.7",
3
+ "version": "2.2.8",
4
4
  "homepage": "https://vindral.com",
5
5
  "description": "Web SDK for viewing Vindral streams",
6
6
  "license": "SEE LICENSE IN https://www.vindral.com/terms-conditions",