@signalapp/ringrtc 2.28.0 → 2.29.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/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/ringrtc/Service.d.ts +30 -13
- package/dist/ringrtc/Service.js +48 -17
- package/dist/ringrtc/VideoSupport.js +8 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RingRTCType } from './ringrtc/Service';
|
|
2
|
-
export { AnswerMessage, AudioDevice, DataMode, BusyMessage, Call, CallEndedReason, CallId, CallLogLevel, CallMessageUrgency, CallSettings, CallState, CallingMessage, ConnectionState, DeviceId, GroupCall, GroupCallEndReason, GroupCallObserver, GroupMemberInfo, HangupMessage, HangupType, HttpMethod, HttpResult, IceCandidateMessage, JoinState, LocalDeviceState, OfferMessage, OfferType, OpaqueMessage, PeekDeviceInfo, PeekInfo, PeekStatusCodes, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, UserId, VideoCapturer, VideoRenderer, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
|
|
2
|
+
export { AnswerMessage, AudioDevice, DataMode, BusyMessage, Call, CallEndedReason, CallId, CallLogLevel, CallMessageUrgency, CallSettings, CallState, CallingMessage, ConnectionState, DeviceId, GroupCall, GroupCallEndReason, GroupCallKind, GroupCallObserver, GroupMemberInfo, HangupMessage, HangupType, HttpMethod, HttpResult, IceCandidateMessage, JoinState, LocalDeviceState, OfferMessage, OfferType, OpaqueMessage, PeekDeviceInfo, PeekInfo, PeekStatusCodes, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, UserId, VideoCapturer, VideoRenderer, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
|
|
3
3
|
export { CanvasVideoRenderer, GumVideoCapturer, VideoFrameSource, MAX_VIDEO_CAPTURE_AREA, MAX_VIDEO_CAPTURE_BUFFER_SIZE, MAX_VIDEO_CAPTURE_HEIGHT, MAX_VIDEO_CAPTURE_WIDTH, } from './ringrtc/VideoSupport';
|
|
4
4
|
export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, } from './ringrtc/CallLinks';
|
|
5
5
|
export declare const RingRTC: RingRTCType;
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
5
5
|
//
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.RingRTC = exports.CallLinkState = exports.CallLinkRestrictions = exports.CallLinkRootKey = exports.MAX_VIDEO_CAPTURE_WIDTH = exports.MAX_VIDEO_CAPTURE_HEIGHT = exports.MAX_VIDEO_CAPTURE_BUFFER_SIZE = exports.MAX_VIDEO_CAPTURE_AREA = exports.GumVideoCapturer = exports.CanvasVideoRenderer = exports.callIdFromRingId = exports.callIdFromEra = exports.VideoRequest = exports.RingUpdate = exports.RingRTCType = exports.RingCancelReason = exports.RemoteDeviceState = exports.PeekStatusCodes = exports.OpaqueMessage = exports.OfferType = exports.OfferMessage = exports.LocalDeviceState = exports.JoinState = exports.IceCandidateMessage = exports.HttpMethod = exports.HangupType = exports.HangupMessage = exports.GroupMemberInfo = exports.GroupCallEndReason = exports.GroupCall = exports.ConnectionState = exports.CallingMessage = exports.CallState = exports.CallMessageUrgency = exports.CallLogLevel = exports.CallEndedReason = exports.Call = exports.BusyMessage = exports.DataMode = exports.AnswerMessage = void 0;
|
|
7
|
+
exports.RingRTC = exports.CallLinkState = exports.CallLinkRestrictions = exports.CallLinkRootKey = exports.MAX_VIDEO_CAPTURE_WIDTH = exports.MAX_VIDEO_CAPTURE_HEIGHT = exports.MAX_VIDEO_CAPTURE_BUFFER_SIZE = exports.MAX_VIDEO_CAPTURE_AREA = exports.GumVideoCapturer = exports.CanvasVideoRenderer = exports.callIdFromRingId = exports.callIdFromEra = exports.VideoRequest = exports.RingUpdate = exports.RingRTCType = exports.RingCancelReason = exports.RemoteDeviceState = exports.PeekStatusCodes = exports.OpaqueMessage = exports.OfferType = exports.OfferMessage = exports.LocalDeviceState = exports.JoinState = exports.IceCandidateMessage = exports.HttpMethod = exports.HangupType = exports.HangupMessage = exports.GroupMemberInfo = exports.GroupCallKind = exports.GroupCallEndReason = exports.GroupCall = exports.ConnectionState = exports.CallingMessage = exports.CallState = exports.CallMessageUrgency = exports.CallLogLevel = exports.CallEndedReason = exports.Call = exports.BusyMessage = exports.DataMode = exports.AnswerMessage = void 0;
|
|
8
8
|
const Service_1 = require("./ringrtc/Service");
|
|
9
9
|
var Service_2 = require("./ringrtc/Service");
|
|
10
10
|
Object.defineProperty(exports, "AnswerMessage", { enumerable: true, get: function () { return Service_2.AnswerMessage; } });
|
|
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "CallingMessage", { enumerable: true, get: functi
|
|
|
19
19
|
Object.defineProperty(exports, "ConnectionState", { enumerable: true, get: function () { return Service_2.ConnectionState; } });
|
|
20
20
|
Object.defineProperty(exports, "GroupCall", { enumerable: true, get: function () { return Service_2.GroupCall; } });
|
|
21
21
|
Object.defineProperty(exports, "GroupCallEndReason", { enumerable: true, get: function () { return Service_2.GroupCallEndReason; } });
|
|
22
|
+
Object.defineProperty(exports, "GroupCallKind", { enumerable: true, get: function () { return Service_2.GroupCallKind; } });
|
|
22
23
|
Object.defineProperty(exports, "GroupMemberInfo", { enumerable: true, get: function () { return Service_2.GroupMemberInfo; } });
|
|
23
24
|
Object.defineProperty(exports, "HangupMessage", { enumerable: true, get: function () { return Service_2.HangupMessage; } });
|
|
24
25
|
Object.defineProperty(exports, "HangupType", { enumerable: true, get: function () { return Service_2.HangupType; } });
|
|
@@ -19,6 +19,7 @@ export interface PeekInfo {
|
|
|
19
19
|
eraId?: string;
|
|
20
20
|
maxDevices?: number;
|
|
21
21
|
deviceCount: number;
|
|
22
|
+
pendingUsers: Array<GroupCallUserId>;
|
|
22
23
|
}
|
|
23
24
|
export declare enum PeekStatusCodes {
|
|
24
25
|
EXPIRED_CALL_LINK = 703,
|
|
@@ -331,18 +332,20 @@ export declare enum JoinState {
|
|
|
331
332
|
export declare enum GroupCallEndReason {
|
|
332
333
|
DeviceExplicitlyDisconnected = 0,
|
|
333
334
|
ServerExplicitlyDisconnected = 1,
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
335
|
+
DeniedRequestToJoinCall = 2,
|
|
336
|
+
RemovedFromCall = 3,
|
|
337
|
+
CallManagerIsBusy = 4,
|
|
338
|
+
SfuClientFailedToJoin = 5,
|
|
339
|
+
FailedToCreatePeerConnectionFactory = 6,
|
|
340
|
+
FailedToNegotiateSrtpKeys = 7,
|
|
341
|
+
FailedToCreatePeerConnection = 8,
|
|
342
|
+
FailedToStartPeerConnection = 9,
|
|
343
|
+
FailedToUpdatePeerConnection = 10,
|
|
344
|
+
FailedToSetMaxSendBitrate = 11,
|
|
345
|
+
IceFailedWhileConnecting = 12,
|
|
346
|
+
IceFailedAfterConnected = 13,
|
|
347
|
+
ServerChangedDemuxId = 14,
|
|
348
|
+
HasMaxDevices = 15
|
|
346
349
|
}
|
|
347
350
|
export declare enum CallMessageUrgency {
|
|
348
351
|
Droppable = 0,
|
|
@@ -403,6 +406,10 @@ export declare class VideoRequest {
|
|
|
403
406
|
framerate: number | undefined;
|
|
404
407
|
constructor(demuxId: number, width: number, height: number, framerate: number | undefined);
|
|
405
408
|
}
|
|
409
|
+
export declare enum GroupCallKind {
|
|
410
|
+
SignalGroup = 0,
|
|
411
|
+
CallLink = 1
|
|
412
|
+
}
|
|
406
413
|
export interface GroupCallObserver {
|
|
407
414
|
requestMembershipProof(groupCall: GroupCall): void;
|
|
408
415
|
requestGroupMembers(groupCall: GroupCall): void;
|
|
@@ -413,6 +420,7 @@ export interface GroupCallObserver {
|
|
|
413
420
|
onEnded(groupCall: GroupCall, reason: GroupCallEndReason): void;
|
|
414
421
|
}
|
|
415
422
|
export declare class GroupCall {
|
|
423
|
+
private readonly _kind;
|
|
416
424
|
private readonly _callManager;
|
|
417
425
|
private readonly _observer;
|
|
418
426
|
private readonly _clientId;
|
|
@@ -420,7 +428,8 @@ export declare class GroupCall {
|
|
|
420
428
|
private _localDeviceState;
|
|
421
429
|
private _remoteDeviceStates;
|
|
422
430
|
private _peekInfo;
|
|
423
|
-
constructor(callManager: CallManager, observer: GroupCallObserver, clientId: GroupCallClientId);
|
|
431
|
+
constructor(kind: GroupCallKind, callManager: CallManager, observer: GroupCallObserver, clientId: GroupCallClientId);
|
|
432
|
+
getKind(): GroupCallKind;
|
|
424
433
|
connect(): void;
|
|
425
434
|
join(): void;
|
|
426
435
|
leave(): void;
|
|
@@ -436,6 +445,10 @@ export declare class GroupCall {
|
|
|
436
445
|
resendMediaKeys(): void;
|
|
437
446
|
setDataMode(dataMode: DataMode): void;
|
|
438
447
|
requestVideo(resolutions: Array<VideoRequest>, activeSpeakerHeight: number): void;
|
|
448
|
+
approveUser(otherUserId: Buffer): void;
|
|
449
|
+
denyUser(otherUserId: Buffer): void;
|
|
450
|
+
removeClient(otherClientDemuxId: number): void;
|
|
451
|
+
blockClient(otherClientDemuxId: number): void;
|
|
439
452
|
setGroupMembers(members: Array<GroupMemberInfo>): void;
|
|
440
453
|
setMembershipProof(proof: Buffer): void;
|
|
441
454
|
requestMembershipProof(): void;
|
|
@@ -567,6 +580,10 @@ export interface CallManager {
|
|
|
567
580
|
resendMediaKeys(clientId: GroupCallClientId): void;
|
|
568
581
|
setDataMode(clientId: GroupCallClientId, dataMode: DataMode): void;
|
|
569
582
|
requestVideo(clientId: GroupCallClientId, resolutions: Array<VideoRequest>, activeSpeakerHeight: number): void;
|
|
583
|
+
approveUser(clientId: GroupCallClientId, otherUserId: Buffer): void;
|
|
584
|
+
denyUser(clientId: GroupCallClientId, otherUserId: Buffer): void;
|
|
585
|
+
removeClient(clientId: GroupCallClientId, otherClientDemuxId: number): void;
|
|
586
|
+
blockClient(clientId: GroupCallClientId, otherClientDemuxId: number): void;
|
|
570
587
|
setGroupMembers(clientId: GroupCallClientId, members: Array<GroupMemberInfo>): void;
|
|
571
588
|
setMembershipProof(clientId: GroupCallClientId, proof: Buffer): void;
|
|
572
589
|
receiveGroupCallVideoFrame(clientId: GroupCallClientId, remoteDemuxId: number, buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
|
package/dist/ringrtc/Service.js
CHANGED
|
@@ -39,7 +39,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.CallLogLevel = exports.CallEndedReason = exports.CallState = exports.RingCancelReason = exports.DataMode = exports.HangupType = exports.OpaqueMessage = exports.HangupMessage = exports.BusyMessage = exports.IceCandidateMessage = exports.AnswerMessage = exports.OfferType = exports.OfferMessage = exports.CallingMessage = exports.GroupCall = exports.VideoRequest = exports.GroupMemberInfo = exports.RemoteDeviceState = exports.LocalDeviceState = exports.HttpMethod = exports.RingUpdate = exports.CallMessageUrgency = exports.GroupCallEndReason = exports.JoinState = exports.ConnectionState = exports.Call = exports.RingRTCType = exports.ReceivedAudioLevel = exports.NetworkRoute = exports.PeekStatusCodes = exports.callIdFromRingId = exports.callIdFromEra = void 0;
|
|
42
|
+
exports.CallLogLevel = exports.CallEndedReason = exports.CallState = exports.RingCancelReason = exports.DataMode = exports.HangupType = exports.OpaqueMessage = exports.HangupMessage = exports.BusyMessage = exports.IceCandidateMessage = exports.AnswerMessage = exports.OfferType = exports.OfferMessage = exports.CallingMessage = exports.GroupCall = exports.GroupCallKind = exports.VideoRequest = exports.GroupMemberInfo = exports.RemoteDeviceState = exports.LocalDeviceState = exports.HttpMethod = exports.RingUpdate = exports.CallMessageUrgency = exports.GroupCallEndReason = exports.JoinState = exports.ConnectionState = exports.Call = exports.RingRTCType = exports.ReceivedAudioLevel = exports.NetworkRoute = exports.PeekStatusCodes = exports.callIdFromRingId = exports.callIdFromEra = void 0;
|
|
43
43
|
/* eslint-disable max-classes-per-file */
|
|
44
44
|
const process = __importStar(require("process"));
|
|
45
45
|
const CallLinks_1 = require("./CallLinks");
|
|
@@ -156,6 +156,10 @@ NativeCallManager.prototype.resendMediaKeys =
|
|
|
156
156
|
Native_1.default.cm_resendMediaKeys;
|
|
157
157
|
NativeCallManager.prototype.setDataMode = Native_1.default.cm_setDataMode;
|
|
158
158
|
NativeCallManager.prototype.requestVideo = Native_1.default.cm_requestVideo;
|
|
159
|
+
NativeCallManager.prototype.approveUser = Native_1.default.cm_approveUser;
|
|
160
|
+
NativeCallManager.prototype.denyUser = Native_1.default.cm_denyUser;
|
|
161
|
+
NativeCallManager.prototype.removeClient = Native_1.default.cm_removeClient;
|
|
162
|
+
NativeCallManager.prototype.blockClient = Native_1.default.cm_blockClient;
|
|
159
163
|
NativeCallManager.prototype.setGroupMembers =
|
|
160
164
|
Native_1.default.cm_setGroupMembers;
|
|
161
165
|
NativeCallManager.prototype.setMembershipProof =
|
|
@@ -702,14 +706,14 @@ class RingRTCType {
|
|
|
702
706
|
// Called by UX
|
|
703
707
|
getGroupCall(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis, observer) {
|
|
704
708
|
const clientId = this.callManager.createGroupCallClient(groupId, sfuUrl, hkdfExtraInfo, audioLevelsIntervalMillis || 0);
|
|
705
|
-
const groupCall = new GroupCall(this.callManager, observer, clientId);
|
|
709
|
+
const groupCall = new GroupCall(GroupCallKind.SignalGroup, this.callManager, observer, clientId);
|
|
706
710
|
this._groupCallByClientId.set(groupCall.clientId, groupCall);
|
|
707
711
|
return groupCall;
|
|
708
712
|
}
|
|
709
713
|
// Called by UX
|
|
710
714
|
getCallLinkCall(sfuUrl, authCredentialPresentation, rootKey, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis, observer) {
|
|
711
715
|
const clientId = this.callManager.createCallLinkCallClient(sfuUrl, authCredentialPresentation, rootKey.bytes, adminPasskey, hkdfExtraInfo, audioLevelsIntervalMillis || 0);
|
|
712
|
-
const groupCall = new GroupCall(this.callManager, observer, clientId);
|
|
716
|
+
const groupCall = new GroupCall(GroupCallKind.CallLink, this.callManager, observer, clientId);
|
|
713
717
|
this._groupCallByClientId.set(groupCall.clientId, groupCall);
|
|
714
718
|
return groupCall;
|
|
715
719
|
}
|
|
@@ -726,7 +730,7 @@ class RingRTCType {
|
|
|
726
730
|
return result.value;
|
|
727
731
|
}
|
|
728
732
|
else {
|
|
729
|
-
return { devices: [], deviceCount: 0 };
|
|
733
|
+
return { devices: [], deviceCount: 0, pendingUsers: [] };
|
|
730
734
|
}
|
|
731
735
|
});
|
|
732
736
|
}
|
|
@@ -1340,19 +1344,21 @@ var GroupCallEndReason;
|
|
|
1340
1344
|
// Normal events
|
|
1341
1345
|
GroupCallEndReason[GroupCallEndReason["DeviceExplicitlyDisconnected"] = 0] = "DeviceExplicitlyDisconnected";
|
|
1342
1346
|
GroupCallEndReason[GroupCallEndReason["ServerExplicitlyDisconnected"] = 1] = "ServerExplicitlyDisconnected";
|
|
1347
|
+
GroupCallEndReason[GroupCallEndReason["DeniedRequestToJoinCall"] = 2] = "DeniedRequestToJoinCall";
|
|
1348
|
+
GroupCallEndReason[GroupCallEndReason["RemovedFromCall"] = 3] = "RemovedFromCall";
|
|
1343
1349
|
// Things that can go wrong
|
|
1344
|
-
GroupCallEndReason[GroupCallEndReason["CallManagerIsBusy"] =
|
|
1345
|
-
GroupCallEndReason[GroupCallEndReason["SfuClientFailedToJoin"] =
|
|
1346
|
-
GroupCallEndReason[GroupCallEndReason["FailedToCreatePeerConnectionFactory"] =
|
|
1347
|
-
GroupCallEndReason[GroupCallEndReason["FailedToNegotiateSrtpKeys"] =
|
|
1348
|
-
GroupCallEndReason[GroupCallEndReason["FailedToCreatePeerConnection"] =
|
|
1349
|
-
GroupCallEndReason[GroupCallEndReason["FailedToStartPeerConnection"] =
|
|
1350
|
-
GroupCallEndReason[GroupCallEndReason["FailedToUpdatePeerConnection"] =
|
|
1351
|
-
GroupCallEndReason[GroupCallEndReason["FailedToSetMaxSendBitrate"] =
|
|
1352
|
-
GroupCallEndReason[GroupCallEndReason["IceFailedWhileConnecting"] =
|
|
1353
|
-
GroupCallEndReason[GroupCallEndReason["IceFailedAfterConnected"] =
|
|
1354
|
-
GroupCallEndReason[GroupCallEndReason["ServerChangedDemuxId"] =
|
|
1355
|
-
GroupCallEndReason[GroupCallEndReason["HasMaxDevices"] =
|
|
1350
|
+
GroupCallEndReason[GroupCallEndReason["CallManagerIsBusy"] = 4] = "CallManagerIsBusy";
|
|
1351
|
+
GroupCallEndReason[GroupCallEndReason["SfuClientFailedToJoin"] = 5] = "SfuClientFailedToJoin";
|
|
1352
|
+
GroupCallEndReason[GroupCallEndReason["FailedToCreatePeerConnectionFactory"] = 6] = "FailedToCreatePeerConnectionFactory";
|
|
1353
|
+
GroupCallEndReason[GroupCallEndReason["FailedToNegotiateSrtpKeys"] = 7] = "FailedToNegotiateSrtpKeys";
|
|
1354
|
+
GroupCallEndReason[GroupCallEndReason["FailedToCreatePeerConnection"] = 8] = "FailedToCreatePeerConnection";
|
|
1355
|
+
GroupCallEndReason[GroupCallEndReason["FailedToStartPeerConnection"] = 9] = "FailedToStartPeerConnection";
|
|
1356
|
+
GroupCallEndReason[GroupCallEndReason["FailedToUpdatePeerConnection"] = 10] = "FailedToUpdatePeerConnection";
|
|
1357
|
+
GroupCallEndReason[GroupCallEndReason["FailedToSetMaxSendBitrate"] = 11] = "FailedToSetMaxSendBitrate";
|
|
1358
|
+
GroupCallEndReason[GroupCallEndReason["IceFailedWhileConnecting"] = 12] = "IceFailedWhileConnecting";
|
|
1359
|
+
GroupCallEndReason[GroupCallEndReason["IceFailedAfterConnected"] = 13] = "IceFailedAfterConnected";
|
|
1360
|
+
GroupCallEndReason[GroupCallEndReason["ServerChangedDemuxId"] = 14] = "ServerChangedDemuxId";
|
|
1361
|
+
GroupCallEndReason[GroupCallEndReason["HasMaxDevices"] = 15] = "HasMaxDevices";
|
|
1356
1362
|
})(GroupCallEndReason = exports.GroupCallEndReason || (exports.GroupCallEndReason = {}));
|
|
1357
1363
|
var CallMessageUrgency;
|
|
1358
1364
|
(function (CallMessageUrgency) {
|
|
@@ -1429,17 +1435,26 @@ class VideoRequest {
|
|
|
1429
1435
|
}
|
|
1430
1436
|
}
|
|
1431
1437
|
exports.VideoRequest = VideoRequest;
|
|
1438
|
+
var GroupCallKind;
|
|
1439
|
+
(function (GroupCallKind) {
|
|
1440
|
+
GroupCallKind[GroupCallKind["SignalGroup"] = 0] = "SignalGroup";
|
|
1441
|
+
GroupCallKind[GroupCallKind["CallLink"] = 1] = "CallLink";
|
|
1442
|
+
})(GroupCallKind = exports.GroupCallKind || (exports.GroupCallKind = {}));
|
|
1432
1443
|
class GroupCall {
|
|
1433
1444
|
get clientId() {
|
|
1434
1445
|
return this._clientId;
|
|
1435
1446
|
}
|
|
1436
1447
|
// Called by UI via RingRTC object
|
|
1437
|
-
constructor(callManager, observer, clientId) {
|
|
1448
|
+
constructor(kind, callManager, observer, clientId) {
|
|
1449
|
+
this._kind = kind;
|
|
1438
1450
|
this._callManager = callManager;
|
|
1439
1451
|
this._observer = observer;
|
|
1440
1452
|
this._clientId = clientId;
|
|
1441
1453
|
this._localDeviceState = new LocalDeviceState();
|
|
1442
1454
|
}
|
|
1455
|
+
getKind() {
|
|
1456
|
+
return this._kind;
|
|
1457
|
+
}
|
|
1443
1458
|
// Called by UI
|
|
1444
1459
|
connect() {
|
|
1445
1460
|
this._callManager.connect(this._clientId);
|
|
@@ -1509,6 +1524,22 @@ class GroupCall {
|
|
|
1509
1524
|
this._callManager.requestVideo(this._clientId, resolutions, activeSpeakerHeight);
|
|
1510
1525
|
}
|
|
1511
1526
|
// Called by UI
|
|
1527
|
+
approveUser(otherUserId) {
|
|
1528
|
+
this._callManager.approveUser(this._clientId, otherUserId);
|
|
1529
|
+
}
|
|
1530
|
+
// Called by UI
|
|
1531
|
+
denyUser(otherUserId) {
|
|
1532
|
+
this._callManager.denyUser(this._clientId, otherUserId);
|
|
1533
|
+
}
|
|
1534
|
+
// Called by UI
|
|
1535
|
+
removeClient(otherClientDemuxId) {
|
|
1536
|
+
this._callManager.removeClient(this._clientId, otherClientDemuxId);
|
|
1537
|
+
}
|
|
1538
|
+
// Called by UI
|
|
1539
|
+
blockClient(otherClientDemuxId) {
|
|
1540
|
+
this._callManager.blockClient(this._clientId, otherClientDemuxId);
|
|
1541
|
+
}
|
|
1542
|
+
// Called by UI
|
|
1512
1543
|
setGroupMembers(members) {
|
|
1513
1544
|
this._callManager.setGroupMembers(this._clientId, members);
|
|
1514
1545
|
}
|
|
@@ -130,12 +130,15 @@ class GumVideoCapturer {
|
|
|
130
130
|
deviceId: (_a = options.preferredDeviceId) !== null && _a !== void 0 ? _a : this.preferredDeviceId,
|
|
131
131
|
width: {
|
|
132
132
|
max: options.maxWidth,
|
|
133
|
+
ideal: options.maxWidth,
|
|
133
134
|
},
|
|
134
135
|
height: {
|
|
135
136
|
max: options.maxHeight,
|
|
137
|
+
ideal: options.maxHeight,
|
|
136
138
|
},
|
|
137
139
|
frameRate: {
|
|
138
140
|
max: options.maxFramerate,
|
|
141
|
+
ideal: options.maxFramerate,
|
|
139
142
|
},
|
|
140
143
|
},
|
|
141
144
|
};
|
|
@@ -271,11 +274,15 @@ class GumVideoCapturer {
|
|
|
271
274
|
index_1.RingRTC.logWarn(`Unsupported video frame format: ${frame.format}`);
|
|
272
275
|
break;
|
|
273
276
|
}
|
|
277
|
+
const visibleRect = frame.visibleRect;
|
|
278
|
+
if (!visibleRect) {
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
274
281
|
yield frame.copyTo(buffer);
|
|
275
282
|
if (sender !== this.sender) {
|
|
276
283
|
break;
|
|
277
284
|
}
|
|
278
|
-
sender.sendVideoFrame(
|
|
285
|
+
sender.sendVideoFrame(visibleRect.width, visibleRect.height, format, buffer);
|
|
279
286
|
}
|
|
280
287
|
catch (e) {
|
|
281
288
|
index_1.RingRTC.logError(`sendVideoFrame(): ${e}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalapp/ringrtc",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.29.0",
|
|
4
4
|
"description": "Signal Messenger voice and video calling library.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"config": {
|
|
25
25
|
"prebuildUrl": "https://build-artifacts.signal.org/libraries/ringrtc-desktop-build-v${npm_package_version}.tar.gz",
|
|
26
|
-
"prebuildChecksum": "
|
|
26
|
+
"prebuildChecksum": "dae749c2e95b583012db0c0b05ca32385bab287a671eb33afcfb7e18ee9f982b"
|
|
27
27
|
},
|
|
28
28
|
"author": "",
|
|
29
29
|
"license": "AGPL-3.0-only",
|