New methods for registering network change callbacks in MediaTransport

Adds methods AddNetworkChangeCallback and RemoveNetworkChangeCallback,
to replace SetNetworkChangeCallback. Needed because both VideoChannel
and VoiceChannel register such a callback.

This cl is step 1, it just adds the methods to the interface, without
calling them.

Bug: webrtc:9719
Change-Id: I39f1748706d4369ca71d594ca5e2f1380de5ce66
Reviewed-on: https://webrtc-review.googlesource.com/c/121462
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Peter Slatala <psla@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26541}
diff --git a/api/media_transport_interface.cc b/api/media_transport_interface.cc
index d4f9fd2..a02356e 100644
--- a/api/media_transport_interface.cc
+++ b/api/media_transport_interface.cc
@@ -157,6 +157,12 @@
 void MediaTransportInterface::SetNetworkChangeCallback(
     MediaTransportNetworkChangeCallback* callback) {}
 
+void MediaTransportInterface::AddNetworkChangeCallback(
+    MediaTransportNetworkChangeCallback* callback) {}
+
+void MediaTransportInterface::RemoveNetworkChangeCallback(
+    MediaTransportNetworkChangeCallback* callback) {}
+
 void MediaTransportInterface::SetFirstAudioPacketReceivedObserver(
     AudioPacketReceivedObserver* observer) {}
 
diff --git a/api/media_transport_interface.h b/api/media_transport_interface.h
index 96b135d..ad1f7c6 100644
--- a/api/media_transport_interface.h
+++ b/api/media_transport_interface.h
@@ -433,8 +433,14 @@
   // with the current network route.
   // Before media transport is destroyed, the callback must be unregistered by
   // setting it to nullptr.
+  // TODO(nisse): The SetNetworkChangeCallback is being replaced with Add/Remove
+  // methods, because both video channel and voice channel need to register.
   virtual void SetNetworkChangeCallback(
       MediaTransportNetworkChangeCallback* callback);
+  virtual void AddNetworkChangeCallback(
+      MediaTransportNetworkChangeCallback* callback);
+  virtual void RemoveNetworkChangeCallback(
+      MediaTransportNetworkChangeCallback* callback);
 
   // Sets a state observer callback. Before media transport is destroyed, the
   // callback must be unregistered by setting it to nullptr.