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