@signalapp/ringrtc 2.50.4 → 2.51.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.50.4, protobuf 2.50.4, ringrtc 2.50.4, 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.51.0, protobuf 2.51.0, ringrtc 2.51.0, regex-aot 0.1.0, partial-default-derive 0.1.0
673
673
 
674
674
  ```
675
675
  GNU AFFERO GENERAL PUBLIC LICENSE
@@ -4120,7 +4120,7 @@ record keeping.)
4120
4120
 
4121
4121
  ISC license used for completely new code in BoringSSL:
4122
4122
 
4123
- /* Copyright (c) 2015, Google Inc.
4123
+ /* Copyright 2015 The BoringSSL Authors
4124
4124
  *
4125
4125
  * Permission to use, copy, modify, and/or distribute this software for any
4126
4126
  * purpose with or without fee is hereby granted, provided that the above
@@ -5220,6 +5220,290 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
5220
5220
 
5221
5221
  ```
5222
5222
 
5223
+ ## llvm-libc
5224
+
5225
+ ```
5226
+ ==============================================================================
5227
+ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
5228
+ ==============================================================================
5229
+
5230
+ Apache License
5231
+ Version 2.0, January 2004
5232
+ http://www.apache.org/licenses/
5233
+
5234
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
5235
+
5236
+ 1. Definitions.
5237
+
5238
+ "License" shall mean the terms and conditions for use, reproduction,
5239
+ and distribution as defined by Sections 1 through 9 of this document.
5240
+
5241
+ "Licensor" shall mean the copyright owner or entity authorized by
5242
+ the copyright owner that is granting the License.
5243
+
5244
+ "Legal Entity" shall mean the union of the acting entity and all
5245
+ other entities that control, are controlled by, or are under common
5246
+ control with that entity. For the purposes of this definition,
5247
+ "control" means (i) the power, direct or indirect, to cause the
5248
+ direction or management of such entity, whether by contract or
5249
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
5250
+ outstanding shares, or (iii) beneficial ownership of such entity.
5251
+
5252
+ "You" (or "Your") shall mean an individual or Legal Entity
5253
+ exercising permissions granted by this License.
5254
+
5255
+ "Source" form shall mean the preferred form for making modifications,
5256
+ including but not limited to software source code, documentation
5257
+ source, and configuration files.
5258
+
5259
+ "Object" form shall mean any form resulting from mechanical
5260
+ transformation or translation of a Source form, including but
5261
+ not limited to compiled object code, generated documentation,
5262
+ and conversions to other media types.
5263
+
5264
+ "Work" shall mean the work of authorship, whether in Source or
5265
+ Object form, made available under the License, as indicated by a
5266
+ copyright notice that is included in or attached to the work
5267
+ (an example is provided in the Appendix below).
5268
+
5269
+ "Derivative Works" shall mean any work, whether in Source or Object
5270
+ form, that is based on (or derived from) the Work and for which the
5271
+ editorial revisions, annotations, elaborations, or other modifications
5272
+ represent, as a whole, an original work of authorship. For the purposes
5273
+ of this License, Derivative Works shall not include works that remain
5274
+ separable from, or merely link (or bind by name) to the interfaces of,
5275
+ the Work and Derivative Works thereof.
5276
+
5277
+ "Contribution" shall mean any work of authorship, including
5278
+ the original version of the Work and any modifications or additions
5279
+ to that Work or Derivative Works thereof, that is intentionally
5280
+ submitted to Licensor for inclusion in the Work by the copyright owner
5281
+ or by an individual or Legal Entity authorized to submit on behalf of
5282
+ the copyright owner. For the purposes of this definition, "submitted"
5283
+ means any form of electronic, verbal, or written communication sent
5284
+ to the Licensor or its representatives, including but not limited to
5285
+ communication on electronic mailing lists, source code control systems,
5286
+ and issue tracking systems that are managed by, or on behalf of, the
5287
+ Licensor for the purpose of discussing and improving the Work, but
5288
+ excluding communication that is conspicuously marked or otherwise
5289
+ designated in writing by the copyright owner as "Not a Contribution."
5290
+
5291
+ "Contributor" shall mean Licensor and any individual or Legal Entity
5292
+ on behalf of whom a Contribution has been received by Licensor and
5293
+ subsequently incorporated within the Work.
5294
+
5295
+ 2. Grant of Copyright License. Subject to the terms and conditions of
5296
+ this License, each Contributor hereby grants to You a perpetual,
5297
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
5298
+ copyright license to reproduce, prepare Derivative Works of,
5299
+ publicly display, publicly perform, sublicense, and distribute the
5300
+ Work and such Derivative Works in Source or Object form.
5301
+
5302
+ 3. Grant of Patent License. Subject to the terms and conditions of
5303
+ this License, each Contributor hereby grants to You a perpetual,
5304
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
5305
+ (except as stated in this section) patent license to make, have made,
5306
+ use, offer to sell, sell, import, and otherwise transfer the Work,
5307
+ where such license applies only to those patent claims licensable
5308
+ by such Contributor that are necessarily infringed by their
5309
+ Contribution(s) alone or by combination of their Contribution(s)
5310
+ with the Work to which such Contribution(s) was submitted. If You
5311
+ institute patent litigation against any entity (including a
5312
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
5313
+ or a Contribution incorporated within the Work constitutes direct
5314
+ or contributory patent infringement, then any patent licenses
5315
+ granted to You under this License for that Work shall terminate
5316
+ as of the date such litigation is filed.
5317
+
5318
+ 4. Redistribution. You may reproduce and distribute copies of the
5319
+ Work or Derivative Works thereof in any medium, with or without
5320
+ modifications, and in Source or Object form, provided that You
5321
+ meet the following conditions:
5322
+
5323
+ (a) You must give any other recipients of the Work or
5324
+ Derivative Works a copy of this License; and
5325
+
5326
+ (b) You must cause any modified files to carry prominent notices
5327
+ stating that You changed the files; and
5328
+
5329
+ (c) You must retain, in the Source form of any Derivative Works
5330
+ that You distribute, all copyright, patent, trademark, and
5331
+ attribution notices from the Source form of the Work,
5332
+ excluding those notices that do not pertain to any part of
5333
+ the Derivative Works; and
5334
+
5335
+ (d) If the Work includes a "NOTICE" text file as part of its
5336
+ distribution, then any Derivative Works that You distribute must
5337
+ include a readable copy of the attribution notices contained
5338
+ within such NOTICE file, excluding those notices that do not
5339
+ pertain to any part of the Derivative Works, in at least one
5340
+ of the following places: within a NOTICE text file distributed
5341
+ as part of the Derivative Works; within the Source form or
5342
+ documentation, if provided along with the Derivative Works; or,
5343
+ within a display generated by the Derivative Works, if and
5344
+ wherever such third-party notices normally appear. The contents
5345
+ of the NOTICE file are for informational purposes only and
5346
+ do not modify the License. You may add Your own attribution
5347
+ notices within Derivative Works that You distribute, alongside
5348
+ or as an addendum to the NOTICE text from the Work, provided
5349
+ that such additional attribution notices cannot be construed
5350
+ as modifying the License.
5351
+
5352
+ You may add Your own copyright statement to Your modifications and
5353
+ may provide additional or different license terms and conditions
5354
+ for use, reproduction, or distribution of Your modifications, or
5355
+ for any such Derivative Works as a whole, provided Your use,
5356
+ reproduction, and distribution of the Work otherwise complies with
5357
+ the conditions stated in this License.
5358
+
5359
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
5360
+ any Contribution intentionally submitted for inclusion in the Work
5361
+ by You to the Licensor shall be under the terms and conditions of
5362
+ this License, without any additional terms or conditions.
5363
+ Notwithstanding the above, nothing herein shall supersede or modify
5364
+ the terms of any separate license agreement you may have executed
5365
+ with Licensor regarding such Contributions.
5366
+
5367
+ 6. Trademarks. This License does not grant permission to use the trade
5368
+ names, trademarks, service marks, or product names of the Licensor,
5369
+ except as required for reasonable and customary use in describing the
5370
+ origin of the Work and reproducing the content of the NOTICE file.
5371
+
5372
+ 7. Disclaimer of Warranty. Unless required by applicable law or
5373
+ agreed to in writing, Licensor provides the Work (and each
5374
+ Contributor provides its Contributions) on an "AS IS" BASIS,
5375
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
5376
+ implied, including, without limitation, any warranties or conditions
5377
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
5378
+ PARTICULAR PURPOSE. You are solely responsible for determining the
5379
+ appropriateness of using or redistributing the Work and assume any
5380
+ risks associated with Your exercise of permissions under this License.
5381
+
5382
+ 8. Limitation of Liability. In no event and under no legal theory,
5383
+ whether in tort (including negligence), contract, or otherwise,
5384
+ unless required by applicable law (such as deliberate and grossly
5385
+ negligent acts) or agreed to in writing, shall any Contributor be
5386
+ liable to You for damages, including any direct, indirect, special,
5387
+ incidental, or consequential damages of any character arising as a
5388
+ result of this License or out of the use or inability to use the
5389
+ Work (including but not limited to damages for loss of goodwill,
5390
+ work stoppage, computer failure or malfunction, or any and all
5391
+ other commercial damages or losses), even if such Contributor
5392
+ has been advised of the possibility of such damages.
5393
+
5394
+ 9. Accepting Warranty or Additional Liability. While redistributing
5395
+ the Work or Derivative Works thereof, You may choose to offer,
5396
+ and charge a fee for, acceptance of support, warranty, indemnity,
5397
+ or other liability obligations and/or rights consistent with this
5398
+ License. However, in accepting such obligations, You may act only
5399
+ on Your own behalf and on Your sole responsibility, not on behalf
5400
+ of any other Contributor, and only if You agree to indemnify,
5401
+ defend, and hold each Contributor harmless for any liability
5402
+ incurred by, or claims asserted against, such Contributor by reason
5403
+ of your accepting any such warranty or additional liability.
5404
+
5405
+ END OF TERMS AND CONDITIONS
5406
+
5407
+ APPENDIX: How to apply the Apache License to your work.
5408
+
5409
+ To apply the Apache License to your work, attach the following
5410
+ boilerplate notice, with the fields enclosed by brackets "[]"
5411
+ replaced with your own identifying information. (Don't include
5412
+ the brackets!) The text should be enclosed in the appropriate
5413
+ comment syntax for the file format. We also recommend that a
5414
+ file or class name and description of purpose be included on the
5415
+ same "printed page" as the copyright notice for easier
5416
+ identification within third-party archives.
5417
+
5418
+ Copyright [yyyy] [name of copyright owner]
5419
+
5420
+ Licensed under the Apache License, Version 2.0 (the "License");
5421
+ you may not use this file except in compliance with the License.
5422
+ You may obtain a copy of the License at
5423
+
5424
+ http://www.apache.org/licenses/LICENSE-2.0
5425
+
5426
+ Unless required by applicable law or agreed to in writing, software
5427
+ distributed under the License is distributed on an "AS IS" BASIS,
5428
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5429
+ See the License for the specific language governing permissions and
5430
+ limitations under the License.
5431
+
5432
+
5433
+ ---- LLVM Exceptions to the Apache 2.0 License ----
5434
+
5435
+ As an exception, if, as a result of your compiling your source code, portions
5436
+ of this Software are embedded into an Object form of such source code, you
5437
+ may redistribute such embedded portions in such Object form without complying
5438
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
5439
+
5440
+ In addition, if you combine or link compiled forms of this Software with
5441
+ software that is licensed under the GPLv2 ("Combined Software") and if a
5442
+ court of competent jurisdiction determines that the patent provision (Section
5443
+ 3), the indemnity provision (Section 9) or other Section of the License
5444
+ conflicts with the conditions of the GPLv2, you may retroactively and
5445
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
5446
+ the License, but only in their entirety and only with respect to the Combined
5447
+ Software.
5448
+
5449
+ ==============================================================================
5450
+ Software from third parties included in the LLVM Project:
5451
+ ==============================================================================
5452
+ The LLVM Project contains third party software which is under different license
5453
+ terms. All such code will be identified clearly using at least one of two
5454
+ mechanisms:
5455
+ 1) It will be in a separate directory tree with its own `LICENSE.txt` or
5456
+ `LICENSE` file at the top containing the specific license and restrictions
5457
+ which apply to that software, or
5458
+ 2) It will contain specific license and restriction terms at the top of every
5459
+ file.
5460
+
5461
+ ==============================================================================
5462
+ Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
5463
+ ==============================================================================
5464
+ University of Illinois/NCSA
5465
+ Open Source License
5466
+
5467
+ Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign.
5468
+ All rights reserved.
5469
+
5470
+ Developed by:
5471
+
5472
+ LLVM Team
5473
+
5474
+ University of Illinois at Urbana-Champaign
5475
+
5476
+ http://llvm.org
5477
+
5478
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
5479
+ this software and associated documentation files (the "Software"), to deal with
5480
+ the Software without restriction, including without limitation the rights to
5481
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
5482
+ of the Software, and to permit persons to whom the Software is furnished to do
5483
+ so, subject to the following conditions:
5484
+
5485
+ * Redistributions of source code must retain the above copyright notice,
5486
+ this list of conditions and the following disclaimers.
5487
+
5488
+ * Redistributions in binary form must reproduce the above copyright notice,
5489
+ this list of conditions and the following disclaimers in the
5490
+ documentation and/or other materials provided with the distribution.
5491
+
5492
+ * Neither the names of the LLVM Team, University of Illinois at
5493
+ Urbana-Champaign, nor the names of its contributors may be used to
5494
+ endorse or promote products derived from this Software without specific
5495
+ prior written permission.
5496
+
5497
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
5498
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
5499
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
5500
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
5501
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
5502
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
5503
+ SOFTWARE.
5504
+
5505
+ ```
5506
+
5223
5507
  ## nasm
