Reland "Reland "Change buffer level filter to store current level in number of samples.""
This is a reland of 0ded32d5a3d7acb9a00c3a1d9941e539aa94eee5
Original change's description:
> Reland "Change buffer level filter to store current level in number of samples."
>
> This is a reland of 87977dd06e702ed517f26235c12e37bd927527c7
>
> Original change's description:
> > Change buffer level filter to store current level in number of samples.
> >
> > The buffer level should not be converted back and forth between samples and packets in case of variable packet lengths.
> >
> > Bug: webrtc:10736
> > Change-Id: Ia08dcfac3d8104dc79fbad0704a5f6f12a050a01
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/142178
> > Reviewed-by: Minyue Li <minyue@webrtc.org>
> > Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28368}
>
> Bug: webrtc:10736
> Change-Id: I1ff603e65cdd31c7429f36b035dcc00a17b68f3b
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/143787
> Commit-Queue: Minyue Li <minyue@webrtc.org>
> Reviewed-by: Minyue Li <minyue@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28393}
Bug: webrtc:10736
Change-Id: I251b8321e5a5fd870e018bc7c8083ec0a41de81b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144023
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28398}
diff --git a/modules/audio_coding/neteq/neteq_impl.cc b/modules/audio_coding/neteq/neteq_impl.cc
index ad6becc..82ec18d 100644
--- a/modules/audio_coding/neteq/neteq_impl.cc
+++ b/modules/audio_coding/neteq/neteq_impl.cc
@@ -310,18 +310,12 @@
int NetEqImpl::FilteredCurrentDelayMs() const {
rtc::CritScope lock(&crit_sect_);
- // Calculate the filtered packet buffer level in samples. The value from
- // |buffer_level_filter_| is in number of packets, represented in Q8.
- const size_t packet_buffer_samples =
- (buffer_level_filter_->filtered_current_level() *
- decoder_frame_length_) >>
- 8;
// Sum up the filtered packet buffer level with the future length of the sync
- // buffer, and divide the sum by the sample rate.
- const size_t delay_samples =
- packet_buffer_samples + sync_buffer_->FutureLength();
+ // buffer.
+ const int delay_samples = buffer_level_filter_->filtered_current_level() +
+ sync_buffer_->FutureLength();
// The division below will truncate. The return value is in ms.
- return static_cast<int>(delay_samples) / rtc::CheckedDivExact(fs_hz_, 1000);
+ return delay_samples / rtc::CheckedDivExact(fs_hz_, 1000);
}
int NetEqImpl::NetworkStatistics(NetEqNetworkStatistics* stats) {