NetEq: Create an audio interruption metric
This CL adds a new metric to NetEq, which logs whenever a loss concealment event has lasted longer than 150 ms (an "interruption"). The number of such events, as well as the sum length of them, is kept in a SampleCounter, which can be queried at any time. Any initial PLC at the beginning of a call, before the first packet is decoded, is ignored. Unit tests and piping to neteq_rtpplay are included. Bug: webrtc:10549 Change-Id: I8a224a34254c47c74317617f420f6de997232d88 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/132796 Reviewed-by: Minyue Li <minyue@webrtc.org> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27781}
This commit is contained in:

committed by
Commit Bot

parent
42fa30fdac
commit
2a8bd090a3
@ -75,6 +75,18 @@ void NetEqStatsPlotter::SimulationEnded(int64_t simulation_time_ms) {
|
||||
printf("%s\n", concealment_event.ToString().c_str());
|
||||
printf(" end of concealment_events_ms\n");
|
||||
}
|
||||
|
||||
const auto lifetime_stats_vector = stats_getter_->lifetime_stats();
|
||||
if (!lifetime_stats_vector->empty()) {
|
||||
auto lifetime_stats = lifetime_stats_vector->back().second;
|
||||
printf(" num_interruptions: %" PRId64 "\n",
|
||||
lifetime_stats.interruption_count);
|
||||
printf(" sum_interruption_length_ms: %" PRId64 " ms\n",
|
||||
lifetime_stats.total_interruption_duration_ms);
|
||||
printf(" interruption ratio: %f%%\n",
|
||||
100.0 * lifetime_stats.total_interruption_duration_ms /
|
||||
simulation_time_ms);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace test
|
||||
|
Reference in New Issue
Block a user