Using lambdas instead of rtc::Bind in BaseChannel.
This makes it easier to follow the flow in a debugger and reduces
the number of methods.
Bug: webrtc:9883
Change-Id: If485ff08a223a3986ff24b29ebf4d37c325f0f26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152669
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29180}
diff --git a/pc/channel.cc b/pc/channel.cc
index 5966951..9ff47d5 100644
--- a/pc/channel.cc
+++ b/pc/channel.cc
@@ -526,20 +526,14 @@
}
invoker_.AsyncInvoke<void>(
- RTC_FROM_HERE, worker_thread_,
- Bind(&BaseChannel::ProcessPacket, this, rtcp, packet, packet_time_us));
-}
-
-void BaseChannel::ProcessPacket(bool rtcp,
- const rtc::CopyOnWriteBuffer& packet,
- int64_t packet_time_us) {
- RTC_DCHECK(worker_thread_->IsCurrent());
-
- if (rtcp) {
- media_channel_->OnRtcpReceived(packet, packet_time_us);
- } else {
- media_channel_->OnPacketReceived(packet, packet_time_us);
- }
+ RTC_FROM_HERE, worker_thread_, [this, rtcp, packet, packet_time_us] {
+ RTC_DCHECK(worker_thread_->IsCurrent());
+ if (rtcp) {
+ media_channel_->OnRtcpReceived(packet, packet_time_us);
+ } else {
+ media_channel_->OnPacketReceived(packet, packet_time_us);
+ }
+ });
}
void BaseChannel::EnableMedia_w() {
@@ -788,14 +782,11 @@
void BaseChannel::SignalSentPacket_n(const rtc::SentPacket& sent_packet) {
RTC_DCHECK(network_thread_->IsCurrent());
- invoker_.AsyncInvoke<void>(
- RTC_FROM_HERE, worker_thread_,
- rtc::Bind(&BaseChannel::SignalSentPacket_w, this, sent_packet));
-}
-
-void BaseChannel::SignalSentPacket_w(const rtc::SentPacket& sent_packet) {
- RTC_DCHECK(worker_thread_->IsCurrent());
- SignalSentPacket(sent_packet);
+ invoker_.AsyncInvoke<void>(RTC_FROM_HERE, worker_thread_,
+ [this, sent_packet] {
+ RTC_DCHECK(worker_thread_->IsCurrent());
+ SignalSentPacket(sent_packet);
+ });
}
VoiceChannel::VoiceChannel(rtc::Thread* worker_thread,
@@ -827,9 +818,8 @@
void BaseChannel::UpdateMediaSendRecvState() {
RTC_DCHECK(network_thread_->IsCurrent());
- invoker_.AsyncInvoke<void>(
- RTC_FROM_HERE, worker_thread_,
- Bind(&BaseChannel::UpdateMediaSendRecvState_w, this));
+ invoker_.AsyncInvoke<void>(RTC_FROM_HERE, worker_thread_,
+ [this] { UpdateMediaSendRecvState_w(); });
}
void BaseChannel::OnNetworkRouteChanged(
diff --git a/pc/channel.h b/pc/channel.h
index 6774f7e..12046b3 100644
--- a/pc/channel.h
+++ b/pc/channel.h
@@ -227,9 +227,6 @@
void OnPacketReceived(bool rtcp,
const rtc::CopyOnWriteBuffer& packet,
int64_t packet_time_us);
- void ProcessPacket(bool rtcp,
- const rtc::CopyOnWriteBuffer& packet,
- int64_t packet_time_us);
void EnableMedia_w();
void DisableMedia_w();
@@ -294,7 +291,6 @@
bool ConnectToRtpTransport();
void DisconnectFromRtpTransport();
void SignalSentPacket_n(const rtc::SentPacket& sent_packet);
- void SignalSentPacket_w(const rtc::SentPacket& sent_packet);
bool IsReadyToSendMedia_n() const;
// MediaTransportNetworkChangeCallback override.