RTCMediaStreamTrackStats.framesDropped collected by RTCStatsCollector.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-framesdropped
Implemented as frames_received - frames_rendered.
Part of this CL is adding frames_rendered to VideoReceiveStream::Stats
and updating it at ReceiveStatisticsProxy::OnRenderedFrame.
BUG=webrtc:6757, chromium:659137, chromium:627816
NOTRY=True
Review-Url: https://codereview.webrtc.org/2607933002
Cr-Original-Commit-Position: refs/heads/master@{#16213}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 50cfe1fda7f2b4a6a449fe7234f4c1aa2a475c61
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index fd6e1ba..d6dbffb 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -1542,8 +1542,9 @@
video_receiver_info_ssrc3.local_stats[0].ssrc = 3;
video_receiver_info_ssrc3.frame_width = 6789;
video_receiver_info_ssrc3.frame_height = 9876;
- video_receiver_info_ssrc3.frames_received = 2468;
- video_receiver_info_ssrc3.frames_decoded = 1234;
+ video_receiver_info_ssrc3.frames_received = 1000;
+ video_receiver_info_ssrc3.frames_decoded = 995;
+ video_receiver_info_ssrc3.frames_rendered = 990;
// Remote video track with undefined (default) values
rtc::scoped_refptr<MediaStreamTrackInterface> remote_video_track_ssrc4 =
@@ -1559,6 +1560,7 @@
video_receiver_info_ssrc4.frame_height = 0;
video_receiver_info_ssrc4.frames_received = 0;
video_receiver_info_ssrc4.frames_decoded = 0;
+ video_receiver_info_ssrc4.frames_rendered = 0;
test_->CreateMockRtpSendersReceiversAndChannels(
{}, {},
@@ -1633,8 +1635,9 @@
expected_remote_video_track_ssrc3.detached = false;
expected_remote_video_track_ssrc3.frame_width = 6789;
expected_remote_video_track_ssrc3.frame_height = 9876;
- expected_remote_video_track_ssrc3.frames_received = 2468;
- expected_remote_video_track_ssrc3.frames_decoded = 1234;
+ expected_remote_video_track_ssrc3.frames_received = 1000;
+ expected_remote_video_track_ssrc3.frames_decoded = 995;
+ expected_remote_video_track_ssrc3.frames_dropped = 1000 - 990;
ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc3.id()));
EXPECT_EQ(expected_remote_video_track_ssrc3,
report->Get(expected_remote_video_track_ssrc3.id())->cast_to<
@@ -1650,6 +1653,7 @@
expected_remote_video_track_ssrc4.detached = false;
expected_remote_video_track_ssrc4.frames_received = 0;
expected_remote_video_track_ssrc4.frames_decoded = 0;
+ expected_remote_video_track_ssrc4.frames_dropped = 0;
// Should be undefined: |expected_remote_video_track_ssrc4.frame_width| and
// |expected_remote_video_track_ssrc4.frame_height|.
ASSERT_TRUE(report->Get(expected_remote_video_track_ssrc4.id()));