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

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

Issue 2531383002: Wire up BitrateAllocation to be sent as RTCP TargetBitrate (Closed)
Patch Set: Flaky test, racy shutdown 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..3b5b83f1fd706f72f47d49269fd2ed2a285571a9 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_observer) {
danilchap 2016/11/29 10:39:31 bitrate_observer used as callback (called during t
sprang_webrtc 2016/11/29 12:24:01 Done.
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,33 @@ EncoderParameters VideoSender::UpdateEncoderParameters(
bitrate_allocation = default_allocator.GetAllocation(video_target_rate_bps,
input_frame_rate);
}
-
+ if (bitrate_observer)
+ bitrate_observer->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_observer) {
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_observer);
}
int32_t VideoSender::SetChannelParameters(
uint32_t target_bitrate_bps,
uint8_t lossRate,
int64_t rtt,
- VideoBitrateAllocator* bitrate_allocator) {
+ VideoBitrateAllocator* bitrate_allocator,
+ VideoBitrateAllocationObserver* bitrate_observer) {
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_observer);
bool encoder_has_internal_source;
{

Powered by Google App Engine
This is Rietveld 408576698