Change RtpSenders to interact with the media channel directly

Similar to the change for RtpReceivers, this removes the BaseChannel
methods that would just proxy calls to the MediaChannel and instead
gives the MediaChannel directly to the RtpSenders to make the calls
directly.

Bug: webrtc:8587
Change-Id: Ibab98d75ff1641e902281ad9e31ffdad36caff35
Reviewed-on: https://webrtc-review.googlesource.com/38983
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21608}
diff --git a/ortc/ortcrtpsenderadapter.cc b/ortc/ortcrtpsenderadapter.cc
index 306db64..2b25d46 100644
--- a/ortc/ortcrtpsenderadapter.cc
+++ b/ortc/ortcrtpsenderadapter.cc
@@ -156,14 +156,20 @@
 void OrtcRtpSenderAdapter::CreateInternalSender() {
   switch (kind_) {
     case cricket::MEDIA_TYPE_AUDIO: {
-      auto* audio_sender = new AudioRtpSender(nullptr);
-      audio_sender->SetChannel(rtp_transport_controller_->voice_channel());
+      auto* audio_sender = new AudioRtpSender(
+          rtp_transport_controller_->worker_thread(), nullptr);
+      auto* voice_channel = rtp_transport_controller_->voice_channel();
+      RTC_DCHECK(voice_channel);
+      audio_sender->SetMediaChannel(voice_channel->media_channel());
       internal_sender_ = audio_sender;
       break;
     }
     case cricket::MEDIA_TYPE_VIDEO: {
-      auto* video_sender = new VideoRtpSender();
-      video_sender->SetChannel(rtp_transport_controller_->video_channel());
+      auto* video_sender =
+          new VideoRtpSender(rtp_transport_controller_->worker_thread());
+      auto* video_channel = rtp_transport_controller_->video_channel();
+      RTC_DCHECK(video_channel);
+      video_sender->SetMediaChannel(video_channel->media_channel());
       internal_sender_ = video_sender;
       break;
     }