From c2d37895a209b73134b49250aad3358b662bdf91 Mon Sep 17 00:00:00 2001 From: Jakob Ivarsson Date: Mon, 10 Apr 2023 19:40:10 +0200 Subject: [PATCH] Fix event log visualizer crash when NetEq input creation fails. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This can happen when there are audio SSRCs in the event log without any associated events. Issue was introduced in https://webrtc-review.googlesource.com/c/src/+/300300 Bug: None Change-Id: Ib0e009095bf67633812d937aa5a9e65e2cd8958a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/300743 Reviewed-by: Björn Terelius Commit-Queue: Jakob Ivarsson‎ Cr-Commit-Position: refs/heads/main@{#39806} --- rtc_tools/rtc_event_log_visualizer/analyze_audio.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rtc_tools/rtc_event_log_visualizer/analyze_audio.cc b/rtc_tools/rtc_event_log_visualizer/analyze_audio.cc index 6a9ef9e5ec..29dc26c22f 100644 --- a/rtc_tools/rtc_event_log_visualizer/analyze_audio.cc +++ b/rtc_tools/rtc_event_log_visualizer/analyze_audio.cc @@ -222,6 +222,9 @@ std::unique_ptr CreateNetEqTestAndRun( int file_sample_rate_hz) { std::unique_ptr input = test::CreateNetEqEventLogInput(parsed_log, ssrc); + if (!input) { + return nullptr; + } constexpr int kReplacementPt = 127; std::set cn_types; @@ -263,8 +266,11 @@ NetEqStatsGetterMap SimulateNetEq(const ParsedRtcEventLog& parsed_log, int file_sample_rate_hz) { NetEqStatsGetterMap neteq_stats; for (uint32_t ssrc : parsed_log.incoming_audio_ssrcs()) { - neteq_stats[ssrc] = CreateNetEqTestAndRun( + std::unique_ptr stats = CreateNetEqTestAndRun( parsed_log, ssrc, replacement_file_name, file_sample_rate_hz); + if (stats) { + neteq_stats[ssrc] = std::move(stats); + } } return neteq_stats; }