Implement RTCOutboundRtpStreamStats.targetBitrate for audio.

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcoutboundrtpstreamstats-targetbitrate

Bug: webrtc:13377
Change-Id: I98dd263e0b9d6e2ca94969d2a91857b14cd65f70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237402
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35337}
This commit is contained in:
Jakob Ivarsson
2021-11-11 13:43:49 +01:00
committed by WebRTC LUCI CQ
parent 1d73243466
commit bf0874568c
13 changed files with 30 additions and 16 deletions

View File

@ -92,6 +92,8 @@ class AudioCodingModuleImpl final : public AudioCodingModule {
ANAStats GetANAStats() const override;
int GetTargetBitrate() const override;
private:
struct InputData {
InputData() : buffer(kInitialInputDataBufferSize) {}
@ -603,6 +605,14 @@ ANAStats AudioCodingModuleImpl::GetANAStats() const {
return ANAStats();
}
int AudioCodingModuleImpl::GetTargetBitrate() const {
MutexLock lock(&acm_mutex_);
if (!encoder_stack_) {
return -1;
}
return encoder_stack_->GetTargetBitrate();
}
} // namespace
AudioCodingModule::Config::Config(

View File

@ -237,6 +237,8 @@ class AudioCodingModule {
NetworkStatistics* network_statistics) = 0;
virtual ANAStats GetANAStats() const = 0;
virtual int GetTargetBitrate() const = 0;
};
} // namespace webrtc