From 26e88b0c1d85c8bd025cc363375c08bab25b81da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= Date: Mon, 19 Nov 2018 15:08:13 +0100 Subject: [PATCH] Replace RTC_DCHECK by RTC_DCHECK_RUN_ON for worker thread. Enabled use of RTC_GUARDED_BY on members. Bug: webrtc:9801 Change-Id: Id09176e2053f59ae55cfd7236e6d93d3f81636d5 Reviewed-on: https://webrtc-review.googlesource.com/c/111380 Reviewed-by: Karl Wiberg Commit-Queue: Niels Moller Cr-Commit-Position: refs/heads/master@{#25695} --- audio/channel_send.cc | 50 +++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/audio/channel_send.cc b/audio/channel_send.cc index 001fd6cf1b..715c93fd94 100644 --- a/audio/channel_send.cc +++ b/audio/channel_send.cc @@ -247,7 +247,7 @@ class ChannelSend rtc::CriticalSection _callbackCritSect; rtc::CriticalSection volume_settings_critsect_; - bool sending_ = false; + bool sending_ RTC_GUARDED_BY(&worker_thread_checker_) = false; RtcEventLog* const event_log_; @@ -794,7 +794,7 @@ ChannelSend::~ChannelSend() { } void ChannelSend::StartSend() { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK(!sending_); sending_ = true; @@ -814,7 +814,7 @@ void ChannelSend::StartSend() { } void ChannelSend::StopSend() { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); if (!sending_) { return; } @@ -856,7 +856,7 @@ void ChannelSend::StopSend() { bool ChannelSend::SetEncoder(int payload_type, std::unique_ptr encoder) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK_GE(payload_type, 0); RTC_DCHECK_LE(payload_type, 127); // TODO(ossu): Make CodecInsts up, for now: one for the RTP/RTCP module and @@ -900,7 +900,7 @@ bool ChannelSend::SetEncoder(int payload_type, void ChannelSend::ModifyEncoder( rtc::FunctionView*)> modifier) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); audio_coding_->ModifyEncoder(modifier); } @@ -928,7 +928,7 @@ int ChannelSend::GetBitrate() const { } void ChannelSend::OnTwccBasedUplinkPacketLossRate(float packet_loss_rate) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); if (!use_twcc_plr_for_ana_) return; audio_coding_->ModifyEncoder([&](std::unique_ptr* encoder) { @@ -940,7 +940,7 @@ void ChannelSend::OnTwccBasedUplinkPacketLossRate(float packet_loss_rate) { void ChannelSend::OnRecoverableUplinkPacketLossRate( float recoverable_packet_loss_rate) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); audio_coding_->ModifyEncoder([&](std::unique_ptr* encoder) { if (*encoder) { (*encoder)->OnReceivedUplinkRecoverablePacketLossFraction( @@ -960,7 +960,7 @@ void ChannelSend::OnUplinkPacketLossRate(float packet_loss_rate) { } void ChannelSend::RegisterTransport(Transport* transport) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); rtc::CritScope cs(&_callbackCritSect); _transportPtr = transport; } @@ -996,7 +996,7 @@ bool ChannelSend::ReceivedRTCPPacket(const uint8_t* data, size_t length) { } void ChannelSend::SetInputMute(bool enable) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); rtc::CritScope cs(&volume_settings_critsect_); input_mute_ = enable; } @@ -1007,7 +1007,7 @@ bool ChannelSend::InputMute() const { } bool ChannelSend::SendTelephoneEventOutband(int event, int duration_ms) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK_LE(0, event); RTC_DCHECK_GE(255, event); RTC_DCHECK_LE(0, duration_ms); @@ -1025,7 +1025,7 @@ bool ChannelSend::SendTelephoneEventOutband(int event, int duration_ms) { bool ChannelSend::SetSendTelephoneEventPayloadType(int payload_type, int payload_frequency) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK_LE(0, payload_type); RTC_DCHECK_GE(127, payload_type); CodecInst codec = {0}; @@ -1045,7 +1045,7 @@ bool ChannelSend::SetSendTelephoneEventPayloadType(int payload_type, } void ChannelSend::SetLocalSSRC(uint32_t ssrc) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK(!sending_); if (media_transport_) { @@ -1056,26 +1056,26 @@ void ChannelSend::SetLocalSSRC(uint32_t ssrc) { } void ChannelSend::SetMid(const std::string& mid, int extension_id) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); int ret = SetSendRtpHeaderExtension(true, kRtpExtensionMid, extension_id); RTC_DCHECK_EQ(0, ret); _rtpRtcpModule->SetMid(mid); } void ChannelSend::SetExtmapAllowMixed(bool extmap_allow_mixed) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); _rtpRtcpModule->SetExtmapAllowMixed(extmap_allow_mixed); } void ChannelSend::SetSendAudioLevelIndicationStatus(bool enable, int id) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); _includeAudioLevelIndication = enable; int ret = SetSendRtpHeaderExtension(enable, kRtpExtensionAudioLevel, id); RTC_DCHECK_EQ(0, ret); } void ChannelSend::EnableSendTransportSequenceNumber(int id) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); int ret = SetSendRtpHeaderExtension(true, kRtpExtensionTransportSequenceNumber, id); RTC_DCHECK_EQ(0, ret); @@ -1084,7 +1084,7 @@ void ChannelSend::EnableSendTransportSequenceNumber(int id) { void ChannelSend::RegisterSenderCongestionControlObjects( RtpTransportControllerSendInterface* transport, RtcpBandwidthObserver* bandwidth_observer) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RtpPacketSender* rtp_packet_sender = transport->packet_sender(); TransportFeedbackObserver* transport_feedback_observer = transport->transport_feedback_observer(); @@ -1106,7 +1106,7 @@ void ChannelSend::RegisterSenderCongestionControlObjects( } void ChannelSend::ResetSenderCongestionControlObjects() { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); RTC_DCHECK(packet_router_); _rtpRtcpModule->SetStorePacketsStatus(false, 600); rtcp_observer_->SetBandwidthObserver(nullptr); @@ -1118,7 +1118,7 @@ void ChannelSend::ResetSenderCongestionControlObjects() { } void ChannelSend::SetRTCP_CNAME(absl::string_view c_name) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); // Note: SetCNAME() accepts a c string of length at most 255. const std::string c_name_limited(c_name.substr(0, 255)); int ret = _rtpRtcpModule->SetCNAME(c_name_limited.c_str()) != 0; @@ -1126,7 +1126,7 @@ void ChannelSend::SetRTCP_CNAME(absl::string_view c_name) { } std::vector ChannelSend::GetRemoteRTCPReportBlocks() const { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); // Get the report blocks from the latest received RTCP Sender or Receiver // Report. Each element in the vector contains the sender's SSRC and a // report block according to RFC 3550. @@ -1155,7 +1155,7 @@ std::vector ChannelSend::GetRemoteRTCPReportBlocks() const { } CallSendStatistics ChannelSend::GetRTCPStatistics() const { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); CallSendStatistics stats = {0}; stats.rttMs = GetRTT(); @@ -1175,7 +1175,7 @@ CallSendStatistics ChannelSend::GetRTCPStatistics() const { } void ChannelSend::SetNACKStatus(bool enable, int max_packets) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); // None of these functions can fail. if (enable) audio_coding_->EnableNack(max_packets); @@ -1256,7 +1256,7 @@ void ChannelSend::UpdateOverheadForEncoder() { } void ChannelSend::SetTransportOverhead(size_t transport_overhead_per_packet) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); rtc::CritScope cs(&overhead_per_packet_lock_); transport_overhead_per_packet_ = transport_overhead_per_packet; UpdateOverheadForEncoder(); @@ -1270,7 +1270,7 @@ void ChannelSend::OnOverheadChanged(size_t overhead_bytes_per_packet) { } ANAStats ChannelSend::GetANAStatistics() const { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); return audio_coding_->GetANAStats(); } @@ -1343,7 +1343,7 @@ int64_t ChannelSend::GetRTT() const { void ChannelSend::SetFrameEncryptor( rtc::scoped_refptr frame_encryptor) { - RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); + RTC_DCHECK_RUN_ON(&worker_thread_checker_); rtc::CritScope cs(&encoder_queue_lock_); if (encoder_queue_is_active_) { encoder_queue_->PostTask([this, frame_encryptor]() {