Removes lock release in PacedSender callback.
The PacedSender currently has logic to temporarily release its internal lock while sending or asking for padding. This creates some tricky situations in the pacing controller where we need to consider if some thread can enter while we the process thread is actually processing, just temporarily busy sending. Since the pacing call stack is no longer cyclic, we can actually remove this lock-release now. Bug: webrtc:10809 Change-Id: Ic59c605252bed1f96a03406c908a30cd1012f995 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173592 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31206}
This commit is contained in:
parent
cc8c07895d
commit
6b9c60b06d
@ -196,17 +196,11 @@ void PacedSender::SetQueueTimeLimit(TimeDelta limit) {
|
||||
|
||||
void PacedSender::SendRtpPacket(std::unique_ptr<RtpPacketToSend> packet,
|
||||
const PacedPacketInfo& cluster_info) {
|
||||
critsect_.Leave();
|
||||
packet_router_->SendPacket(std::move(packet), cluster_info);
|
||||
critsect_.Enter();
|
||||
}
|
||||
|
||||
std::vector<std::unique_ptr<RtpPacketToSend>> PacedSender::GeneratePadding(
|
||||
DataSize size) {
|
||||
std::vector<std::unique_ptr<RtpPacketToSend>> padding_packets;
|
||||
critsect_.Leave();
|
||||
padding_packets = packet_router_->GeneratePadding(size.bytes());
|
||||
critsect_.Enter();
|
||||
return padding_packets;
|
||||
return packet_router_->GeneratePadding(size.bytes());
|
||||
}
|
||||
} // namespace webrtc
|
||||
|
||||
@ -55,7 +55,6 @@ DirectTransport::~DirectTransport() {
|
||||
}
|
||||
|
||||
void DirectTransport::SetReceiver(PacketReceiver* receiver) {
|
||||
rtc::CritScope cs(&process_lock_);
|
||||
fake_network_->SetReceiver(receiver);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user