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(¶ms_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; |
{ |