Index: webrtc/video/vie_encoder.cc |
diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc |
index 2871c4045c94db53cb3f9db3685cf476f2456a94..d10e8fc5cda67313556eddbcb1cfa48875020394 100644 |
--- a/webrtc/video/vie_encoder.cc |
+++ b/webrtc/video/vie_encoder.cc |
@@ -33,8 +33,10 @@ static const float kStopPaddingThresholdMs = 2000; |
ViEEncoder::ViEEncoder(uint32_t number_of_cores, |
ProcessThread* module_process_thread, |
SendStatisticsProxy* stats_proxy, |
- OveruseFrameDetector* overuse_detector) |
+ OveruseFrameDetector* overuse_detector, |
+ EncodedImageCallback* sink) |
: number_of_cores_(number_of_cores), |
+ sink_(sink), |
vp_(VideoProcessing::Create()), |
video_sender_(Clock::GetRealTimeClock(), this, this, this), |
stats_proxy_(stats_proxy), |
@@ -84,10 +86,10 @@ int32_t ViEEncoder::DeRegisterExternalEncoder(uint8_t pl_type) { |
video_sender_.RegisterExternalEncoder(nullptr, pl_type, false); |
return 0; |
} |
+ |
void ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec, |
int min_transmit_bitrate_bps, |
- size_t max_data_payload_length, |
- EncodedImageCallback* sink) { |
+ size_t max_data_payload_length) { |
// Setting target width and height for VPM. |
RTC_CHECK_EQ(VPM_OK, |
vp_->SetTargetResolution(video_codec.width, video_codec.height, |
@@ -100,10 +102,6 @@ void ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec, |
encoder_config_ = video_codec; |
min_transmit_bitrate_bps_ = min_transmit_bitrate_bps; |
} |
- { |
- rtc::CritScope lock(&sink_cs_); |
- sink_ = sink; |
- } |
bool success = video_sender_.RegisterSendCodec( |
&video_codec, number_of_cores_, |
@@ -294,11 +292,8 @@ int32_t ViEEncoder::Encoded(const EncodedImage& encoded_image, |
stats_proxy_->OnSendEncodedImage(encoded_image, codec_specific_info); |
} |
- int success = 0; |
- { |
- rtc::CritScope lock(&sink_cs_); |
- success = sink_->Encoded(encoded_image, codec_specific_info, fragmentation); |
- } |
+ int success = |
+ sink_->Encoded(encoded_image, codec_specific_info, fragmentation); |
overuse_detector_->FrameSent(encoded_image._timeStamp); |
return success; |