Move SelectMediaType from RampUpTester to BaseTest.

This provides a better default for audio-only tests.

BUG=None

Review-Url: https://codereview.webrtc.org/2794193003
Cr-Commit-Position: refs/heads/master@{#17536}
diff --git a/webrtc/call/rampup_tests.cc b/webrtc/call/rampup_tests.cc
index 6c3cce6..b75418d 100644
--- a/webrtc/call/rampup_tests.cc
+++ b/webrtc/call/rampup_tests.cc
@@ -89,19 +89,6 @@
   send_stream_ = send_stream;
 }
 
-MediaType RampUpTester::SelectMediaType() {
-  if (num_video_streams_ > 0) {
-    if (num_audio_streams_ > 0) {
-      // Rely on call to set media type from payload type.
-      return MediaType::ANY;
-    } else {
-      return MediaType::VIDEO;
-    }
-  } else {
-    return MediaType::AUDIO;
-  }
-}
-
 test::PacketTransport* RampUpTester::CreateSendTransport(Call* sender_call) {
   send_transport_ = new test::PacketTransport(sender_call, this,
                                               test::PacketTransport::kSender,
@@ -110,13 +97,6 @@
   return send_transport_;
 }
 
-test::PacketTransport* RampUpTester::CreateReceiveTransport() {
-  return new test::PacketTransport(nullptr, this,
-                                   test::PacketTransport::kReceiver,
-                                   SelectMediaType(),
-                                   FakeNetworkPipe::Config());
-}
-
 size_t RampUpTester::GetNumVideoStreams() const {
   return num_video_streams_;
 }
diff --git a/webrtc/call/rampup_tests.h b/webrtc/call/rampup_tests.h
index 5b24536..6710dd1 100644
--- a/webrtc/call/rampup_tests.h
+++ b/webrtc/call/rampup_tests.h
@@ -84,9 +84,7 @@
   void OnVideoStreamsCreated(
       VideoSendStream* send_stream,
       const std::vector<VideoReceiveStream*>& receive_streams) override;
-  MediaType SelectMediaType();
   test::PacketTransport* CreateSendTransport(Call* sender_call) override;
-  test::PacketTransport* CreateReceiveTransport() override;
   void ModifyVideoConfigs(
       VideoSendStream::Config* send_config,
       std::vector<VideoReceiveStream::Config>* receive_configs,
diff --git a/webrtc/test/call_test.cc b/webrtc/test/call_test.cc
index 023ff1a..244b79b 100644
--- a/webrtc/test/call_test.cc
+++ b/webrtc/test/call_test.cc
@@ -492,15 +492,28 @@
 void BaseTest::OnCallsCreated(Call* sender_call, Call* receiver_call) {
 }
 
+MediaType BaseTest::SelectMediaType() {
+  if (GetNumVideoStreams() > 0) {
+    if (GetNumAudioStreams() > 0) {
+      // Relies on PayloadDemuxer to set media type from payload type.
+      return MediaType::ANY;
+    } else {
+      return MediaType::VIDEO;
+    }
+  } else {
+    return MediaType::AUDIO;
+  }
+}
+
 test::PacketTransport* BaseTest::CreateSendTransport(Call* sender_call) {
   return new PacketTransport(sender_call, this, test::PacketTransport::kSender,
-                             MediaType::VIDEO,
+                             SelectMediaType(),
                              FakeNetworkPipe::Config());
 }
 
 test::PacketTransport* BaseTest::CreateReceiveTransport() {
   return new PacketTransport(nullptr, this, test::PacketTransport::kReceiver,
-                             MediaType::VIDEO,
+                             SelectMediaType(),
                              FakeNetworkPipe::Config());
 }
 
diff --git a/webrtc/test/call_test.h b/webrtc/test/call_test.h
index b4f6658..b96e5e6 100644
--- a/webrtc/test/call_test.h
+++ b/webrtc/test/call_test.h
@@ -192,7 +192,10 @@
   virtual Call::Config GetReceiverCallConfig();
   virtual void OnCallsCreated(Call* sender_call, Call* receiver_call);
 
-  // The default implementation creates MediaType::VIDEO transports.
+  // Returns VIDEO for video-only tests, AUDIO for audio-only tests,
+  // and ANY for tests sending audio and video over the same
+  // transport.
+  virtual MediaType SelectMediaType();
   virtual test::PacketTransport* CreateSendTransport(Call* sender_call);
   virtual test::PacketTransport* CreateReceiveTransport();