From aa83cc7fda6781438370871a912bb3ce8374ae7b Mon Sep 17 00:00:00 2001 From: Philipp Hancke Date: Tue, 27 Oct 2020 09:50:36 +0100 Subject: [PATCH] getstats: fix inbound-rtp audio level range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit converting to the [0..1] range as done in other places. BUG=chromium:1142626 Change-Id: I190b23f54a29505b526a4fdfb733b841b823ff29 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190441 Commit-Queue: Philipp Hancke Commit-Queue: Henrik Boström Reviewed-by: Henrik Boström Cr-Commit-Position: refs/heads/master@{#32502} --- pc/rtc_stats_collector.cc | 5 ++++- pc/rtc_stats_collector_unittest.cc | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc index 13374794e5..159ae7f1b9 100644 --- a/pc/rtc_stats_collector.cc +++ b/pc/rtc_stats_collector.cc @@ -305,7 +305,10 @@ void SetInboundRTPStreamStatsFromVoiceReceiverInfo( voice_receiver_info.inserted_samples_for_deceleration; inbound_audio->removed_samples_for_acceleration = voice_receiver_info.removed_samples_for_acceleration; - inbound_audio->audio_level = voice_receiver_info.audio_level; + if (voice_receiver_info.audio_level >= 0) { + inbound_audio->audio_level = + DoubleAudioLevelFromIntAudioLevel(voice_receiver_info.audio_level); + } inbound_audio->total_audio_energy = voice_receiver_info.total_output_energy; inbound_audio->total_samples_duration = voice_receiver_info.total_output_duration; diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc index b0b7254e9c..7c19c3cbb6 100644 --- a/pc/rtc_stats_collector_unittest.cc +++ b/pc/rtc_stats_collector_unittest.cc @@ -1551,7 +1551,7 @@ TEST_F(RTCStatsCollectorTest, cricket::VoiceReceiverInfo voice_receiver_info; voice_receiver_info.local_stats.push_back(cricket::SsrcReceiverInfo()); voice_receiver_info.local_stats[0].ssrc = 3; - voice_receiver_info.audio_level = 16383; + voice_receiver_info.audio_level = 16383; // [0,32767] voice_receiver_info.total_output_energy = 0.125; voice_receiver_info.total_samples_received = 4567; voice_receiver_info.total_output_duration = 0.25; @@ -1596,7 +1596,7 @@ TEST_F(RTCStatsCollectorTest, expected_remote_audio_track.remote_source = true; expected_remote_audio_track.ended = false; expected_remote_audio_track.detached = false; - expected_remote_audio_track.audio_level = 16383.0 / 32767.0; + expected_remote_audio_track.audio_level = 16383.0 / 32767.0; // [0,1] expected_remote_audio_track.total_audio_energy = 0.125; expected_remote_audio_track.total_samples_received = 4567; expected_remote_audio_track.total_samples_duration = 0.25; @@ -1791,7 +1791,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { voice_media_info.receivers[0].concealment_events = 6; voice_media_info.receivers[0].inserted_samples_for_deceleration = 7; voice_media_info.receivers[0].removed_samples_for_acceleration = 8; - voice_media_info.receivers[0].audio_level = 9.0; + voice_media_info.receivers[0].audio_level = 14442; // [0,32767] voice_media_info.receivers[0].total_output_energy = 10.0; voice_media_info.receivers[0].total_output_duration = 11.0; @@ -1841,7 +1841,7 @@ TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { expected_audio.concealment_events = 6; expected_audio.inserted_samples_for_deceleration = 7; expected_audio.removed_samples_for_acceleration = 8; - expected_audio.audio_level = 9.0; + expected_audio.audio_level = 14442.0 / 32767.0; // [0,1] expected_audio.total_audio_energy = 10.0; expected_audio.total_samples_duration = 11.0;