Commit Graph

42 Commits

Author SHA1 Message Date
Jim Gustafson
16d396ea47 Update to RingRTC v2.2.0 2020-06-23 17:15:02 -07:00
Jim Gustafson
c3d541b507 Update to RingRTC v2.0.4 2020-06-19 15:54:16 -07:00
Jim Gustafson
f333cfa532 Update RingRTC to v2.0.2 2020-05-15 18:11:34 -03:00
Jim Gustafson
e624814d23 Use 2.0.1 production release for artifact 2020-05-08 15:50:50 -07:00
Jim Gustafson
3e63909b5d Update to RingRTC 2.0.1 and WebRTC artifact 2020-05-08 15:50:50 -07:00
Matthew Chen
fc54012ed9 Update to RingRTC v1.3.2. 2020-04-30 13:17:44 -03:00
Matthew Chen
bf2cf1bdcc Update RingRTC v1.3.1. 2020-04-17 17:32:28 -03:00
Nora Trapp
eb7065284c Update to RingRTC v1.2.0 2020-04-02 18:50:39 -07:00
Michael Kirk
b6f2c2f24c update ringrtc to 1.1.0 2020-03-11 13:11:13 -06:00
Jim Gustafson
5e4c315e4d Call Manager Integration (RingRTC v1.0.1) 2020-02-13 12:50:00 -07:00
Nora Trapp
1895eb1c80 RingRTC v0.3.3 2020-01-24 19:54:33 -08:00
Michael Kirk
1cd03b157a fix test build
remove unnecessary system libraries include
2020-01-07 15:22:20 -07:00
Nora Trapp
94bc6a26ef Update to SignalRingRTC 0.3.2 2020-01-03 12:12:06 -08:00
Nora Trapp
04140b319e Build WebRTC with Xcode 10.3 2020-01-02 16:29:11 -08:00
Nora Trapp
e876f5c60e Update pods reference and readme 2020-01-02 12:03:57 -08:00
Orta Therox
49cd8a6d23 Add a note on where the WebRTC framework file comes from 2020-01-02 12:03:57 -08:00
Orta Therox
469e169962 Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
Nora Trapp
6e4ba40659 RingRTC v0.3.1 2020-01-02 12:03:57 -08:00
Nora Trapp
6299b7506d Using RingRTC podspec to make swift version independent (currently using dev
version of v0.2.0)
2020-01-02 12:01:53 -08:00
Nora Trapp
36a127c87c Use Xcode 11.3 debug RingRTC build for now 2019-12-27 15:53:47 -08:00
Michael Kirk
4657ea7ab2 update RingRTC to v0.3.0 2019-12-13 22:37:53 -08:00
Matthew Chen
781e15f173 Update RingRTC to v0.1.9. 2019-11-02 08:28:27 -03:00
Matthew Chen
66a868308a Update RingRTC to v0.1.5. 2019-10-23 18:10:17 -03:00
Michael Kirk
d9d6b0e128 Update RingRTC to v0.1.4 2019-10-11 19:20:17 -07:00
Matthew Chen
95d7ba9c7e Update RingRTC to v0.1.3. 2019-10-09 10:14:35 -03:00
Matthew Chen
9287e874f6 Update to Production build of RingRTC. 2019-10-08 16:19:19 -03:00
Matthew Chen
cc37a11eea RingRTC v0.1.2 2019-10-07 18:05:52 -03:00
Jim Gustafson
820deae787 Integrate RingRTC
This commit integrates RingRTC in to Signal-iOS. Only two source code
files are affected, CallService.swift and PeerConnection.swift, as well
as the Xcode project. Other code, related to the WebRTC protocol
buffers, has been removed since it is now handled by RingRTC.

RingRTC is provided as a framework named SignalRingRTC.framework. This
works in tandem with WebRTC, and hence currently requires that as well,
WebRTC.framework. To make integration easier, avoid a zombie repository
on GitHub, and keep the integrity of older versions, we re-use the
signal-webrtc-ios-artifacts repository. We simply add the new framework
for SignalRingRTC in the Build directory.

The Xcode project is adjusted to include the new SignalRingRTC
framework. Please note that the WebRTC.framework is also modified for
RingRTC, and is itself updated and part of the delivery. Both of the
framework artifacts come from the ringrtc repository.

The PeerConnectionClient.swift implementation is very different than
the previous version. It now serves as a thin wrapper around the
RingRTC CallConnection class. It provides some fundamental
serialization and helps with overall stability, although it could be
deprecated eventually.

For the CallService, the basic callflow is changed. Previously, it
would use promise chains to go through RTC negotiation until a message
was created for signaling to the peer. Now, RingRTC itself handles
this, and those promise chains are replaced with singular calls in to
the CallConnection (via PeerConnectionClient), with asynchronous
callbacks coming in the future for the signaling parts and other key
notifications.

In summary, other aspects of the integration on CallService include:
- The removal of the call timeout and associated callConnectedPromise.
  Timeouts are handled within RingRTC.
- For incoming calls, the 'backgroundTask' is now a variable in the
  CallData class and cleared on call connect or eventual deinit.
- When receiving Ice candidates, the existing behavior of queueing them
  until the PeerConnectionClient is valid is maintained.
- When sending Ice candidates, the existing behavior of queueing them
  so they are sent in batches in cadence with the actual sending speed
  is maintained.
- All signaling handlers, to send messages such as offer, answer, etc.,
  are handled asynchronously and in a consistent way, with call
  failures being issued for any negative result.
2019-10-07 18:05:52 -03:00
Michael Kirk
1e9a1ed86f update webrtc to m77 2019-09-11 12:52:06 -07:00
Michael Kirk
b8009c51e6 update WebRTC to M76 2019-08-09 16:16:48 -06:00
Michael Kirk
cce1c52b24 rebuild WebRTC M75 w/ iOS9 support 2019-06-21 18:07:42 -06:00
Nora Trapp
5fb6c1c1a4 Fix accidental WebRTC rollback 2019-06-20 17:31:46 -07:00
Nora Trapp
433523a193 KeyBackupService 2019-06-20 10:55:22 -07:00
Michael Kirk
5e72cb16be Update WebRTC to M75 2019-06-20 09:48:28 -06:00
Matthew Chen
a8e76759ae WebRTC M74. 2019-05-14 15:56:08 -04:00
Matthew Chen
c0b92c31a8 Add more accessibility identifiers. 2019-05-14 15:04:13 -04:00
Michael Kirk
82627b8bbf WebRTC M74 2019-05-13 13:37:15 -06:00
Michael Kirk
c0ad7da592 update WebRTC artifact to M73 2019-03-18 12:56:28 -07:00
Michael Kirk
a573bd4d3a update WebRTC artifact to M72 2019-02-04 10:32:09 -07:00
Michael Kirk
91cf022716 WebRTC M71
Protocol was renamed in 416018d455%5E%21/

And the RTC_SUPPORTS_METAL define was removed from RTC headers.
2019-01-07 10:39:08 -07:00
Michael Kirk
9708a1aeda update WebRTC to M70 2018-10-23 23:52:53 -06:00
Michael Kirk
91eba4dbfc Move WebRTC to separate submodule 2018-10-22 14:48:45 -06:00