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

Unified Diff: webrtc/modules/video_coding/generic_encoder.cc

Issue 2097403002: Add a race-checking mechanism. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: space between ctor Created 4 years, 6 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
Index: webrtc/modules/video_coding/generic_encoder.cc
diff --git a/webrtc/modules/video_coding/generic_encoder.cc b/webrtc/modules/video_coding/generic_encoder.cc
index 176a14f0783c6fedf13c1d1eb80ec117233551e7..f3538efb709173de07b59c6875e9fa55a5b58e46 100644
--- a/webrtc/modules/video_coding/generic_encoder.cc
+++ b/webrtc/modules/video_coding/generic_encoder.cc
@@ -36,6 +36,7 @@ VCMGenericEncoder::VCMGenericEncoder(
VCMGenericEncoder::~VCMGenericEncoder() {}
int32_t VCMGenericEncoder::Release() {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
TRACE_EVENT0("webrtc", "VCMGenericEncoder::Release");
return encoder_->Release();
}
@@ -43,6 +44,7 @@ int32_t VCMGenericEncoder::Release() {
int32_t VCMGenericEncoder::InitEncode(const VideoCodec* settings,
int32_t number_of_cores,
size_t max_payload_size) {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
TRACE_EVENT0("webrtc", "VCMGenericEncoder::InitEncode");
is_screenshare_ = settings->mode == VideoCodecMode::kScreensharing;
if (encoder_->InitEncode(settings, number_of_cores, max_payload_size) != 0) {
@@ -58,6 +60,7 @@ int32_t VCMGenericEncoder::InitEncode(const VideoCodec* settings,
int32_t VCMGenericEncoder::Encode(const VideoFrame& frame,
const CodecSpecificInfo* codec_specific,
const std::vector<FrameType>& frame_types) {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
TRACE_EVENT1("webrtc", "VCMGenericEncoder::Encode", "timestamp",
frame.timestamp());
@@ -76,10 +79,12 @@ int32_t VCMGenericEncoder::Encode(const VideoFrame& frame,
}
const char* VCMGenericEncoder::ImplementationName() const {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
return encoder_->ImplementationName();
}
void VCMGenericEncoder::SetEncoderParameters(const EncoderParameters& params) {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
bool channel_parameters_have_changed;
bool rates_have_changed;
{
@@ -110,11 +115,13 @@ EncoderParameters VCMGenericEncoder::GetEncoderParameters() const {
}
int32_t VCMGenericEncoder::SetPeriodicKeyFrames(bool enable) {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
return encoder_->SetPeriodicKeyFrames(enable);
}
int32_t VCMGenericEncoder::RequestFrame(
const std::vector<FrameType>& frame_types) {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
VideoFrame image;
return encoder_->Encode(image, NULL, &frame_types);
}
@@ -124,10 +131,12 @@ bool VCMGenericEncoder::InternalSource() const {
}
void VCMGenericEncoder::OnDroppedFrame() {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
encoder_->OnDroppedFrame();
}
bool VCMGenericEncoder::SupportsNativeHandle() const {
+ RTC_DCHECK_RUNS_SYNCHRONIZED(&race_checker_);
return encoder_->SupportsNativeHandle();
}
« webrtc/base/race_checker.h ('K') | « webrtc/modules/video_coding/generic_encoder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698