Index: webrtc/video_engine/vie_encoder.cc |
diff --git a/webrtc/video_engine/vie_encoder.cc b/webrtc/video_engine/vie_encoder.cc |
index df3a4d465ad11e94714cb399be0fe0c169698afd..4dbb0f09ca2fffe06221b16e816d26812f36d461 100644 |
--- a/webrtc/video_engine/vie_encoder.cc |
+++ b/webrtc/video_engine/vie_encoder.cc |
@@ -18,6 +18,7 @@ |
#include "webrtc/common_video/interface/video_image.h" |
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" |
#include "webrtc/frame_callback.h" |
+#include "webrtc/modules/bitrate_controller/include/bitrate_controller.h" |
#include "webrtc/modules/pacing/include/paced_sender.h" |
#include "webrtc/modules/utility/interface/process_thread.h" |
#include "webrtc/modules/video_coding/codecs/interface/video_codec_interface.h" |
@@ -105,8 +106,7 @@ ViEEncoder::ViEEncoder(int32_t channel_id, |
uint32_t number_of_cores, |
ProcessThread& module_process_thread, |
PacedSender* pacer, |
- BitrateAllocator* bitrate_allocator, |
- BitrateController* bitrate_controller) |
+ BitrateAllocator* bitrate_allocator) |
: channel_id_(channel_id), |
number_of_cores_(number_of_cores), |
vpm_(VideoProcessingModule::Create(ViEModuleId(-1, channel_id))), |
@@ -119,7 +119,6 @@ ViEEncoder::ViEEncoder(int32_t channel_id, |
data_cs_(CriticalSectionWrapper::CreateCriticalSection()), |
pacer_(pacer), |
bitrate_allocator_(bitrate_allocator), |
- bitrate_controller_(bitrate_controller), |
time_of_last_frame_activity_ms_(0), |
simulcast_enabled_(false), |
min_transmit_bitrate_kbps_(0), |
@@ -269,30 +268,9 @@ int32_t ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) { |
// Add a bitrate observer to the allocator and update the start, max and |
// min bitrates of the bitrate controller as needed. |
- int allocated_bitrate_bps; |
- int new_bwe_candidate_bps = bitrate_allocator_->AddBitrateObserver( |
- bitrate_observer_.get(), video_codec.startBitrate * 1000, |
- video_codec.minBitrate * 1000, video_codec.maxBitrate * 1000, |
- &allocated_bitrate_bps); |
- |
- // Only set the start/min/max bitrate of the bitrate controller if the start |
- // bitrate is greater than zero. The new API sets these via the channel group |
- // and passes a zero start bitrate to SetSendCodec. |
- // TODO(holmer): Remove this when the new API has been launched. |
- if (video_codec.startBitrate > 0) { |
- if (new_bwe_candidate_bps > 0) { |
- uint32_t current_bwe_bps = 0; |
- bitrate_controller_->AvailableBandwidth(¤t_bwe_bps); |
- bitrate_controller_->SetStartBitrate(std::max( |
- static_cast<uint32_t>(new_bwe_candidate_bps), current_bwe_bps)); |
- } |
- |
- int new_bwe_min_bps = 0; |
- int new_bwe_max_bps = 0; |
- bitrate_allocator_->GetMinMaxBitrateSumBps(&new_bwe_min_bps, |
- &new_bwe_max_bps); |
- bitrate_controller_->SetMinMaxBitrate(new_bwe_min_bps, new_bwe_max_bps); |
- } |
+ int allocated_bitrate_bps = bitrate_allocator_->AddBitrateObserver( |
+ bitrate_observer_.get(), video_codec.minBitrate * 1000, |
+ video_codec.maxBitrate * 1000); |
webrtc::VideoCodec modified_video_codec = video_codec; |
modified_video_codec.startBitrate = allocated_bitrate_bps / 1000; |