@signalapp/ringrtc 2.58.0 → 2.59.0

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.
@@ -669,7 +669,7 @@ For more information on this, and how to apply and follow the GNU AGPL, see
669
669
 
670
670
  ```
671
671
 
672
- ## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.58.0, protobuf 2.58.0, ringrtc 2.58.0, regex-aot 0.1.0, partial-default-derive 0.1.0
672
+ ## libsignal-account-keys 0.1.0, libsignal-core 0.1.0, mrp 2.59.0, protobuf 2.59.0, ringrtc 2.59.0, regex-aot 0.1.0, partial-default-derive 0.1.0
673
673
 
674
674
  ```
675
675
  GNU AFFERO GENERAL PUBLIC LICENSE
@@ -1739,7 +1739,7 @@ THIS SOFTWARE.
1739
1739
 
1740
1740
  ```
1741
1741
 
1742
- ## cubeb-core 0.30.1, cubeb-sys 0.30.1, cubeb 0.30.1
1742
+ ## cubeb-core 0.31.2, cubeb-sys 0.31.2, cubeb 0.31.2
1743
1743
 
1744
1744
  ```
1745
1745
  Copyright © 2017 Mozilla Foundation
@@ -122,7 +122,7 @@ export declare class RingRTCType {
122
122
  onNetworkRouteChanged(remoteUserId: UserId, localNetworkAdapterType: NetworkAdapterType): void;
123
123
  onAudioLevels(remoteUserId: UserId, capturedLevel: RawAudioLevel, receivedLevel: RawAudioLevel): void;
124
124
  onLowBandwidthForVideo(remoteUserId: UserId, recovered: boolean): void;
125
- renderVideoFrame(width: number, height: number, buffer: Buffer): void;
125
+ renderVideoFrame(width: number, height: number, buffer: Uint8Array): void;
126
126
  onSendOffer(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, broadcast: boolean, offerType: OfferType, opaque: Uint8Array): void;
127
127
  onSendAnswer(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, broadcast: boolean, opaque: Uint8Array): void;
128
128
  onSendIceCandidates(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, broadcast: boolean, candidates: Array<Uint8Array>): void;
@@ -326,9 +326,9 @@ export interface VideoFrameSender {
326
326
  * @param width - The width of the video frame in pixels
327
327
  * @param height - The height of the video frame in pixels
328
328
  * @param format - The pixel format of the video data
329
- * @param buffer - Buffer containing the raw video frame data
329
+ * @param buffer - The raw video frame data
330
330
  */
331
- sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
331
+ sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Uint8Array): void;
332
332
  }
333
333
  /**
334
334
  * Interface for retrieving received video frames from the RingRTC library.
@@ -350,7 +350,7 @@ export interface VideoFrameSource {
350
350
  *
351
351
  * Returns undefined if no new frame is available
352
352
  */
353
- receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
353
+ receiveVideoFrame(buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
354
354
  }
