@signalapp/ringrtc 2.58.1 → 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.
- package/dist/acknowledgments.md +1 -1
- package/dist/ringrtc/Service.d.ts +19 -22
- package/dist/ringrtc/Service.js +4 -14
- package/package.json +2 -2
package/dist/acknowledgments.md
CHANGED
|
@@ -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.
|
|
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
|
|
@@ -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:
|
|
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 -
|
|
329
|
+
* @param buffer - The raw video frame data
|
|
330
330
|
*/
|
|
331
|
-
sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer:
|
|
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:
|
|
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:
|
|
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:
|
|
409
|
-
receiveVideoFrame(buffer:
|
|
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:
|
|
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:
|
|
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:
|
|
612
|
-
constructor(callId: CallId, type: OfferType, opaque:
|
|
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:
|
|
621
|
-
constructor(callId: CallId, opaque:
|
|
617
|
+
opaque: Uint8Array;
|
|
618
|
+
constructor(callId: CallId, opaque: Uint8Array);
|
|
622
619
|
}
|
|
623
620
|
export declare class IceCandidateMessage {
|
|
624
621
|
callId: CallId;
|
|
625
|
-
opaque:
|
|
626
|
-
constructor(callId: CallId, opaque:
|
|
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?:
|
|
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:
|
|
672
|
-
receiveVideoFrame(buffer:
|
|
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:
|
|
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;
|
package/dist/ringrtc/Service.js
CHANGED
|
@@ -1046,7 +1046,7 @@ class RingRTCType {
|
|
|
1046
1046
|
}
|
|
1047
1047
|
if (message.offer?.callId) {
|
|
1048
1048
|
const callId = message.offer.callId;
|
|
1049
|
-
const 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 =
|
|
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 =
|
|
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 =
|
|
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.
|
|
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": "
|
|
31
|
+
"prebuildChecksum": "616acca5c1d1d6a12d0258a761880df80b937755db8ddebe0375e07a7c3e5a5f"
|
|
32
32
|
},
|
|
33
33
|
"author": "",
|
|
34
34
|
"license": "AGPL-3.0-only",
|