5224
5508
 
5225
5509
  ```
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
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, GroupCallKind, GroupCallObserver, GroupMemberInfo, HangupMessage, HangupType, HttpMethod, HttpResult, IceCandidateMessage, JoinState, LocalDeviceState, OfferMessage, OfferType, OpaqueMessage, PeekDeviceInfo, PeekInfo, PeekStatusCodes, Reaction, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, SpeechEvent, UserId, VideoCapturer, VideoRenderer, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
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';
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, Reaction, RemoteDeviceState, RingCancelReason, RingRTCType, RingUpdate, SpeechEvent, UserId, VideoFrameSender, VideoFrameSource, VideoPixelFormatEnum, videoPixelFormatToEnum, VideoRequest, callIdFromEra, callIdFromRingId, } from './ringrtc/Service';
4
3
  export { CallLinkRootKey, CallLinkRestrictions, CallLinkState, } from './ringrtc/CallLinks';
5
4
  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.SpeechEvent = 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;
7
+ exports.RingRTC = exports.CallLinkState = exports.CallLinkRestrictions = exports.CallLinkRootKey = exports.callIdFromRingId = exports.callIdFromEra = exports.VideoRequest = exports.videoPixelFormatToEnum = exports.VideoPixelFormatEnum = exports.SpeechEvent = 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; } });
@@ -36,16 +36,11 @@ Object.defineProperty(exports, "RingCancelReason", { enumerable: true, get: func
36
36
  Object.defineProperty(exports, "RingRTCType", { enumerable: true, get: function () { return Service_2.RingRTCType; } });
37
37
  Object.defineProperty(exports, "RingUpdate", { enumerable: true, get: function () { return Service_2.RingUpdate; } });
38
38
  Object.defineProperty(exports, "SpeechEvent", { enumerable: true, get: function () { return Service_2.SpeechEvent; } });
39
+ Object.defineProperty(exports, "VideoPixelFormatEnum", { enumerable: true, get: function () { return Service_2.VideoPixelFormatEnum; } });
40
+ Object.defineProperty(exports, "videoPixelFormatToEnum", { enumerable: true, get: function () { return Service_2.videoPixelFormatToEnum; } });
39
41
  Object.defineProperty(exports, "VideoRequest", { enumerable: true, get: function () { return Service_2.VideoRequest; } });
40
42
  Object.defineProperty(exports, "callIdFromEra", { enumerable: true, get: function () { return Service_2.callIdFromEra; } });
41
43
  Object.defineProperty(exports, "callIdFromRingId", { enumerable: true, get: function () { return Service_2.callIdFromRingId; } });
42
- var VideoSupport_1 = require("./ringrtc/VideoSupport");
43
- Object.defineProperty(exports, "CanvasVideoRenderer", { enumerable: true, get: function () { return VideoSupport_1.CanvasVideoRenderer; } });
44
- Object.defineProperty(exports, "GumVideoCapturer", { enumerable: true, get: function () { return VideoSupport_1.GumVideoCapturer; } });
45
- Object.defineProperty(exports, "MAX_VIDEO_CAPTURE_AREA", { enumerable: true, get: function () { return VideoSupport_1.MAX_VIDEO_CAPTURE_AREA; } });
46
- Object.defineProperty(exports, "MAX_VIDEO_CAPTURE_BUFFER_SIZE", { enumerable: true, get: function () { return VideoSupport_1.MAX_VIDEO_CAPTURE_BUFFER_SIZE; } });
47
- Object.defineProperty(exports, "MAX_VIDEO_CAPTURE_HEIGHT", { enumerable: true, get: function () { return VideoSupport_1.MAX_VIDEO_CAPTURE_HEIGHT; } });
48
- Object.defineProperty(exports, "MAX_VIDEO_CAPTURE_WIDTH", { enumerable: true, get: function () { return VideoSupport_1.MAX_VIDEO_CAPTURE_WIDTH; } });
49
44
  var CallLinks_1 = require("./ringrtc/CallLinks");
50
45
  Object.defineProperty(exports, "CallLinkRootKey", { enumerable: true, get: function () { return CallLinks_1.CallLinkRootKey; } });
51
46
  Object.defineProperty(exports, "CallLinkRestrictions", { enumerable: true, get: function () { return CallLinks_1.CallLinkRestrictions; } });
@@ -1,4 +1,3 @@
1
- import { GumVideoCaptureOptions, VideoPixelFormatEnum } from './VideoSupport';
2
1
  import { CallLinkState, CallLinkRestrictions, CallLinkRootKey } from './CallLinks';
3
2
  export declare const callIdFromEra: (era: string) => CallId;
4
3
  export declare function callIdFromRingId(ringId: bigint): CallId;
@@ -270,15 +269,10 @@ export declare class RingRTCType {
270
269
  sendCallMessageToGroup(groupId: Buffer, message: Buffer, urgency: CallMessageUrgency, overrideRecipients: Array<Buffer>): void;
271
270
  get call(): Call | null;
272
271
  getCall(callId: CallId): Call | null;
273
- accept(callId: CallId, asVideoCall: boolean): void;
272
+ accept(callId: CallId): void;
274
273
  decline(callId: CallId): void;
275
274
  ignore(callId: CallId): void;
276
275
  hangup(callId: CallId): void;
277
- setOutgoingAudio(callId: CallId, enabled: boolean): void;
278
- setOutgoingVideo(callId: CallId, enabled: boolean): void;
279
- setOutgoingVideoIsScreenShare(callId: CallId, isScreenShare: boolean): void;
280
- setVideoCapturer(callId: CallId, capturer: VideoCapturer | null): void;
281
- setVideoRenderer(callId: CallId, renderer: VideoRenderer | null): void;
282
276
  getAudioInputs(): Array<AudioDevice>;
283
277
  setAudioInput(index: number): void;
284
278
  getAudioOutputs(): Array<AudioDevice>;
@@ -303,14 +297,50 @@ export interface AudioDevice {
303
297
  uniqueId: string;
304
298
  i18nKey?: string;
305
299
  }
306
- export interface VideoCapturer {
307
- enableCapture(): void;
308
- enableCaptureAndSend(call: Call, captureOptions?: GumVideoCaptureOptions): void;
309
- disable(): void;
300
+ export declare enum VideoPixelFormatEnum {
301
+ I420 = 0,
302
+ Nv12 = 1,
303
+ Rgba = 2
304
+ }
305
+ export declare function videoPixelFormatToEnum(format: VideoPixelFormat): VideoPixelFormatEnum | undefined;
306
+ /**
307
+ * Interface for sending video frames to the RingRTC library.
308
+ *
309
+ * VideoFrameSender is used to transmit video frames (from a camera or screen share) over
310
+ * RTP via the RingRTC library.
311
+ */
312
+ export interface VideoFrameSender {
313
+ /**
314
+ * Sends a video frame to be transmitted via RingRTC.
315
+ *
316
+ * @param width - The width of the video frame in pixels
317
+ * @param height - The height of the video frame in pixels
318
+ * @param format - The pixel format of the video data
319
+ * @param buffer - Buffer containing the raw video frame data
320
+ */
321
+ sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
310
322
  }
311
- export interface VideoRenderer {
312
- enable(call: Call): void;
313
- disable(): void;
323
+ /**
324
+ * Interface for retrieving received video frames from the RingRTC library.
325
+ */
326
+ export interface VideoFrameSource {
327
+ /**
328
+ * Copies the latest frame into `buffer`.
329
+ *
330
+ * Note that `maxWidth` and `maxHeight` specify maximum dimensions, but allow for rotation,
331
+ * i.e. a maximum of 1920x1080 will also allow portrait-mode 1080x1920.
332
+ *
333
+ * @param buffer - The destination buffer where the frame will be copied
334
+ * @param maxWidth - Maximum width of the frame to receive
335
+ * @param maxHeight - Maximum height of the frame to receive
336
+ * @returns
337
+ * A tuple of [width, height] of the received frame, containing:
338
+ * - The width in pixels of the received frame
339
+ * - The height in pixels of the received frame
340
+ *
341
+ * Returns undefined if no new frame is available
342
+ */
343
+ receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
314
344
  }
315
345
  export declare class Call {
316
346
  private readonly _callManager;
@@ -319,6 +349,7 @@ export declare class Call {
319
349
  private readonly _isIncoming;
320
350
  private readonly _isVideoCall;
321
351
  private _state;
352
+ private _mediaSessionStarted;
322
353
  private _outgoingAudioEnabled;
323
354
  private _outgoingVideoEnabled;
324
355
  private _outgoingVideoIsScreenShare;
@@ -328,8 +359,6 @@ export declare class Call {
328
359
  remoteAudioLevel: NormalizedAudioLevel;
329
360
  remoteSharingScreen: boolean;
330
361
  networkRoute: NetworkRoute;
331
- private _videoCapturer;
332
- private _videoRenderer;
333
362
  endedReason?: CallEndedReason;
334
363
  handleStateChanged?: () => void;
335
364
  handleRemoteAudioEnabled?: () => void;
@@ -355,27 +384,20 @@ export declare class Call {
355
384
  get state(): CallState;
356
385
  set state(state: CallState);
357
386
  setCallEnded(): void;
358
- set videoCapturer(capturer: VideoCapturer | null);
359
- set videoRenderer(renderer: VideoRenderer | null);
360
387
  accept(): void;
361
388
  decline(): void;
362
389
  ignore(): void;
363
390
  hangup(): void;
364
- get outgoingAudioEnabled(): boolean;
365
- set outgoingAudioEnabled(enabled: boolean);
366
- get outgoingVideoEnabled(): boolean;
367
- set outgoingVideoEnabled(enabled: boolean);
368
- set outgoingVideoIsScreenShare(isScreenShare: boolean);
369
391
  get remoteAudioEnabled(): boolean;
370
392
  set remoteAudioEnabled(enabled: boolean);
371
393
  get remoteVideoEnabled(): boolean;
372
394
  set remoteVideoEnabled(enabled: boolean);
395
+ setOutgoingAudioMuted(muted: boolean): void;
396
+ setOutgoingVideoMuted(muted: boolean): void;
397
+ setOutgoingVideoIsScreenShare(isScreenShare: boolean): void;
373
398
  sendVideoFrame(width: number, height: number, format: VideoPixelFormatEnum, buffer: Buffer): void;
374
399
  receiveVideoFrame(buffer: Buffer, maxWidth: number, maxHeight: number): [number, number] | undefined;
375
- private enableOrDisableCapturer;
376
- private setOutgoingVideoEnabled;
377
400
  updateDataMode(dataMode: DataMode): void;
378
- private enableOrDisableRenderer;
379
401
  }
380
402
  export type GroupCallClientId = number;
381
403
  export declare enum ConnectionState {