| Index: webrtc/api/statscollector_unittest.cc
|
| diff --git a/webrtc/api/statscollector_unittest.cc b/webrtc/api/statscollector_unittest.cc
|
| index 8d5978f66f842dd7a4636dc465c0816a949936c4..0841ea6925a3c193628e697640bcff88c03f41d8 100644
|
| --- a/webrtc/api/statscollector_unittest.cc
|
| +++ b/webrtc/api/statscollector_unittest.cc
|
| @@ -29,6 +29,7 @@
|
| #include "webrtc/base/fakesslidentity.h"
|
| #include "webrtc/base/gunit.h"
|
| #include "webrtc/base/network.h"
|
| +#include "webrtc/base/stringencode.h"
|
| #include "webrtc/logging/rtc_event_log/rtc_event_log.h"
|
| #include "webrtc/media/base/fakemediaengine.h"
|
| #include "webrtc/media/base/test/mock_mediachannel.h"
|
| @@ -1891,4 +1892,46 @@ TEST_F(StatsCollectorTest, TwoLocalTracksWithSameSsrc) {
|
| media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports);
|
| }
|
|
|
| +// This test verifies that stats are correctly set in video send ssrc stats.
|
| +TEST_F(StatsCollectorTest, VerifyVideoSendSsrcStats) {
|
| + StatsCollectorForTest stats(&pc_);
|
| +
|
| + EXPECT_CALL(session_, GetLocalCertificate(_, _))
|
| + .WillRepeatedly(Return(false));
|
| + EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
|
| + .WillRepeatedly(Return(nullptr));
|
| +
|
| + const char kVideoChannelName[] = "video";
|
| +
|
| + InitSessionStats(kVideoChannelName);
|
| + EXPECT_CALL(session_, GetTransportStats(_))
|
| + .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true)));
|
| +
|
| + MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
|
| + cricket::VideoChannel video_channel(worker_thread_, network_thread_,
|
| + media_channel, nullptr, kVideoChannelName,
|
| + false);
|
| + StatsReports reports; // returned values.
|
| + cricket::VideoSenderInfo video_sender_info;
|
| + cricket::VideoMediaInfo stats_read;
|
| +
|
| + AddOutgoingVideoTrackStats();
|
| + stats.AddStream(stream_);
|
| +
|
| + // Construct a stats value to read.
|
| + video_sender_info.add_ssrc(1234);
|
| + video_sender_info.frames_encoded = 10;
|
| + stats_read.senders.push_back(video_sender_info);
|
| +
|
| + EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel));
|
| + EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull());
|
| + EXPECT_CALL(*media_channel, GetStats(_))
|
| + .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true)));
|
| + stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard);
|
| + stats.GetStats(NULL, &reports);
|
| + EXPECT_EQ(rtc::ToString(video_sender_info.frames_encoded),
|
| + ExtractSsrcStatsValue(reports,
|
| + StatsReport::kStatsValueNameFramesEncoded));
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|