| Index: webrtc/voice_engine/channel.cc
|
| diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
|
| index 25f44c1c66fcbaccc7543121971f0c9cda6dc4e1..985dda2a1a9289b503193d69be2de3ccccfdc678 100644
|
| --- a/webrtc/voice_engine/channel.cc
|
| +++ b/webrtc/voice_engine/channel.cc
|
| @@ -125,6 +125,12 @@ class RtpPacketSenderProxy : public RtpPacketSender {
|
| rtp_packet_sender_ = rtp_packet_sender;
|
| }
|
|
|
| + bool HasPacketSender() const {
|
| + RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| + rtc::CritScope lock(&crit_);
|
| + return rtp_packet_sender_ != nullptr;
|
| + }
|
| +
|
| // Implements RtpPacketSender.
|
| void InsertPacket(Priority priority,
|
| uint32_t ssrc,
|
| @@ -2922,6 +2928,9 @@ void Channel::SetCongestionControlObjects(
|
| RtpPacketSender* rtp_packet_sender,
|
| TransportFeedbackObserver* transport_feedback_observer,
|
| PacketRouter* packet_router) {
|
| + bool sender = rtp_packet_sender != nullptr ||
|
| + (rtp_packet_sender_proxy_.get() &&
|
| + rtp_packet_sender_proxy_->HasPacketSender());
|
| RTC_DCHECK(packet_router != nullptr || packet_router_ != nullptr);
|
| if (transport_feedback_observer) {
|
| RTC_DCHECK(feedback_observer_proxy_.get());
|
| @@ -2937,7 +2946,7 @@ void Channel::SetCongestionControlObjects(
|
| }
|
| _rtpRtcpModule->SetStorePacketsStatus(rtp_packet_sender != nullptr, 600);
|
| if (packet_router != nullptr) {
|
| - packet_router->AddRtpModule(_rtpRtcpModule.get());
|
| + packet_router->AddRtpModule(_rtpRtcpModule.get(), sender);
|
| } else {
|
| packet_router_->RemoveRtpModule(_rtpRtcpModule.get());
|
| }
|
|
|