Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Unified Diff: webrtc/modules/congestion_controller/transport_feedback_adapter.cc

Issue 2710213003: Add thread-checking to TransportFeedbackAdapter (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/congestion_controller/transport_feedback_adapter.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/congestion_controller/transport_feedback_adapter.cc
diff --git a/webrtc/modules/congestion_controller/transport_feedback_adapter.cc b/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
index fa27cc0b18ff7c054bfc0656bd14b2c0d9a16d5a..55b23e5959ba14399caf86585a98b274b6c5b0d7 100644
--- a/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+++ b/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
@@ -54,11 +54,17 @@ TransportFeedbackAdapter::TransportFeedbackAdapter(
clock_(clock),
current_offset_ms_(kNoTimestamp),
last_timestamp_us_(kNoTimestamp),
- bitrate_controller_(bitrate_controller) {}
+ bitrate_controller_(bitrate_controller) {
+ packetizer_thread_checker_.DetachFromThread();
+ module_process_thread_checker_.DetachFromThread();
+}
-TransportFeedbackAdapter::~TransportFeedbackAdapter() {}
+TransportFeedbackAdapter::~TransportFeedbackAdapter() {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
+}
void TransportFeedbackAdapter::InitBwe() {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&bwe_lock_);
delay_based_bwe_.reset(new DelayBasedBwe(event_log_, clock_));
}
@@ -66,6 +72,7 @@ void TransportFeedbackAdapter::InitBwe() {
void TransportFeedbackAdapter::AddPacket(uint16_t sequence_number,
size_t length,
const PacedPacketInfo& pacing_info) {
+ RTC_DCHECK(packetizer_thread_checker_.CalledOnValidThread());
stefan-webrtc 2017/02/24 14:48:53 Maybe the value of this is small? WDYT?
elad.alon_webrtc.org 2017/02/27 10:55:30 Hard for me to say. It does make sure no one ever
rtc::CritScope cs(&lock_);
if (send_side_bwe_with_overhead_) {
length += transport_overhead_bytes_per_packet_;
@@ -75,16 +82,19 @@ void TransportFeedbackAdapter::AddPacket(uint16_t sequence_number,
void TransportFeedbackAdapter::OnSentPacket(uint16_t sequence_number,
int64_t send_time_ms) {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&lock_);
send_time_history_.OnSentPacket(sequence_number, send_time_ms);
}
void TransportFeedbackAdapter::SetStartBitrate(int start_bitrate_bps) {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&bwe_lock_);
delay_based_bwe_->SetStartBitrate(start_bitrate_bps);
}
void TransportFeedbackAdapter::SetMinBitrate(int min_bitrate_bps) {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&bwe_lock_);
delay_based_bwe_->SetMinBitrate(min_bitrate_bps);
}
@@ -102,6 +112,7 @@ int64_t TransportFeedbackAdapter::GetProbingIntervalMs() const {
std::vector<PacketInfo> TransportFeedbackAdapter::GetPacketFeedbackVector(
const rtcp::TransportFeedback& feedback) {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
int64_t timestamp_us = feedback.GetBaseTimeUs();
// Add timestamp deltas to a local time base selected on first packet arrival.
// This won't be the true time base, but makes it easier to manually inspect
@@ -155,6 +166,7 @@ std::vector<PacketInfo> TransportFeedbackAdapter::GetPacketFeedbackVector(
void TransportFeedbackAdapter::OnTransportFeedback(
const rtcp::TransportFeedback& feedback) {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
last_packet_feedback_vector_ = GetPacketFeedbackVector(feedback);
DelayBasedBwe::Result result;
{
@@ -168,11 +180,13 @@ void TransportFeedbackAdapter::OnTransportFeedback(
std::vector<PacketInfo> TransportFeedbackAdapter::GetTransportFeedbackVector()
const {
+ RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
return last_packet_feedback_vector_;
}
void TransportFeedbackAdapter::OnRttUpdate(int64_t avg_rtt_ms,
int64_t max_rtt_ms) {
+ RTC_DCHECK(module_process_thread_checker_.CalledOnValidThread());
rtc::CritScope cs(&bwe_lock_);
delay_based_bwe_->OnRttUpdate(avg_rtt_ms, max_rtt_ms);
}
« no previous file with comments | « webrtc/modules/congestion_controller/transport_feedback_adapter.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698