From fca900aa3767bc6800e2119e4135965895b54e2c Mon Sep 17 00:00:00 2001 From: stefan Date: Mon, 10 Apr 2017 03:53:00 -0700 Subject: [PATCH] Fix two invalid DCHECKs related to audio BWE. These are invalid since: - An allocated bitrate of 0 means that the stream should be disabled. Changing the behavior to send audio at min bitrate even though the allocator asks for the stream to be disabled. - It should be OK to set a min bitrate equal to the start bitrate. BUG=webrtc:5079 Review-Url: https://codereview.webrtc.org/2806163003 Cr-Commit-Position: refs/heads/master@{#17613} --- webrtc/audio/audio_send_stream.cc | 6 ++++++ webrtc/call/call.cc | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/webrtc/audio/audio_send_stream.cc b/webrtc/audio/audio_send_stream.cc index 078aea66a9..7f0d825610 100644 --- a/webrtc/audio/audio_send_stream.cc +++ b/webrtc/audio/audio_send_stream.cc @@ -246,6 +246,12 @@ uint32_t AudioSendStream::OnBitrateUpdated(uint32_t bitrate_bps, uint8_t fraction_loss, int64_t rtt, int64_t probing_interval_ms) { + // A send stream may be allocated a bitrate of zero if the allocator decides + // to disable it. For now we ignore this decision and keep sending on min + // bitrate. + if (bitrate_bps == 0) { + bitrate_bps = config_.min_bitrate_bps; + } RTC_DCHECK_GE(bitrate_bps, static_cast(config_.min_bitrate_bps)); // The bitrate allocator might allocate an higher than max configured bitrate diff --git a/webrtc/call/call.cc b/webrtc/call/call.cc index 5fcacd16d0..e381183b12 100644 --- a/webrtc/call/call.cc +++ b/webrtc/call/call.cc @@ -374,7 +374,7 @@ Call::Call(const Call::Config& config, RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); RTC_DCHECK(config.event_log != nullptr); RTC_DCHECK_GE(config.bitrate_config.min_bitrate_bps, 0); - RTC_DCHECK_GT(config.bitrate_config.start_bitrate_bps, + RTC_DCHECK_GE(config.bitrate_config.start_bitrate_bps, config.bitrate_config.min_bitrate_bps); if (config.bitrate_config.max_bitrate_bps != -1) { RTC_DCHECK_GE(config.bitrate_config.max_bitrate_bps,