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

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

Issue 2531383002: Wire up BitrateAllocation to be sent as RTCP TargetBitrate (Closed)
Patch Set: Addressed comments Created 4 years, 1 month 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/video_sender.cc
diff --git a/webrtc/modules/video_coding/video_sender.cc b/webrtc/modules/video_coding/video_sender.cc
index 148d2374dbcfbf0ec066b0d1602595810a75b542..d121a72dfe003257fbc1adb3830a866eedc5c358 100644
--- a/webrtc/modules/video_coding/video_sender.cc
+++ b/webrtc/modules/video_coding/video_sender.cc
@@ -195,7 +195,8 @@ int VideoSender::FrameRate(unsigned int* framerate) const {
EncoderParameters VideoSender::UpdateEncoderParameters(
const EncoderParameters& params,
VideoBitrateAllocator* bitrate_allocator,
- uint32_t target_bitrate_bps) {
+ uint32_t target_bitrate_bps,
+ VideoBitrateAllocationObserver* bitrate_updated_callback) {
uint32_t video_target_rate_bps = _mediaOpt.SetTargetRates(
target_bitrate_bps, params.loss_rate, params.rtt);
uint32_t input_frame_rate = _mediaOpt.InputFrameRate();
@@ -211,30 +212,34 @@ EncoderParameters VideoSender::UpdateEncoderParameters(
bitrate_allocation = default_allocator.GetAllocation(video_target_rate_bps,
input_frame_rate);
}
-
+ if (bitrate_updated_callback)
+ bitrate_updated_callback->OnBitrateAllocationUpdated(bitrate_allocation);
EncoderParameters new_encoder_params = {bitrate_allocation, params.loss_rate,
params.rtt, input_frame_rate};
return new_encoder_params;
}
void VideoSender::UpdateChannelParemeters(
- VideoBitrateAllocator* bitrate_allocator) {
+ VideoBitrateAllocator* bitrate_allocator,
+ VideoBitrateAllocationObserver* bitrate_updated_callback) {
rtc::CritScope cs(&params_crit_);
- encoder_params_ =
- UpdateEncoderParameters(encoder_params_, bitrate_allocator,
- encoder_params_.target_bitrate.get_sum_bps());
+ encoder_params_ = UpdateEncoderParameters(
+ encoder_params_, bitrate_allocator,
+ encoder_params_.target_bitrate.get_sum_bps(), bitrate_updated_callback);
}
int32_t VideoSender::SetChannelParameters(
uint32_t target_bitrate_bps,
uint8_t lossRate,
int64_t rtt,
- VideoBitrateAllocator* bitrate_allocator) {
+ VideoBitrateAllocator* bitrate_allocator,
+ VideoBitrateAllocationObserver* bitrate_updated_callback) {
EncoderParameters encoder_params;
encoder_params.loss_rate = lossRate;
encoder_params.rtt = rtt;
- encoder_params = UpdateEncoderParameters(encoder_params, bitrate_allocator,
- target_bitrate_bps);
+ encoder_params =
+ UpdateEncoderParameters(encoder_params, bitrate_allocator,
+ target_bitrate_bps, bitrate_updated_callback);
bool encoder_has_internal_source;
{

Powered by Google App Engine
This is Rietveld 408576698