Generate track stats when SSRC=0
This will generate an all-zeroes track stat when the sender
has not yet been connected (SSRC has not been assigned).
Bug: webrtc:8673
Change-Id: Id59e6941bc87eba6bb33b4d2a8fd808d985052c7
Reviewed-on: https://webrtc-review.googlesource.com/43080
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21734}
diff --git a/pc/rtcstatscollector_unittest.cc b/pc/rtcstatscollector_unittest.cc
index b77820f..20cfc59 100644
--- a/pc/rtcstatscollector_unittest.cc
+++ b/pc/rtcstatscollector_unittest.cc
@@ -2397,8 +2397,8 @@
// When the PC has not had SetLocalDescription done, tracks all have
// SSRC 0, meaning "unconnected".
-// We do not report stats on those tracks. https://bugs.webrtc.org/8673
-TEST_F(RTCStatsCollectorTest, StatsNotReportedOnZeroSsrc) {
+// In this state, we report on track stats, but not RTP stats.
+TEST_F(RTCStatsCollectorTest, StatsReportedOnZeroSsrc) {
rtc::scoped_refptr<MediaStreamTrackInterface> track =
CreateFakeTrack(cricket::MEDIA_TYPE_AUDIO, "audioTrack",
MediaStreamTrackInterface::kLive);
@@ -2410,7 +2410,10 @@
rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
std::vector<const RTCMediaStreamTrackStats*> track_stats =
report->GetStatsOfType<RTCMediaStreamTrackStats>();
- EXPECT_EQ(0, track_stats.size());
+ EXPECT_EQ(1, track_stats.size());
+ std::vector<const RTCRTPStreamStats*> rtp_stream_stats =
+ report->GetStatsOfType<RTCRTPStreamStats>();
+ EXPECT_EQ(0, rtp_stream_stats.size());
}
class RTCStatsCollectorTestWithFakeCollector : public testing::Test {