Register audio send stream in packet router on Start().

Currently, the RtpRtcp module of AudioSendStream is (de)registered in
the packet router on calls to
(Register|Reset)SenderCongestionControlObjects.
This CL changes that to happen on Start/Stop instead, which allows us
to safely call (Get|Set)RtpState on suspend/resume without the need
for extra locking in the rtp module.

See also https://webrtc-review.googlesource.com/c/src/+/228430

Bug: webrtc:11340
Change-Id: I54243a9ace8a7659924269418468b49b967b9465
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228433
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34738}
diff --git a/audio/channel_send.cc b/audio/channel_send.cc
index ee6f0c5..37a14b7 100644
--- a/audio/channel_send.cc
+++ b/audio/channel_send.cc
@@ -537,9 +537,12 @@
   RTC_DCHECK(!sending_);
   sending_ = true;
 
+  RTC_DCHECK(packet_router_);
+  packet_router_->AddSendRtpModule(rtp_rtcp_.get(), /*remb_candidate=*/false);
   rtp_rtcp_->SetSendingMediaStatus(true);
   int ret = rtp_rtcp_->SetSendingStatus(true);
   RTC_DCHECK_EQ(0, ret);
+
   // It is now OK to start processing on the encoder task queue.
   encoder_queue_.PostTask([this] {
     RTC_DCHECK_RUN_ON(&encoder_queue_);
@@ -568,6 +571,9 @@
     RTC_DLOG(LS_ERROR) << "StartSend() RTP/RTCP failed to stop sending";
   }
   rtp_rtcp_->SetSendingMediaStatus(false);
+
+  RTC_DCHECK(packet_router_);
+  packet_router_->RemoveSendRtpModule(rtp_rtcp_.get());
 }
 
 void ChannelSend::SetEncoder(int payload_type,
@@ -723,8 +729,6 @@
   rtcp_observer_->SetBandwidthObserver(bandwidth_observer);
   rtp_packet_pacer_proxy_->SetPacketPacer(rtp_packet_pacer);
   rtp_rtcp_->SetStorePacketsStatus(true, 600);
-  constexpr bool remb_candidate = false;
-  packet_router->AddSendRtpModule(rtp_rtcp_.get(), remb_candidate);
   packet_router_ = packet_router;
 }
 
@@ -733,7 +737,6 @@
   RTC_DCHECK(packet_router_);
   rtp_rtcp_->SetStorePacketsStatus(false, 600);
   rtcp_observer_->SetBandwidthObserver(nullptr);
-  packet_router_->RemoveSendRtpModule(rtp_rtcp_.get());
   packet_router_ = nullptr;
   rtp_packet_pacer_proxy_->SetPacketPacer(nullptr);
 }