355
355
  export declare class Call {
356
356
  private readonly _callManager;
@@ -386,7 +386,7 @@ export declare class Call {
386
386
  * @param recovered - whether there is enough bandwidth to send video reliably
387
387
  */
388
388
  handleLowBandwidthForVideo?: (recovered: boolean) => void;
389
- renderVideoFrame?: (width: number, height: number, buffer: Buffer) => void;
389
+ renderVideoFrame?: (width: number, height: number, buffer: Uint8Array) => void;
390
390
  constructor(callManager: CallManager, remoteUserId: UserId, callId: CallId, isIncoming: boolean, isVideoCall: boolean, state: CallState);
391
391
  get remoteUserId(): UserId;
392
392
  get isIncoming(): boolean;
@@ -405,8 +405,8 @@ export declare class Call {
405
405
  setOutgoingAudioMuted(muted: boolean): void;
406
406
  setOutgoingVideoMuted(muted: boolean): void;
407
407
  setOutgoingVideoIsScreenShare(isScreenShare: boolean): void;
408
- sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
409
- receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
408
+ sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Uint8Array): void;
409
+ receiveVideoFrame(buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
410
410
  updateDataMode(dataMode: DataMode): void;
411
411
  }
412
412
  export type GroupCallClientId = number;
@@ -571,7 +571,7 @@ export declare class GroupCall {
571
571
  handleRemoteDevicesChanged(remoteDeviceStates: Array<RemoteDeviceState>): void;
572
572
  handlePeekChanged(info: PeekInfo): void;
573
573
  handleEnded(reason: GroupCallEndReason): void;
574
- sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
574
+ sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Uint8Array): void;
575
575
  getVideoSource(remoteDemuxId: number): GroupCallVideoFrameSource;
576
576
  setRemoteAspectRatio(remoteDemuxId: number, aspectRatio: number): void;
577
577
  setRtcStatsInterval(intervalMillis: number): void;
@@ -584,11 +584,8 @@ declare class GroupCallVideoFrameSource {
584
584
  private readonly _groupCall;
585
585
  private readonly _remoteDemuxId;
586
586
  constructor(callManager: CallManager, groupCall: GroupCall, remoteDemuxId: number);
587
- receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
587
+ receiveVideoFrame(buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
588
588
  }
589
- type ProtobufBuffer = Uint8Array | {
590
- toArrayBuffer: () => ArrayBuffer;
591
- };
592
589
  export type UserId = string;
593
590
  export type DeviceId = number;
594
591
  export type CallId = {
@@ -608,8 +605,8 @@ export declare class CallingMessage {
608
605
  export declare class OfferMessage {
609
606
  callId: CallId;
610
607
  type: OfferType;
611
- opaque: ProtobufBuffer;
612
- constructor(callId: CallId, type: OfferType, opaque: ProtobufBuffer);
608
+ opaque: Uint8Array;
609
+ constructor(callId: CallId, type: OfferType, opaque: Uint8Array);
613
610
  }
614
611
  export declare enum OfferType {
615
612
  AudioCall = 0,
@@ -617,13 +614,13 @@ export declare enum OfferType {
617
614
  }
618
615
  export declare class AnswerMessage {
619
616
  callId: CallId;
620
- opaque: ProtobufBuffer;
621
- constructor(callId: CallId, opaque: ProtobufBuffer);
617
+ opaque: Uint8Array;
618
+ constructor(callId: CallId, opaque: Uint8Array);
622
619
  }
623
620
  export declare class IceCandidateMessage {
624
621
  callId: CallId;
625
- opaque: ProtobufBuffer;
626
- constructor(callId: CallId, opaque: ProtobufBuffer);
622
+ opaque: Uint8Array;
623
+ constructor(callId: CallId, opaque: Uint8Array);
627
624
  }
628
625
  export declare class BusyMessage {
629
626
  callId: CallId;
@@ -636,7 +633,7 @@ export declare class HangupMessage {
636
633
  constructor(callId: CallId, type: HangupType, deviceId: DeviceId);
637
634
  }
638
635
  export declare class OpaqueMessage {
639
- data?: ProtobufBuffer;
636
+ data?: Uint8Array;
640
637
  }
641
638
  export declare enum HangupType {
642
639
  Normal = 0,
@@ -668,8 +665,8 @@ export interface CallManager {
668
665
  setOutgoingVideoEnabled(enabled: boolean): void;
669
666
  setOutgoingVideoIsScreenShare(enabled: boolean): void;
670
667
  updateDataMode(dataMode: DataMode): void;
671
- sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
672
- receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
668
+ sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Uint8Array): void;
669
+ receiveVideoFrame(buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
673
670
  receivedOffer(remoteUserId: UserId, remoteDeviceId: DeviceId, localDeviceId: DeviceId, messageAgeSec: number, callId: CallId, offerType: OfferType, opaque: Uint8Array, senderIdentityKey: Uint8Array, receiverIdentityKey: Uint8Array): void;
674
671
  receivedAnswer(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, opaque: Uint8Array, senderIdentityKey: Uint8Array, receiverIdentityKey: Uint8Array): void;
675
672
  receivedIceCandidates(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, candidates: Array<Uint8Array>): void;
@@ -703,7 +700,7 @@ export interface CallManager {
703
700
  blockClient(clientId: GroupCallClientId, otherClientDemuxId: number): void;
704
701
  setGroupMembers(clientId: GroupCallClientId, members: Array<GroupMemberInfo>): void;
705
702
  setMembershipProof(clientId: GroupCallClientId, proof: Uint8Array): void;
706
- receiveGroupCallVideoFrame(clientId: GroupCallClientId, remoteDemuxId: number, buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
703
+ receiveGroupCallVideoFrame(clientId: GroupCallClientId, remoteDemuxId: number, buffer: Uint8Array, maxWidth: number, maxHeight: number): [number, number] | undefined;
707
704
  setRtcStatsInterval(clientId: GroupCallClientId, intervalMillis: number): void;
708
705
  readCallLink(requestId: number, sfuUrl: string, authCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, epoch: number | undefined): void;
709
706
  createCallLink(requestId: number, sfuUrl: string, createCredentialPresentation: Uint8Array, linkRootKey: Uint8Array, adminPasskey: Uint8Array, callLinkPublicParams: Uint8Array, restrictions: number | undefined): void;
@@ -1046,7 +1046,7 @@ class RingRTCType {
1046
1046
  }
1047
1047
  if (message.offer?.callId) {
1048
1048
  const callId = message.offer.callId;
1049
- const opaque = toUint8Array(message.offer.opaque);
1049
+ const opaque = message.offer.opaque;
1050
1050
  // opaque is required. sdp is obsolete, but it might still come with opaque.
1051
1051
  if (!opaque) {
1052
1052
  // TODO: Remove once the proto is updated to only support opaque and require it.
@@ -1061,7 +1061,7 @@ class RingRTCType {
1061
1061
  }
1062
1062
  if (message.answer?.callId) {
1063
1063
  const callId = message.answer.callId;
1064
- const opaque = toUint8Array(message.answer.opaque);
1064
+ const opaque = message.answer.opaque;
1065
1065
  // opaque is required. sdp is obsolete, but it might still come with opaque.
1066
1066
  if (!opaque) {
1067
1067
  // TODO: Remove once the proto is updated to only support opaque and require it.
@@ -1073,10 +1073,9 @@ class RingRTCType {
1073
1073
  if (message.iceCandidates && message.iceCandidates.length > 0) {
1074
1074
  // We assume they all have the same .callId
1075
1075
  const callId = message.iceCandidates[0].callId;
1076
- // We have to copy them to do the .toArrayBuffer() thing.
1077
1076
  const candidates = [];
1078
1077
  for (const candidate of message.iceCandidates) {
1079
- const copy = toUint8Array(candidate.opaque);
1078
+ const copy = candidate.opaque;
1080
1079
  if (copy) {
1081
1080
  candidates.push(copy);
1082
1081
  }
@@ -1111,7 +1110,7 @@ class RingRTCType {
1111
1110
  this.logError('handleCallingMessage(): opaque message received without UUID!');
1112
1111
  return;
1113
1112
  }
1114
- const data = toUint8Array(message.opaque.data);
1113
+ const data = message.opaque.data;
1115
1114
  if (data == undefined) {
1116
1115
  this.logError('handleCallingMessage(): opaque message received without data!');
1117
1116
  return;
@@ -1759,15 +1758,6 @@ class GroupCallVideoFrameSource {
1759
1758
  return frame;
1760
1759
  }
1761
1760
  }
1762
- function toUint8Array(pbab) {
1763
- if (!pbab) {
1764
- return pbab;
1765
- }
1766
- if (pbab instanceof Uint8Array) {
1767
- return pbab;
1768
- }
1769
- return new Uint8Array(pbab.toArrayBuffer());
1770
- }
1771
1761
  class CallingMessage {
1772
1762
  }
1773
1763
  exports.CallingMessage = CallingMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalapp/ringrtc",
3
- "version": "2.58.0",
3
+ "version": "2.59.0",
4
4
  "description": "Signal Messenger voice and video calling library.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "config": {
30
30
  "prebuildUrl": "https://build-artifacts.signal.org/libraries/ringrtc-desktop-build-v${npm_package_version}.tar.gz",
31
- "prebuildChecksum": "4e99497297b8e98452b619a63a7a3f2f7d811002ba9dc70d1ec820b67581f0c1"
31
+ "prebuildChecksum": "616acca5c1d1d6a12d0258a761880df80b937755db8ddebe0375e07a7c3e5a5f"
32
32
  },
33
33
  "author": "",
34
34
  "license": "AGPL-3.0-only",