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,