Don't recreate the audio receive stream when updating the local_ssrc.

Bug: webrtc:11993
Change-Id: Ic5d8a8a8b7c12fb1d906e0b3cbdf657fd9e8eafc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222042
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34299}
This commit is contained in:
Tommi
2021-06-15 23:01:57 +02:00
committed by WebRTC LUCI CQ
parent bc03259de7
commit 08be9baaa3
22 changed files with 266 additions and 34 deletions

View File

@ -77,6 +77,8 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
void SetRemoteSSRC(uint32_t ssrc) override;
void SetLocalSsrc(uint32_t local_ssrc) override;
// Sender part.
void RegisterSendPayloadFrequency(int payload_type,
int payload_frequency) override;
@ -110,6 +112,11 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
uint32_t SSRC() const override { return rtcp_sender_.SSRC(); }
// Semantically identical to `SSRC()` but must be called on the packet
// delivery thread/tq and returns the ssrc that maps to
// RtpRtcpInterface::Configuration::local_media_ssrc.
uint32_t local_media_ssrc() const;
void SetRid(const std::string& rid) override;
void SetMid(const std::string& mid) override;
@ -284,6 +291,7 @@ class ModuleRtpRtcpImpl2 final : public RtpRtcpInterface,
TaskQueueBase* const worker_queue_;
RTC_NO_UNIQUE_ADDRESS SequenceChecker process_thread_checker_;
RTC_NO_UNIQUE_ADDRESS SequenceChecker packet_sequence_checker_;
std::unique_ptr<RtpSenderContext> rtp_sender_;