Add locks and thread annotations for ReceiverReferenceTimeReportEnabled.
Review URL: https://codereview.webrtc.org/1413543007
Cr-Commit-Position: refs/heads/master@{#10473}
diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc
index e86f560..2c89ab2 100644
--- a/webrtc/video/end_to_end_tests.cc
+++ b/webrtc/video/end_to_end_tests.cc
@@ -569,6 +569,7 @@
private:
Action OnSendRtp(const uint8_t* packet, size_t length) override {
+ rtc::CritScope lock_(&crit_);
RTPHeader header;
EXPECT_TRUE(parser_->Parse(packet, length, &header));
@@ -619,6 +620,7 @@
}
Action OnReceiveRtcp(const uint8_t* packet, size_t length) override {
+ rtc::CritScope lock_(&crit_);
if (state_ == kVerifyFecPacketNotInNackList) {
test::RtcpPacketParser rtcp_parser;
rtcp_parser.Parse(packet, length);
@@ -666,7 +668,8 @@
kVerifyFecPacketNotInNackList,
} state_;
- uint16_t fec_sequence_number_;
+ rtc::CriticalSection crit_;
+ uint16_t fec_sequence_number_ GUARDED_BY(&crit_);
bool has_last_sequence_number_;
uint16_t last_sequence_number_;
} test;
@@ -1762,6 +1765,7 @@
private:
Action OnSendRtp(const uint8_t* packet, size_t length) override {
+ rtc::CritScope lock(&crit_);
if (++sent_rtp_packets_ == kPacketNumberToDrop) {
rtc::scoped_ptr<RtpHeaderParser> parser(RtpHeaderParser::Create());
RTPHeader header;
@@ -1774,6 +1778,7 @@
}
Action OnReceiveRtcp(const uint8_t* packet, size_t length) override {
+ rtc::CritScope lock(&crit_);
test::RtcpPacketParser rtcp_parser;
rtcp_parser.Parse(packet, length);
std::vector<uint16_t> nacks = rtcp_parser.nack_item()->last_nack_list();
@@ -1784,7 +1789,7 @@
return SEND_PACKET;
}
- void VerifyStats() {
+ void VerifyStats() EXCLUSIVE_LOCKS_REQUIRED(&crit_) {
if (!dropped_rtp_packet_requested_)
return;
int send_stream_nack_packets = 0;
@@ -1837,9 +1842,10 @@
<< "Timed out waiting for packet to be NACKed.";
}
+ rtc::CriticalSection crit_;
uint64_t sent_rtp_packets_;
- uint16_t dropped_rtp_packet_;
- bool dropped_rtp_packet_requested_;
+ uint16_t dropped_rtp_packet_ GUARDED_BY(&crit_);
+ bool dropped_rtp_packet_requested_ GUARDED_BY(&crit_);
std::vector<VideoReceiveStream*> receive_streams_;
VideoSendStream* send_stream_;
int64_t start_runtime_ms_;
@@ -2050,6 +2056,7 @@
private:
// Receive stream should send RR packets (and RRTR packets if enabled).
Action OnReceiveRtcp(const uint8_t* packet, size_t length) override {
+ rtc::CritScope lock(&crit_);
RTCPUtility::RTCPParserV2 parser(packet, length, true);
EXPECT_TRUE(parser.IsValid());
@@ -2070,6 +2077,7 @@
}
// Send stream should send SR packets (and DLRR packets if enabled).
virtual Action OnSendRtcp(const uint8_t* packet, size_t length) {
+ rtc::CritScope lock(&crit_);
RTCPUtility::RTCPParserV2 parser(packet, length, true);
EXPECT_TRUE(parser.IsValid());
@@ -2112,10 +2120,11 @@
<< "Timed out while waiting for RTCP SR/RR packets to be sent.";
}
+ rtc::CriticalSection crit_;
bool enable_rrtr_;
int sent_rtcp_sr_;
- int sent_rtcp_rr_;
- int sent_rtcp_rrtr_;
+ int sent_rtcp_rr_ GUARDED_BY(&crit_);
+ int sent_rtcp_rrtr_ GUARDED_BY(&crit_);
int sent_rtcp_dlrr_;
} test(enable_rrtr);