diff --git a/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc b/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc index 1432e3182f..8f8e328b8c 100644 --- a/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc +++ b/modules/audio_coding/codecs/red/audio_encoder_copy_red.cc @@ -182,6 +182,10 @@ bool AudioEncoderCopyRed::SetDtx(bool enable) { return speech_encoder_->SetDtx(enable); } +bool AudioEncoderCopyRed::GetDtx() const { + return speech_encoder_->GetDtx(); +} + bool AudioEncoderCopyRed::SetApplication(Application application) { return speech_encoder_->SetApplication(application); } @@ -190,9 +194,14 @@ void AudioEncoderCopyRed::SetMaxPlaybackRate(int frequency_hz) { speech_encoder_->SetMaxPlaybackRate(frequency_hz); } -rtc::ArrayView> -AudioEncoderCopyRed::ReclaimContainedEncoders() { - return rtc::ArrayView>(&speech_encoder_, 1); +bool AudioEncoderCopyRed::EnableAudioNetworkAdaptor( + const std::string& config_string, + RtcEventLog* event_log) { + return speech_encoder_->EnableAudioNetworkAdaptor(config_string, event_log); +} + +void AudioEncoderCopyRed::DisableAudioNetworkAdaptor() { + speech_encoder_->DisableAudioNetworkAdaptor(); } void AudioEncoderCopyRed::OnReceivedUplinkPacketLossFraction( @@ -208,14 +217,38 @@ void AudioEncoderCopyRed::OnReceivedUplinkBandwidth( bwe_period_ms); } +void AudioEncoderCopyRed::OnReceivedUplinkAllocation( + BitrateAllocationUpdate update) { + speech_encoder_->OnReceivedUplinkAllocation(update); +} + absl::optional> AudioEncoderCopyRed::GetFrameLengthRange() const { return speech_encoder_->GetFrameLengthRange(); } +void AudioEncoderCopyRed::OnReceivedRtt(int rtt_ms) { + speech_encoder_->OnReceivedRtt(rtt_ms); +} + void AudioEncoderCopyRed::OnReceivedOverhead(size_t overhead_bytes_per_packet) { max_packet_length_ = kAudioMaxRtpPacketLen - overhead_bytes_per_packet; return speech_encoder_->OnReceivedOverhead(overhead_bytes_per_packet); } +void AudioEncoderCopyRed::SetReceiverFrameLengthRange(int min_frame_length_ms, + int max_frame_length_ms) { + return speech_encoder_->SetReceiverFrameLengthRange(min_frame_length_ms, + max_frame_length_ms); +} + +ANAStats AudioEncoderCopyRed::GetANAStats() const { + return speech_encoder_->GetANAStats(); +} + +rtc::ArrayView> +AudioEncoderCopyRed::ReclaimContainedEncoders() { + return rtc::ArrayView>(&speech_encoder_, 1); +} + } // namespace webrtc diff --git a/modules/audio_coding/codecs/red/audio_encoder_copy_red.h b/modules/audio_coding/codecs/red/audio_encoder_copy_red.h index 9806772ba4..9acb9b842c 100644 --- a/modules/audio_coding/codecs/red/audio_encoder_copy_red.h +++ b/modules/audio_coding/codecs/red/audio_encoder_copy_red.h @@ -50,21 +50,33 @@ class AudioEncoderCopyRed final : public AudioEncoder { size_t Num10MsFramesInNextPacket() const override; size_t Max10MsFramesInAPacket() const override; int GetTargetBitrate() const override; + void Reset() override; bool SetFec(bool enable) override; + bool SetDtx(bool enable) override; + bool GetDtx() const override; + bool SetApplication(Application application) override; void SetMaxPlaybackRate(int frequency_hz) override; - rtc::ArrayView> ReclaimContainedEncoders() - override; + bool EnableAudioNetworkAdaptor(const std::string& config_string, + RtcEventLog* event_log) override; + void DisableAudioNetworkAdaptor() override; void OnReceivedUplinkPacketLossFraction( float uplink_packet_loss_fraction) override; void OnReceivedUplinkBandwidth( int target_audio_bitrate_bps, absl::optional bwe_period_ms) override; + void OnReceivedUplinkAllocation(BitrateAllocationUpdate update) override; + void OnReceivedRtt(int rtt_ms) override; void OnReceivedOverhead(size_t overhead_bytes_per_packet) override; + void SetReceiverFrameLengthRange(int min_frame_length_ms, + int max_frame_length_ms) override; + ANAStats GetANAStats() const override; absl::optional> GetFrameLengthRange() const override; + rtc::ArrayView> ReclaimContainedEncoders() + override; protected: EncodedInfo EncodeImpl(uint32_t rtp_timestamp,