@signalapp/ringrtc 2.45.0 → 2.46.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-core 0.1.0, mrp 2.45.0, protobuf 2.45.0, ringrtc 2.45.0, regex-aot 0.1.0, partial-default-derive 0.1.0
672
+ ## libsignal-core 0.1.0, mrp 2.46.0, protobuf 2.46.0, ringrtc 2.46.0, regex-aot 0.1.0, partial-default-derive 0.1.0
673
673
 
674
674
  ```
675
675
  GNU AFFERO GENERAL PUBLIC LICENSE
@@ -115,6 +115,7 @@ export declare class RingRTCType {
115
115
  proceed(callId: CallId, settings: CallSettings): void;
116
116
  onCallState(remoteUserId: UserId, state: CallState): void;
117
117
  onCallEnded(remoteUserId: UserId, callId: CallId, reason: CallEndedReason, ageSec: number): void;
118
+ onRemoteAudioEnabled(remoteUserId: UserId, enabled: boolean): void;
118
119
  onRemoteVideoEnabled(remoteUserId: UserId, enabled: boolean): void;
119
120
  onRemoteSharingScreen(remoteUserId: UserId, enabled: boolean): void;
120
121
  onNetworkRouteChanged(remoteUserId: UserId, localNetworkAdapterType: NetworkAdapterType): void;
@@ -320,6 +321,7 @@ export declare class Call {
320
321
  private _outgoingAudioEnabled;
321
322
  private _outgoingVideoEnabled;
322
323
  private _outgoingVideoIsScreenShare;
324
+ private _remoteAudioEnabled;
323
325
  private _remoteVideoEnabled;
324
326
  outgoingAudioLevel: NormalizedAudioLevel;
325
327
  remoteAudioLevel: NormalizedAudioLevel;
@@ -329,6 +331,7 @@ export declare class Call {
329
331
  private _videoRenderer;
330
332
  endedReason?: CallEndedReason;
331
333
  handleStateChanged?: () => void;
334
+ handleRemoteAudioEnabled?: () => void;
332
335
  handleRemoteVideoEnabled?: () => void;
333
336
  handleRemoteSharingScreen?: () => void;
334
337
  handleNetworkRouteChanged?: () => void;
@@ -362,6 +365,8 @@ export declare class Call {
362
365
  get outgoingVideoEnabled(): boolean;
363
366
  set outgoingVideoEnabled(enabled: boolean);
364
367
  set outgoingVideoIsScreenShare(isScreenShare: boolean);
368
+ get remoteAudioEnabled(): boolean;
369
+ set remoteAudioEnabled(enabled: boolean);
365
370
  get remoteVideoEnabled(): boolean;
366
371
  set remoteVideoEnabled(enabled: boolean);
367
372
  sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
@@ -668,6 +673,7 @@ export interface CallManagerCallbacks {
668
673
  onStartIncomingCall(remoteUserId: UserId, callId: CallId, isVideoCall: boolean): void;
669
674
  onCallState(remoteUserId: UserId, state: CallState): void;
670
675
  onCallEnded(remoteUserId: UserId, callId: CallId, endedReason: CallEndedReason, ageSec: number): void;
676
+ onRemoteAudioEnabled(remoteUserId: UserId, enabled: boolean): void;
671
677
  onRemoteVideoEnabled(remoteUserId: UserId, enabled: boolean): void;
672
678
  onRemoteSharingScreen(remoteUserId: UserId, enabled: boolean): void;
673
679
  onSendOffer(remoteUserId: UserId, remoteDeviceId: DeviceId, callId: CallId, broadcast: boolean, mediaType: number, opaque: Buffer): void;
@@ -284,8 +284,6 @@ class RingRTCType {
284
284
  const isIncoming = false;
285
285
  const call = new Call(this.callManager, remoteUserId, callId, isIncoming, isVideoCall, CallState.Prering);
286
286
  this._call = call;
287
- // We won't actually send anything until the remote side accepts.
288
- call.outgoingAudioEnabled = true;
289
287
  call.outgoingVideoEnabled = isVideoCall;
290
288
  return call;
291
289
  }
@@ -435,6 +433,16 @@ class RingRTCType {
435
433
  call.endedReason = reason;
436
434
  call.state = CallState.Ended;
437
435
  }
436
+ onRemoteAudioEnabled(remoteUserId, enabled) {
437
+ const call = this._call;
438
+ if (!call || call.remoteUserId !== remoteUserId) {
439
+ return;
440
+ }
441
+ call.remoteAudioEnabled = enabled;
442
+ if (call.handleRemoteAudioEnabled) {
443
+ call.handleRemoteAudioEnabled();
444
+ }
445
+ }
438
446
  onRemoteVideoEnabled(remoteUserId, enabled) {
439
447
  const call = this._call;
440
448
  if (!call || call.remoteUserId !== remoteUserId) {
@@ -1167,6 +1175,7 @@ class Call {
1167
1175
  this._outgoingAudioEnabled = false;
1168
1176
  this._outgoingVideoEnabled = false;
1169
1177
  this._outgoingVideoIsScreenShare = false;
1178
+ this._remoteAudioEnabled = false;
1170
1179
  this._remoteVideoEnabled = false;
1171
1180
  this.outgoingAudioLevel = 0;
1172
1181
  this.remoteAudioLevel = 0;
@@ -1198,6 +1207,10 @@ class Call {
1198
1207
  return;
1199
1208
  }
1200
1209
  this._state = state;
1210
+ if (state === CallState.Accepted) {
1211
+ // Make sure the status gets sent.
1212
+ this.outgoingAudioEnabled = this._outgoingAudioEnabled;
1213
+ }
1201
1214
  this.enableOrDisableCapturer();
1202
1215
  this.enableOrDisableRenderer();
1203
1216
  if (this.handleStateChanged) {
@@ -1262,6 +1275,12 @@ class Call {
1262
1275
  this._callManager.setOutgoingVideoIsScreenShare(isScreenShare);
1263
1276
  });
1264
1277
  }
1278
+ get remoteAudioEnabled() {
1279
+ return this._remoteAudioEnabled;
1280
+ }
1281
+ set remoteAudioEnabled(enabled) {
1282
+ this._remoteAudioEnabled = enabled;
1283
+ }
1265
1284
  get remoteVideoEnabled() {
1266
1285
  return this._remoteVideoEnabled;
1267
1286
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalapp/ringrtc",
3
- "version": "2.45.0",
3
+ "version": "2.46.0",
4
4
  "description": "Signal Messenger voice and video calling library.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "config": {
27
27
  "prebuildUrl": "https://build-artifacts.signal.org/libraries/ringrtc-desktop-build-v${npm_package_version}.tar.gz",
28
- "prebuildChecksum": "b915fd02779133ccf67b7d18e73b1eb4631aab54348b9aac8411b6da2b46ca7a"
28
+ "prebuildChecksum": "4c1eb32d4b9a63dc396147adc22b9f96af72686ec9b1c43fdfe3123d4de51185"
29
29
  },
30
30
  "author": "",
31
31
  "license": "AGPL-3.0-only",