Add jitter buffer delay metric to pc level tests
Bug: webrtc:11701 Change-Id: I45db3d179150dbad87e1b85a91d9d11feed1cb89 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179065 Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Andrey Logvin <landrey@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31699}
This commit is contained in:
parent
265931ea3c
commit
76ad2e0c05
@ -47,6 +47,8 @@ void DefaultAudioQualityAnalyzer::OnStatsReports(
|
||||
stat->inserted_samples_for_deceleration.ValueOrDefault(0ul);
|
||||
sample.silent_concealed_samples =
|
||||
stat->silent_concealed_samples.ValueOrDefault(0ul);
|
||||
sample.jitter_buffer_delay =
|
||||
TimeDelta::Seconds(stat->jitter_buffer_delay.ValueOrDefault(0.));
|
||||
sample.jitter_buffer_target_delay =
|
||||
TimeDelta::Seconds(stat->jitter_buffer_target_delay.ValueOrDefault(0.));
|
||||
sample.jitter_buffer_emitted_count =
|
||||
@ -90,9 +92,14 @@ void DefaultAudioQualityAnalyzer::OnStatsReports(
|
||||
sample.jitter_buffer_emitted_count -
|
||||
prev_sample.jitter_buffer_emitted_count;
|
||||
if (jitter_buffer_emitted_count_diff > 0) {
|
||||
TimeDelta jitter_buffer_delay_diff =
|
||||
sample.jitter_buffer_delay - prev_sample.jitter_buffer_delay;
|
||||
TimeDelta jitter_buffer_target_delay_diff =
|
||||
sample.jitter_buffer_target_delay -
|
||||
prev_sample.jitter_buffer_target_delay;
|
||||
audio_stream_stats.average_jitter_buffer_delay_ms.AddSample(
|
||||
jitter_buffer_delay_diff.ms<double>() /
|
||||
jitter_buffer_emitted_count_diff);
|
||||
audio_stream_stats.preferred_buffer_size_ms.AddSample(
|
||||
jitter_buffer_target_delay_diff.ms<double>() /
|
||||
jitter_buffer_emitted_count_diff);
|
||||
@ -120,6 +127,9 @@ void DefaultAudioQualityAnalyzer::Stop() {
|
||||
ReportResult("speech_expand_rate", item.first,
|
||||
item.second.speech_expand_rate, "unitless",
|
||||
ImproveDirection::kSmallerIsBetter);
|
||||
ReportResult("average_jitter_buffer_delay_ms", item.first,
|
||||
item.second.average_jitter_buffer_delay_ms, "ms",
|
||||
ImproveDirection::kNone);
|
||||
ReportResult("preferred_buffer_size_ms", item.first,
|
||||
item.second.preferred_buffer_size_ms, "ms",
|
||||
ImproveDirection::kNone);
|
||||
|
||||
@ -30,6 +30,7 @@ struct AudioStreamStats {
|
||||
SamplesStatsCounter accelerate_rate;
|
||||
SamplesStatsCounter preemptive_rate;
|
||||
SamplesStatsCounter speech_expand_rate;
|
||||
SamplesStatsCounter average_jitter_buffer_delay_ms;
|
||||
SamplesStatsCounter preferred_buffer_size_ms;
|
||||
};
|
||||
|
||||
@ -52,6 +53,7 @@ class DefaultAudioQualityAnalyzer : public AudioQualityAnalyzerInterface {
|
||||
uint64_t removed_samples_for_acceleration = 0;
|
||||
uint64_t inserted_samples_for_deceleration = 0;
|
||||
uint64_t silent_concealed_samples = 0;
|
||||
TimeDelta jitter_buffer_delay = TimeDelta::Zero();
|
||||
TimeDelta jitter_buffer_target_delay = TimeDelta::Zero();
|
||||
uint64_t jitter_buffer_emitted_count = 0;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user