FakeNetworkInterface: remove lock recursions.
This change removes lock recursions and adds thread annotations.
Bug: webrtc:11567
Change-Id: I28b18256e627f43dc0d01d28452b2bcbf59cebac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175124
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31271}
diff --git a/media/base/fake_network_interface.h b/media/base/fake_network_interface.h
index 7d50ca8..28fbb31 100644
--- a/media/base/fake_network_interface.h
+++ b/media/base/fake_network_interface.h
@@ -43,13 +43,14 @@
// Conference mode is a mode where instead of simply forwarding the packets,
// the transport will send multiple copies of the packet with the specified
// SSRCs. This allows us to simulate receiving media from multiple sources.
- void SetConferenceMode(bool conf, const std::vector<uint32_t>& ssrcs) {
+ void SetConferenceMode(bool conf, const std::vector<uint32_t>& ssrcs)
+ RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
conf_ = conf;
conf_sent_ssrcs_ = ssrcs;
}
- int NumRtpBytes() {
+ int NumRtpBytes() RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
int bytes = 0;
for (size_t i = 0; i < rtp_packets_.size(); ++i) {
@@ -58,48 +59,50 @@
return bytes;
}
- int NumRtpBytes(uint32_t ssrc) {
+ int NumRtpBytes(uint32_t ssrc) RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
int bytes = 0;
GetNumRtpBytesAndPackets(ssrc, &bytes, NULL);
return bytes;
}
- int NumRtpPackets() {
+ int NumRtpPackets() RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
return static_cast<int>(rtp_packets_.size());
}
- int NumRtpPackets(uint32_t ssrc) {
+ int NumRtpPackets(uint32_t ssrc) RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
int packets = 0;
GetNumRtpBytesAndPackets(ssrc, NULL, &packets);
return packets;
}
- int NumSentSsrcs() {
+ int NumSentSsrcs() RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
return static_cast<int>(sent_ssrcs_.size());
}
// Note: callers are responsible for deleting the returned buffer.
- const rtc::CopyOnWriteBuffer* GetRtpPacket(int index) {
+ const rtc::CopyOnWriteBuffer* GetRtpPacket(int index)
+ RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
- if (index >= NumRtpPackets()) {
+ if (index >= static_cast<int>(rtp_packets_.size())) {
return NULL;
}
return new rtc::CopyOnWriteBuffer(rtp_packets_[index]);
}
- int NumRtcpPackets() {
+ int NumRtcpPackets() RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
return static_cast<int>(rtcp_packets_.size());
}
// Note: callers are responsible for deleting the returned buffer.
- const rtc::CopyOnWriteBuffer* GetRtcpPacket(int index) {
+ const rtc::CopyOnWriteBuffer* GetRtcpPacket(int index)
+ RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
- if (index >= NumRtcpPackets()) {
+ if (index >= static_cast<int>(rtcp_packets_.size())) {
return NULL;
}
return new rtc::CopyOnWriteBuffer(rtcp_packets_[index]);
@@ -112,7 +115,8 @@
protected:
virtual bool SendPacket(rtc::CopyOnWriteBuffer* packet,
- const rtc::PacketOptions& options) {
+ const rtc::PacketOptions& options)
+ RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
uint32_t cur_ssrc = 0;
@@ -137,7 +141,8 @@
}
virtual bool SendRtcp(rtc::CopyOnWriteBuffer* packet,
- const rtc::PacketOptions& options) {
+ const rtc::PacketOptions& options)
+ RTC_LOCKS_EXCLUDED(crit_) {
rtc::CritScope cs(&crit_);
rtcp_packets_.push_back(*packet);
options_ = options;