mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00
Reland "Removes lock release in PacedSender callback."
This is a reland of 6b9c60b06d
Original change's description:
> 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}
Bug: webrtc:10809
Change-Id: Id39fc49b0a038e7ae3a0d9818fb0806c33ae0ae0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175656
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31332}
This commit is contained in:
parent
4b860c1fb3
commit
b46df3da44
2 changed files with 1 additions and 8 deletions
|
@ -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…
Reference in a new issue