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

Unified Diff: webrtc/video/video_send_stream.cc

Issue 1663413003: Clean up of CongestionController. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Comments addressed. Created 4 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
« webrtc/video/video_receive_stream.cc ('K') | « webrtc/video/video_send_stream.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/video_send_stream.cc
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
index 08dcd77ac69c749ac609e63c73d1f65c0490b5bb..e219dc9c191fbf4b5e9de7012b7eb9295fdff28c 100644
--- a/webrtc/video/video_send_stream.cc
+++ b/webrtc/video/video_send_stream.cc
@@ -28,6 +28,7 @@
#include "webrtc/video/video_capture_input.h"
#include "webrtc/video/vie_channel.h"
#include "webrtc/video/vie_encoder.h"
+#include "webrtc/video/vie_remb.h"
#include "webrtc/video_send_stream.h"
namespace webrtc {
@@ -113,6 +114,7 @@ VideoSendStream::VideoSendStream(
ProcessThread* module_process_thread,
CallStats* call_stats,
CongestionController* congestion_controller,
+ VieRemb* remb,
BitrateAllocator* bitrate_allocator,
const VideoSendStream::Config& config,
const VideoEncoderConfig& encoder_config,
@@ -127,6 +129,7 @@ VideoSendStream::VideoSendStream(
module_process_thread_(module_process_thread),
call_stats_(call_stats),
congestion_controller_(congestion_controller),
+ remb_(remb),
encoder_feedback_(new EncoderStateFeedback()),
use_config_bitrate_(true) {
the sun 2016/02/05 15:12:37 Same as in receive stream, RTC_DCHECK(remb); and t
stefan-webrtc 2016/02/07 18:29:27 Done.
LOG(LS_INFO) << "VideoSendStream: " << config_.ToString();
@@ -189,8 +192,9 @@ VideoSendStream::VideoSendStream(
}
}
- congestion_controller_->SetChannelRembStatus(true, false,
- vie_channel_->rtp_rtcp());
+ RtpRtcp* rtp_module = vie_channel_->rtp_rtcp();
+ remb_->AddRembSender(rtp_module);
+ rtp_module->SetREMBStatus(true);
// Enable NACK, FEC or both.
const bool enable_protection_nack = config_.rtp.nack.rtp_history_ms > 0;
@@ -232,7 +236,6 @@ VideoSendStream::VideoSendStream(
if (config_.suspend_below_min_bitrate)
vie_encoder_->SuspendBelowMinBitrate();
- congestion_controller_->AddEncoder(vie_encoder_.get());
encoder_feedback_->AddEncoder(ssrcs, vie_encoder_.get());
vie_channel_->RegisterSendChannelRtcpStatisticsCallback(&stats_proxy_);
@@ -258,12 +261,13 @@ VideoSendStream::~VideoSendStream() {
config_.encoder_settings.payload_type);
call_stats_->DeregisterStatsObserver(vie_channel_->GetStatsObserver());
- congestion_controller_->SetChannelRembStatus(false, false,
- vie_channel_->rtp_rtcp());
+
+ RtpRtcp* rtp_module = vie_channel_->rtp_rtcp();
+ rtp_module->SetREMBStatus(false);
+ remb_->RemoveRembSender(rtp_module);
// Remove the feedback, stop all encoding threads and processing. This must be
// done before deleting the channel.
- congestion_controller_->RemoveEncoder(vie_encoder_.get());
encoder_feedback_->RemoveEncoder(vie_encoder_.get());
vie_encoder_->StopThreadsAndRemoveSharedMembers();
« webrtc/video/video_receive_stream.cc ('K') | « webrtc/video/video_send_stream.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698