diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index d729b9f..876ee69 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -701,7 +701,7 @@
   configuration.extmap_allow_mixed = extmap_allow_mixed;
   configuration.rtcp_report_interval_ms = rtcp_report_interval_ms;
 
-  configuration.media_send_ssrc = ssrc;
+  configuration.local_media_ssrc = ssrc;
 
   _rtpRtcpModule = RtpRtcp::Create(configuration);
   _rtpRtcpModule->SetSendingMediaStatus(false);
diff --git a/call/flexfec_receive_stream_impl.cc b/call/flexfec_receive_stream_impl.cc
index f466cad..9ffa515 100644
--- a/call/flexfec_receive_stream_impl.cc
+++ b/call/flexfec_receive_stream_impl.cc
@@ -131,7 +131,7 @@
   configuration.receive_statistics = receive_statistics;
   configuration.outgoing_transport = config.rtcp_send_transport;
   configuration.rtt_stats = rtt_stats;
-  configuration.media_send_ssrc = config.local_ssrc;
+  configuration.local_media_ssrc = config.local_ssrc;
   return RtpRtcp::Create(configuration);
 }
 
diff --git a/call/rtp_video_sender.cc b/call/rtp_video_sender.cc
index 77f2ba9..7e4a2ad 100644
--- a/call/rtp_video_sender.cc
+++ b/call/rtp_video_sender.cc
@@ -113,11 +113,11 @@
   RTC_DCHECK(rtp_config.rtx.ssrcs.empty() ||
              rtp_config.rtx.ssrcs.size() == rtp_config.rtx.ssrcs.size());
   for (size_t i = 0; i < rtp_config.ssrcs.size(); ++i) {
-    configuration.media_send_ssrc = rtp_config.ssrcs[i];
+    configuration.local_media_ssrc = rtp_config.ssrcs[i];
     bool enable_flexfec = flexfec_sender != nullptr &&
                           std::find(flexfec_protected_ssrcs.begin(),
                                     flexfec_protected_ssrcs.end(),
-                                    *configuration.media_send_ssrc) !=
+                                    *configuration.local_media_ssrc) !=
                               flexfec_protected_ssrcs.end();
     configuration.flexfec_sender = enable_flexfec ? flexfec_sender : nullptr;
     auto playout_delay_oracle = absl::make_unique<PlayoutDelayOracle>();
diff --git a/modules/rtp_rtcp/include/rtp_rtcp.h b/modules/rtp_rtcp/include/rtp_rtcp.h
index 6a2d91b..5ace64b 100644
--- a/modules/rtp_rtcp/include/rtp_rtcp.h
+++ b/modules/rtp_rtcp/include/rtp_rtcp.h
@@ -122,11 +122,18 @@
     // defaults to  webrtc::FieldTrialBasedConfig.
     const WebRtcKeyValueConfig* field_trials = nullptr;
 
-    // SSRCs for sending media and retransmission, respectively.
+    // SSRCs for media and retransmission, respectively.
     // FlexFec SSRC is fetched from |flexfec_sender|.
+    // |media_send_ssrc| has been deprecated, use local_media_ssrc instead.
     absl::optional<uint32_t> media_send_ssrc;
+    absl::optional<uint32_t> local_media_ssrc;
     absl::optional<uint32_t> rtx_send_ssrc;
 
+    // TODO(bugs.webrtc.org/10774): Remove this fallback.
+    absl::optional<uint32_t> get_local_media_ssrc() const {
+      return local_media_ssrc ? local_media_ssrc : media_send_ssrc;
+    }
+
    private:
     RTC_DISALLOW_COPY_AND_ASSIGN(Configuration);
   };
diff --git a/modules/rtp_rtcp/source/nack_rtx_unittest.cc b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
index 1f5d64a..363fa79 100644
--- a/modules/rtp_rtcp/source/nack_rtx_unittest.cc
+++ b/modules/rtp_rtcp/source/nack_rtx_unittest.cc
@@ -135,7 +135,7 @@
     configuration.receive_statistics = receive_statistics_.get();
     configuration.outgoing_transport = &transport_;
     configuration.retransmission_rate_limiter = &retransmission_rate_limiter_;
