From 540ef2898ccc3f40a6b351055b1e0e571850295b Mon Sep 17 00:00:00 2001 From: Sebastian Jansson Date: Wed, 21 Nov 2018 19:18:51 +0100 Subject: [PATCH] Adds OnReceivedUplinkAllocation method to AudioEncoder. This allows sending the full BitrateAllocationUpdate to the encoder. This will be used in a later CL to use the link capacity field in the update to control the Opus decoder. Bug: webrtc:9718 Change-Id: I1c228cc318c7f9f1b0fec232e27732177b80705a Reviewed-on: https://webrtc-review.googlesource.com/c/111509 Commit-Queue: Sebastian Jansson Reviewed-by: Oskar Sundbom Cr-Commit-Position: refs/heads/master@{#25739} --- api/audio_codecs/BUILD.gn | 1 + api/audio_codecs/audio_encoder.cc | 5 +++++ api/audio_codecs/audio_encoder.h | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/api/audio_codecs/BUILD.gn b/api/audio_codecs/BUILD.gn index 29c8fe2dda..31fe2bec58 100644 --- a/api/audio_codecs/BUILD.gn +++ b/api/audio_codecs/BUILD.gn @@ -30,6 +30,7 @@ rtc_source_set("audio_codecs_api") { ] deps = [ "..:array_view", + "..:bitrate_allocation", "../..:webrtc_common", "../../rtc_base:checks", "../../rtc_base:deprecation", diff --git a/api/audio_codecs/audio_encoder.cc b/api/audio_codecs/audio_encoder.cc index 595c11131e..1d885f9cec 100644 --- a/api/audio_codecs/audio_encoder.cc +++ b/api/audio_codecs/audio_encoder.cc @@ -92,6 +92,11 @@ void AudioEncoder::OnReceivedUplinkBandwidth( int target_audio_bitrate_bps, absl::optional bwe_period_ms) {} +void AudioEncoder::OnReceivedUplinkAllocation(BitrateAllocationUpdate update) { + OnReceivedUplinkBandwidth(update.target_bitrate.bps(), + update.bwe_period.ms()); +} + void AudioEncoder::OnReceivedRtt(int rtt_ms) {} void AudioEncoder::OnReceivedOverhead(size_t overhead_bytes_per_packet) {} diff --git a/api/audio_codecs/audio_encoder.h b/api/audio_codecs/audio_encoder.h index 562b42dd40..c908518063 100644 --- a/api/audio_codecs/audio_encoder.h +++ b/api/audio_codecs/audio_encoder.h @@ -17,6 +17,7 @@ #include "absl/types/optional.h" #include "api/array_view.h" +#include "api/call/bitrate_allocation.h" #include "rtc_base/buffer.h" #include "rtc_base/deprecation.h" @@ -221,6 +222,10 @@ class AudioEncoder { virtual void OnReceivedUplinkBandwidth(int target_audio_bitrate_bps, absl::optional bwe_period_ms); + // Provides target audio bitrate and corresponding probing interval of + // the bandwidth estimator to this encoder to allow it to adapt. + virtual void OnReceivedUplinkAllocation(BitrateAllocationUpdate update); + // Provides RTT to this encoder to allow it to adapt. virtual void OnReceivedRtt(int rtt_ms);