New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 669877 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 627816
issue 657856
issue 659137



Sign in to add a comment

Invalid negative values in stats returned by new getStats

Project Member Reported by hbos@chromium.org, Nov 30 2016

Issue description

Invalid values discovered while debugging an integration test and looking at real stats:

RTCOutboundRTPStreamStats.roundTripTime = -0.001
  ^-- Sample from outbound audio case, but I'm guessing this affects audio and video.

RTCMediaStreamTrackStats.echoReturnLoss = -100
RTCMediaStreamTrackStats.echoReturnLossEnhancement = -100

These are default values. Using Optional<T> would prevent RTCStatsCollector from picking up values that have not been set. Discarding values such as these in RTCStatsCollector is also a solution, but not as elegant.
 

Comment 1 by hbos@chromium.org, Dec 12 2016

Blocking: -657855
When testing on local loopback (rtcstats_integrationtest.cc), I found that roundTripTime was properly defined for the outbound video stream but not the outbound audio stream, even if I let the call run for several seconds.

Comment 2 by hbos@chromium.org, Dec 12 2016

Description: Show this description
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/external/webrtc.git/+/9a394f0649d39737a791d17e73ad2603e3d162fb

commit 9a394f0649d39737a791d17e73ad2603e3d162fb
Author: hbos <hbos@webrtc.org>
Date: Wed Dec 14 15:58:22 2016

Skip RTCMediaStreamTrackStats.echoReturnLoss[Enhancement] default value.

Due to the Chromium implementation[1] of GetAudioProcesssingStats,
echoReturnLoss and echoReturnLossEnhancement could default to -100 when
no value was available. This should be improved by using rtc::Optional
or AudioProcessorInterface::GetStats being able to return false, but
this requires a bunch of refactoring.

In the meantime we "blacklist" the value -100 which is a nonsense value
anyway. In that case echoReturnLoss[Enhancement] is correctly left
undefined.

[1] https://cs.chromium.org/chromium/src/content/renderer/media/media_stream_audio_processor_options.cc?sq=package:chromium&dr=C&rcl=1481530670&l=461

BUG= chromium:669877 

Review-Url: https://codereview.webrtc.org/2573443002
Cr-Commit-Position: refs/heads/master@{#15611}

[modify] https://crrev.com/9a394f0649d39737a791d17e73ad2603e3d162fb/webrtc/api/rtcstatscollector.cc
[modify] https://crrev.com/9a394f0649d39737a791d17e73ad2603e3d162fb/webrtc/api/rtcstatscollector_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 15 2016

Is there any more work expected to be done here?

Comment 6 by hbos@chromium.org, Jan 12 2017

Status: Verified (was: Assigned)
Done with the above CL.

Sign in to add a comment