Add an active ICE controller that wraps a legacy controller (#7/n)

The wrapping ICE controller will allow existing ICE controller implementations to migrate to the active interface, and eventually deprecate the legacy interface.

Follow-up CL has unit tests for P2PTransportChannel using the new wrapping controller.

Bug: webrtc:14367, webrtc:14131
Change-Id: I6c517449ff1e503e8268a7ef91afda793723fdeb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275302
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Commit-Queue: Sameer Vijaykar <samvi@google.com>
Cr-Commit-Position: refs/heads/main@{#38130}
This commit is contained in:
Sameer Vijaykar
2022-09-19 13:11:11 +02:00
committed by WebRTC LUCI CQ
parent 56b96ffe6a
commit 6326c9c201
7 changed files with 729 additions and 6 deletions

View File

@ -99,8 +99,10 @@ struct IceTransportInit final {
// constructed and used.
//
// 2. If the field trial is enabled
// - then an active ICE controller factory must be supplied and is used.
// - the legacy ICE controller factory is not used in this case.
// a. If an active ICE controller factory is supplied, it is used and
// the legacy ICE controller factory is not used.
// b. If not, a default active ICE controller is used, wrapping over the
// supplied or the default legacy ICE controller.
void set_active_ice_controller_factory(
cricket::ActiveIceControllerFactoryInterface*
active_ice_controller_factory) {