-    configuration.media_send_ssrc = kTestSsrc;
+    configuration.local_media_ssrc = kTestSsrc;
     rtp_rtcp_module_ = RtpRtcp::Create(configuration);
     rtp_sender_video_ = absl::make_unique<RTPSenderVideo>(
         &fake_clock, rtp_rtcp_module_->RtpSender(), nullptr,
diff --git a/modules/rtp_rtcp/source/rtcp_receiver.cc b/modules/rtp_rtcp/source/rtcp_receiver.cc
index 69cb44f..20cfb8f 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -137,7 +137,8 @@
                               ? config.rtcp_report_interval_ms
                               : (config.audio ? kDefaultAudioReportInterval
                                               : kDefaultVideoReportInterval)),
-      main_ssrc_(config.media_send_ssrc.value_or(0)),
+      // TODO(bugs.webrtc.org/10774): Remove fallback.
+      main_ssrc_(config.get_local_media_ssrc().value_or(0)),
       remote_ssrc_(0),
       remote_sender_rtp_time_(0),
       xr_rrtr_status_(false),
@@ -152,8 +153,8 @@
       num_skipped_packets_(0),
       last_skipped_packets_warning_ms_(clock_->TimeInMilliseconds()) {
   RTC_DCHECK(owner);
-  if (config.media_send_ssrc) {
-    registered_ssrcs_.insert(*config.media_send_ssrc);
+  if (config.get_local_media_ssrc()) {
+    registered_ssrcs_.insert(*config.get_local_media_ssrc());
   }
   if (config.rtx_send_ssrc) {
     registered_ssrcs_.insert(*config.rtx_send_ssrc);
diff --git a/modules/rtp_rtcp/source/rtcp_receiver_unittest.cc b/modules/rtp_rtcp/source/rtcp_receiver_unittest.cc
index e9c6e2c..3eff3e4 100644
--- a/modules/rtp_rtcp/source/rtcp_receiver_unittest.cc
+++ b/modules/rtp_rtcp/source/rtcp_receiver_unittest.cc
@@ -152,7 +152,7 @@
               config.bitrate_allocation_observer =
                   &bitrate_allocation_observer_;
               config.rtcp_report_interval_ms = kRtcpIntervalMs;
-              config.media_send_ssrc = kReceiverMainSsrc;
+              config.local_media_ssrc = kReceiverMainSsrc;
               config.rtx_send_ssrc = kReceiverExtraSsrc;
               return config;
             }(),
diff --git a/modules/rtp_rtcp/source/rtcp_sender.cc b/modules/rtp_rtcp/source/rtcp_sender.cc
index aedca53..a54b451 100644
--- a/modules/rtp_rtcp/source/rtcp_sender.cc
+++ b/modules/rtp_rtcp/source/rtcp_sender.cc
@@ -130,7 +130,7 @@
       timestamp_offset_(0),
       last_rtp_timestamp_(0),
       last_frame_capture_time_ms_(-1),
-      ssrc_(config.media_send_ssrc.value_or(0)),
+      ssrc_(config.get_local_media_ssrc().value_or(0)),
       remote_ssrc_(0),
       receive_statistics_(config.receive_statistics),
 
diff --git a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
index 09cdff1..a077836 100644
--- a/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtcp_sender_unittest.cc
@@ -92,7 +92,7 @@
     configuration.retransmission_rate_limiter = &retransmission_rate_limiter_;
     configuration.rtcp_report_interval_ms = 1000;
     configuration.receive_statistics = receive_statistics_.get();
-    configuration.media_send_ssrc = kSenderSsrc;
+    configuration.local_media_ssrc = kSenderSsrc;
     return configuration;
   }
 
@@ -195,7 +195,7 @@
   config.receive_statistics = receive_statistics_.get();
   config.outgoing_transport = &test_transport_;
   config.rtcp_report_interval_ms = 1000;
-  config.media_send_ssrc = kSenderSsrc;
+  config.local_media_ssrc = kSenderSsrc;
   rtcp_sender_.reset(new RTCPSender(config));
   rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
   rtcp_sender_->SetRTCPStatus(RtcpMode::kReducedSize);
@@ -217,7 +217,7 @@
   config.receive_statistics = receive_statistics_.get();
   config.outgoing_transport = &test_transport_;
   config.rtcp_report_interval_ms = 1000;
-  config.media_send_ssrc = kSenderSsrc;
+  config.local_media_ssrc = kSenderSsrc;
   rtcp_sender_.reset(new RTCPSender(config));
   rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
   rtcp_sender_->SetRTCPStatus(RtcpMode::kCompound);
@@ -695,7 +695,7 @@
   config.receive_statistics = receive_statistics_.get();
   config.outgoing_transport = &mock_transport;
   config.rtcp_report_interval_ms = 1000;
-  config.media_send_ssrc = kSenderSsrc;
+  config.local_media_ssrc = kSenderSsrc;
   rtcp_sender_.reset(new RTCPSender(config));
 
   rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
@@ -827,7 +827,7 @@
 TEST_F(RtcpSenderTest, DoesntSchedulesInitialReportOnFirstSetSsrc) {
   // Set up without first SSRC not set at construction.
   RtpRtcp::Configuration configuration = GetDefaultConfig();
-  configuration.media_send_ssrc = absl::nullopt;
+  configuration.local_media_ssrc = absl::nullopt;
 
   rtcp_sender_.reset(new RTCPSender(configuration));
   rtcp_sender_->SetRemoteSSRC(kRemoteSsrc);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
index f4553e1..e6f8db1 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl_unittest.cc
@@ -162,7 +162,7 @@
     config.rtcp_packet_type_counter_observer = this;
     config.rtt_stats = &rtt_stats_;
     config.rtcp_report_interval_ms = rtcp_report_interval_ms_;
-    config.media_send_ssrc = kSenderSsrc;
+    config.local_media_ssrc = kSenderSsrc;
 
     impl_.reset(new ModuleRtpRtcpImpl(config));
     impl_->SetRTCPStatus(RtcpMode::kCompound);
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index a29cb24..f7ee263 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -175,7 +175,7 @@
       bitrate_callback_(config.send_bitrate_observer),
       // RTP variables
       sequence_number_forced_(false),
-      ssrc_(config.media_send_ssrc),
+      ssrc_(config.get_local_media_ssrc()),
       ssrc_has_acked_(false),
       rtx_ssrc_has_acked_(false),
       last_rtp_timestamp_(0),
diff --git a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc
index dea2a38..1dad5b7 100644
--- a/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_audio_unittest.cc
@@ -70,7 +70,7 @@
           config.audio = true;
           config.clock = &fake_clock_;
           config.outgoing_transport = &transport_;
-          config.media_send_ssrc = kSsrc;
+          config.local_media_ssrc = kSsrc;
           return config;
         }()),
         rtp_sender_audio_(&fake_clock_, &rtp_sender_) {
diff --git a/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
index dd36dc2..d505280 100644
--- a/modules/rtp_rtcp/source/rtp_sender_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_unittest.cc
@@ -245,7 +245,7 @@
     RtpRtcp::Configuration config;
     config.clock = &fake_clock_;
     config.outgoing_transport = &transport_;
-    config.media_send_ssrc = kSsrc;
+    config.local_media_ssrc = kSsrc;
     config.rtx_send_ssrc = kRtxSsrc;
     config.flexfec_sender = &flexfec_sender_;
     config.transport_sequence_number_allocator = &seq_num_allocator_;
@@ -426,7 +426,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.event_log = &mock_rtc_event_log_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -476,7 +476,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.transport_feedback_callback = &feedback_observer_;
   config.event_log = &mock_rtc_event_log_;
@@ -515,7 +515,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.transport_feedback_callback = &feedback_observer_;
   config.event_log = &mock_rtc_event_log_;
@@ -557,7 +557,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.transport_feedback_callback = &feedback_observer_;
   config.event_log = &mock_rtc_event_log_;
@@ -617,7 +617,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.send_side_delay_observer = &send_side_delay_observer_;
   config.event_log = &mock_rtc_event_log_;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -707,7 +707,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.transport_feedback_callback = &feedback_observer_;
   config.event_log = &mock_rtc_event_log_;
@@ -1244,7 +1244,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -1280,7 +1280,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.rtx_send_ssrc = kRtxSsrc;
   config.event_log = &mock_rtc_event_log_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
@@ -1448,7 +1448,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.flexfec_sender = &flexfec_sender_;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.event_log = &mock_rtc_event_log_;
@@ -1562,7 +1562,7 @@
   config.event_log = &mock_rtc_event_log_;
   config.send_packet_observer = &send_packet_observer_;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
   rtp_sender_->SetSequenceNumber(kSeqNum);
   rtp_sender_->SetStorePacketsStatus(true, 10);
@@ -1723,7 +1723,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.flexfec_sender = &flexfec_sender;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.event_log = &mock_rtc_event_log_;
@@ -1992,7 +1992,7 @@
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
   config.paced_sender = &mock_paced_sender_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.flexfec_sender = &flexfec_sender;
   config.transport_sequence_number_allocator = &seq_num_allocator_;
   config.event_log = &mock_rtc_event_log_;
@@ -2075,7 +2075,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.send_bitrate_observer = &callback;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -2314,7 +2314,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.overhead_observer = &mock_overhead_observer;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -2337,7 +2337,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.retransmission_rate_limiter = &retransmission_rate_limiter_;
   config.overhead_observer = &mock_overhead_observer;
   rtp_sender_ = absl::make_unique<RTPSender>(config);
@@ -2560,7 +2560,7 @@
   RtpRtcp::Configuration config;
   config.clock = &fake_clock_;
   config.outgoing_transport = &transport_;
-  config.media_send_ssrc = kSsrc;
+  config.local_media_ssrc = kSsrc;
   config.rtx_send_ssrc = kRtxSsrc;
   config.flexfec_sender = &flexfec_sender_;
   config.send_side_delay_observer = &send_side_delay_observer;
diff --git a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc
index f19c110..54210c7 100644
--- a/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_sender_video_unittest.cc
@@ -147,7 +147,7 @@
           config.outgoing_transport = &transport_;
           config.retransmission_rate_limiter = &retransmission_rate_limiter_;
           config.field_trials = &field_trials_;
-          config.media_send_ssrc = kSsrc;
+          config.local_media_ssrc = kSsrc;
           return config;
         }()),
         rtp_sender_video_(&fake_clock_, &rtp_sender_, nullptr, field_trials_) {
diff --git a/video/end_to_end_tests/bandwidth_tests.cc b/video/end_to_end_tests/bandwidth_tests.cc
index e9b4131..64c50d0 100644
--- a/video/end_to_end_tests/bandwidth_tests.cc
+++ b/video/end_to_end_tests/bandwidth_tests.cc
@@ -201,7 +201,7 @@
       config.clock = clock_;
       config.outgoing_transport = receive_transport_;
       config.retransmission_rate_limiter = &retransmission_rate_limiter_;
-      config.media_send_ssrc = (*receive_configs)[0].rtp.local_ssrc;
+      config.local_media_ssrc = (*receive_configs)[0].rtp.local_ssrc;
       rtp_rtcp_ = RtpRtcp::Create(config);
       rtp_rtcp_->SetRemoteSSRC((*receive_configs)[0].rtp.remote_ssrc);
       rtp_rtcp_->SetRTCPStatus(RtcpMode::kReducedSize);
diff --git a/video/rtp_video_stream_receiver.cc b/video/rtp_video_stream_receiver.cc
index 696aa2c..6f478f8 100644
--- a/video/rtp_video_stream_receiver.cc
+++ b/video/rtp_video_stream_receiver.cc
@@ -67,7 +67,7 @@
   configuration.rtt_stats = rtt_stats;
   configuration.rtcp_packet_type_counter_observer =
       rtcp_packet_type_counter_observer;
-  configuration.media_send_ssrc = local_ssrc;
+  configuration.local_media_ssrc = local_ssrc;
 
   std::unique_ptr<RtpRtcp> rtp_rtcp = RtpRtcp::Create(configuration);
   rtp_rtcp->SetRTCPStatus(RtcpMode::kCompound);
