diff --git a/modules/pacing/paced_sender.cc b/modules/pacing/paced_sender.cc index 1d02fe95e4..cd298f9b0b 100644 --- a/modules/pacing/paced_sender.cc +++ b/modules/pacing/paced_sender.cc @@ -196,11 +196,17 @@ void PacedSender::SetQueueTimeLimit(TimeDelta limit) { void PacedSender::SendRtpPacket(std::unique_ptr packet, const PacedPacketInfo& cluster_info) { + critsect_.Leave(); packet_router_->SendPacket(std::move(packet), cluster_info); + critsect_.Enter(); } std::vector> PacedSender::GeneratePadding( DataSize size) { - return packet_router_->GeneratePadding(size.bytes()); + std::vector> padding_packets; + critsect_.Leave(); + padding_packets = packet_router_->GeneratePadding(size.bytes()); + critsect_.Enter(); + return padding_packets; } } // namespace webrtc diff --git a/test/direct_transport.cc b/test/direct_transport.cc index f4ae047870..818480b18b 100644 --- a/test/direct_transport.cc +++ b/test/direct_transport.cc @@ -55,6 +55,7 @@ DirectTransport::~DirectTransport() { } void DirectTransport::SetReceiver(PacketReceiver* receiver) { + rtc::CritScope cs(&process_lock_); fake_network_->SetReceiver(receiver); }