Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Side by Side Diff: webrtc/api/statscollector_unittest.cc

Issue 2614263002: Remove BaseChannel's dependency on TransportController. (Closed)
Patch Set: cr comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 859
860 InitSessionStats(kVideoChannelName); 860 InitSessionStats(kVideoChannelName);
861 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 861 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
862 [this](const ChannelNamePairs&) { 862 [this](const ChannelNamePairs&) {
863 return std::unique_ptr<SessionStats>( 863 return std::unique_ptr<SessionStats>(
864 new SessionStats(session_stats_)); 864 new SessionStats(session_stats_));
865 })); 865 }));
866 866
867 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 867 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
868 cricket::VideoChannel video_channel( 868 cricket::VideoChannel video_channel(
869 worker_thread_, network_thread_, media_channel, nullptr, 869 worker_thread_, network_thread_, nullptr, media_channel,
870 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 870 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
871 StatsReports reports; // returned values. 871 StatsReports reports; // returned values.
872 cricket::VideoSenderInfo video_sender_info; 872 cricket::VideoSenderInfo video_sender_info;
873 cricket::VideoMediaInfo stats_read; 873 cricket::VideoMediaInfo stats_read;
874 // The number of bytes must be larger than 0xFFFFFFFF for this test. 874 // The number of bytes must be larger than 0xFFFFFFFF for this test.
875 const int64_t kBytesSent = 12345678901234LL; 875 const int64_t kBytesSent = 12345678901234LL;
876 const std::string kBytesSentString("12345678901234"); 876 const std::string kBytesSentString("12345678901234");
877 877
878 AddOutgoingVideoTrackStats(); 878 AddOutgoingVideoTrackStats();
879 stats.AddStream(stream_); 879 stats.AddStream(stream_);
(...skipping 28 matching lines...) Expand all
908 908
909 InitSessionStats(kVideoChannelName); 909 InitSessionStats(kVideoChannelName);
910 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 910 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
911 [this](const ChannelNamePairs&) { 911 [this](const ChannelNamePairs&) {
912 return std::unique_ptr<SessionStats>( 912 return std::unique_ptr<SessionStats>(
913 new SessionStats(session_stats_)); 913 new SessionStats(session_stats_));
914 })); 914 }));
915 915
916 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 916 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
917 cricket::VideoChannel video_channel( 917 cricket::VideoChannel video_channel(
918 worker_thread_, network_thread_, media_channel, nullptr, 918 worker_thread_, network_thread_, nullptr, media_channel,
919 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 919 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
920 920
921 StatsReports reports; // returned values. 921 StatsReports reports; // returned values.
922 cricket::VideoSenderInfo video_sender_info; 922 cricket::VideoSenderInfo video_sender_info;
923 cricket::VideoMediaInfo stats_read; 923 cricket::VideoMediaInfo stats_read;
924 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and 924 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and
925 // BWE. 925 // BWE.
926 const int64_t kBytesSent = 12345678901234LL; 926 const int64_t kBytesSent = 12345678901234LL;
927 const std::string kBytesSentString("12345678901234"); 927 const std::string kBytesSentString("12345678901234");
928 928
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 EXPECT_EQ(NULL, session_report); 984 EXPECT_EQ(NULL, session_report);
985 } 985 }
986 986
987 // This test verifies that the empty track report exists in the returned stats 987 // This test verifies that the empty track report exists in the returned stats
988 // without calling StatsCollector::UpdateStats. 988 // without calling StatsCollector::UpdateStats.
989 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { 989 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) {
990 StatsCollectorForTest stats(&pc_); 990 StatsCollectorForTest stats(&pc_);
991 991
992 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 992 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
993 cricket::VideoChannel video_channel( 993 cricket::VideoChannel video_channel(
994 worker_thread_, network_thread_, media_channel, nullptr, "video", 994 worker_thread_, network_thread_, nullptr, media_channel, "video",
995 kDefaultRtcpEnabled, kDefaultSrtpRequired); 995 kDefaultRtcpEnabled, kDefaultSrtpRequired);
996 AddOutgoingVideoTrackStats(); 996 AddOutgoingVideoTrackStats();
997 stats.AddStream(stream_); 997 stats.AddStream(stream_);
998 998
999 // Verfies the existence of the track report. 999 // Verfies the existence of the track report.
1000 StatsReports reports; 1000 StatsReports reports;
1001 stats.GetStats(NULL, &reports); 1001 stats.GetStats(NULL, &reports);
1002 EXPECT_EQ((size_t)1, reports.size()); 1002 EXPECT_EQ((size_t)1, reports.size());
1003 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); 1003 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type());
1004 EXPECT_EQ(0, reports[0]->timestamp()); 1004 EXPECT_EQ(0, reports[0]->timestamp());
(...skipping 18 matching lines...) Expand all
1023 const char kVideoChannelName[] = "video"; 1023 const char kVideoChannelName[] = "video";
1024 InitSessionStats(kVideoChannelName); 1024 InitSessionStats(kVideoChannelName);
1025 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1025 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1026 [this](const ChannelNamePairs&) { 1026 [this](const ChannelNamePairs&) {
1027 return std::unique_ptr<SessionStats>( 1027 return std::unique_ptr<SessionStats>(
1028 new SessionStats(session_stats_)); 1028 new SessionStats(session_stats_));
1029 })); 1029 }));
1030 1030
1031 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1031 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1032 cricket::VideoChannel video_channel( 1032 cricket::VideoChannel video_channel(
1033 worker_thread_, network_thread_, media_channel, nullptr, 1033 worker_thread_, network_thread_, nullptr, media_channel,
1034 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1034 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1035 AddOutgoingVideoTrackStats(); 1035 AddOutgoingVideoTrackStats();
1036 stats.AddStream(stream_); 1036 stats.AddStream(stream_);
1037 1037
1038 // Constructs an ssrc stats update. 1038 // Constructs an ssrc stats update.
1039 cricket::VideoSenderInfo video_sender_info; 1039 cricket::VideoSenderInfo video_sender_info;
1040 cricket::VideoMediaInfo stats_read; 1040 cricket::VideoMediaInfo stats_read;
1041 const int64_t kBytesSent = 12345678901234LL; 1041 const int64_t kBytesSent = 12345678901234LL;
1042 1042
1043 // Construct a stats value to read. 1043 // Construct a stats value to read.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1092 1092
1093 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1093 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1094 .WillRepeatedly(Return(false)); 1094 .WillRepeatedly(Return(false));
1095 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1095 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1096 .WillRepeatedly(Return(nullptr)); 1096 .WillRepeatedly(Return(nullptr));
1097 1097
1098 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1098 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1099 // The transport_name known by the video channel. 1099 // The transport_name known by the video channel.
1100 const std::string kVcName("vcname"); 1100 const std::string kVcName("vcname");
1101 cricket::VideoChannel video_channel( 1101 cricket::VideoChannel video_channel(
1102 worker_thread_, network_thread_, media_channel, nullptr, kVcName, 1102 worker_thread_, network_thread_, nullptr, media_channel, kVcName,
1103 kDefaultRtcpEnabled, kDefaultSrtpRequired); 1103 kDefaultRtcpEnabled, kDefaultSrtpRequired);
1104 AddOutgoingVideoTrackStats(); 1104 AddOutgoingVideoTrackStats();
1105 stats.AddStream(stream_); 1105 stats.AddStream(stream_);
1106 1106
1107 // Constructs an ssrc stats update. 1107 // Constructs an ssrc stats update.
1108 cricket::VideoSenderInfo video_sender_info; 1108 cricket::VideoSenderInfo video_sender_info;
1109 cricket::VideoMediaInfo stats_read; 1109 cricket::VideoMediaInfo stats_read;
1110 const int64_t kBytesSent = 12345678901234LL; 1110 const int64_t kBytesSent = 12345678901234LL;
1111 1111
1112 // Construct a stats value to read. 1112 // Construct a stats value to read.
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1153 1153
1154 // This test verifies that a remote stats object will not be created for 1154 // This test verifies that a remote stats object will not be created for
1155 // an outgoing SSRC where remote stats are not returned. 1155 // an outgoing SSRC where remote stats are not returned.
1156 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { 1156 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) {
1157 StatsCollectorForTest stats(&pc_); 1157 StatsCollectorForTest stats(&pc_);
1158 1158
1159 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1159 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1160 // The transport_name known by the video channel. 1160 // The transport_name known by the video channel.
1161 const std::string kVcName("vcname"); 1161 const std::string kVcName("vcname");
1162 cricket::VideoChannel video_channel( 1162 cricket::VideoChannel video_channel(
1163 worker_thread_, network_thread_, media_channel, nullptr, kVcName, 1163 worker_thread_, network_thread_, nullptr, media_channel, kVcName,
1164 kDefaultRtcpEnabled, kDefaultSrtpRequired); 1164 kDefaultRtcpEnabled, kDefaultSrtpRequired);
1165 AddOutgoingVideoTrackStats(); 1165 AddOutgoingVideoTrackStats();
1166 stats.AddStream(stream_); 1166 stats.AddStream(stream_);
1167 1167
1168 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); 1168 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard);
1169 StatsReports reports; 1169 StatsReports reports;
1170 stats.GetStats(NULL, &reports); 1170 stats.GetStats(NULL, &reports);
1171 const StatsReport* remote_report = FindNthReportByType(reports, 1171 const StatsReport* remote_report = FindNthReportByType(reports,
1172 StatsReport::kStatsReportTypeRemoteSsrc, 1); 1172 StatsReport::kStatsReportTypeRemoteSsrc, 1);
1173 EXPECT_TRUE(remote_report == NULL); 1173 EXPECT_TRUE(remote_report == NULL);
1174 } 1174 }
1175 1175
1176 // This test verifies that a remote stats object will be created for 1176 // This test verifies that a remote stats object will be created for
1177 // an outgoing SSRC where stats are returned. 1177 // an outgoing SSRC where stats are returned.
1178 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { 1178 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) {
1179 StatsCollectorForTest stats(&pc_); 1179 StatsCollectorForTest stats(&pc_);
1180 1180
1181 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1181 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1182 .WillRepeatedly(Return(false)); 1182 .WillRepeatedly(Return(false));
1183 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1183 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1184 .WillRepeatedly(Return(nullptr)); 1184 .WillRepeatedly(Return(nullptr));
1185 1185
1186 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1186 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1187 // The transport_name known by the video channel. 1187 // The transport_name known by the video channel.
1188 const std::string kVcName("vcname"); 1188 const std::string kVcName("vcname");
1189 cricket::VideoChannel video_channel( 1189 cricket::VideoChannel video_channel(
1190 worker_thread_, network_thread_, media_channel, nullptr, kVcName, 1190 worker_thread_, network_thread_, nullptr, media_channel, kVcName,
1191 kDefaultRtcpEnabled, kDefaultSrtpRequired); 1191 kDefaultRtcpEnabled, kDefaultSrtpRequired);
1192 AddOutgoingVideoTrackStats(); 1192 AddOutgoingVideoTrackStats();
1193 stats.AddStream(stream_); 1193 stats.AddStream(stream_);
1194 1194
1195 // Instruct the session to return stats containing the transport channel. 1195 // Instruct the session to return stats containing the transport channel.
1196 InitSessionStats(kVcName); 1196 InitSessionStats(kVcName);
1197 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1197 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1198 [this](const ChannelNamePairs&) { 1198 [this](const ChannelNamePairs&) {
1199 return std::unique_ptr<SessionStats>( 1199 return std::unique_ptr<SessionStats>(
1200 new SessionStats(session_stats_)); 1200 new SessionStats(session_stats_));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 const char kVideoChannelName[] = "video"; 1240 const char kVideoChannelName[] = "video";
1241 InitSessionStats(kVideoChannelName); 1241 InitSessionStats(kVideoChannelName);
1242 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1242 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1243 [this](const ChannelNamePairs&) { 1243 [this](const ChannelNamePairs&) {
1244 return std::unique_ptr<SessionStats>( 1244 return std::unique_ptr<SessionStats>(
1245 new SessionStats(session_stats_)); 1245 new SessionStats(session_stats_));
1246 })); 1246 }));
1247 1247
1248 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1248 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1249 cricket::VideoChannel video_channel( 1249 cricket::VideoChannel video_channel(
1250 worker_thread_, network_thread_, media_channel, nullptr, 1250 worker_thread_, network_thread_, nullptr, media_channel,
1251 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1251 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1252 AddIncomingVideoTrackStats(); 1252 AddIncomingVideoTrackStats();
1253 stats.AddStream(stream_); 1253 stats.AddStream(stream_);
1254 1254
1255 // Constructs an ssrc stats update. 1255 // Constructs an ssrc stats update.
1256 cricket::VideoReceiverInfo video_receiver_info; 1256 cricket::VideoReceiverInfo video_receiver_info;
1257 cricket::VideoMediaInfo stats_read; 1257 cricket::VideoMediaInfo stats_read;
1258 const int64_t kNumOfPacketsConcealed = 54321; 1258 const int64_t kNumOfPacketsConcealed = 54321;
1259 1259
1260 // Construct a stats value to read. 1260 // Construct a stats value to read.
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
1553 1553
1554 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1554 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1555 .WillRepeatedly(Return(false)); 1555 .WillRepeatedly(Return(false));
1556 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1556 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1557 .WillRepeatedly(Return(nullptr)); 1557 .WillRepeatedly(Return(nullptr));
1558 1558
1559 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1559 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1560 // The transport_name known by the voice channel. 1560 // The transport_name known by the voice channel.
1561 const std::string kVcName("vcname"); 1561 const std::string kVcName("vcname");
1562 cricket::VoiceChannel voice_channel( 1562 cricket::VoiceChannel voice_channel(
1563 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1563 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1564 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1564 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1565 1565
1566 // Create a local stream with a local audio track and adds it to the stats. 1566 // Create a local stream with a local audio track and adds it to the stats.
1567 if (stream_ == NULL) 1567 if (stream_ == NULL)
1568 stream_ = webrtc::MediaStream::Create("streamlabel"); 1568 stream_ = webrtc::MediaStream::Create("streamlabel");
1569 1569
1570 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( 1570 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track(
1571 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); 1571 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId));
1572 stream_->AddTrack(local_track); 1572 stream_->AddTrack(local_track);
1573 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) 1573 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _))
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1663 1663
1664 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1664 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1665 .WillRepeatedly(Return(false)); 1665 .WillRepeatedly(Return(false));
1666 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1666 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1667 .WillRepeatedly(Return(nullptr)); 1667 .WillRepeatedly(Return(nullptr));
1668 1668
1669 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1669 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1670 // The transport_name known by the voice channel. 1670 // The transport_name known by the voice channel.
1671 const std::string kVcName("vcname"); 1671 const std::string kVcName("vcname");
1672 cricket::VoiceChannel voice_channel( 1672 cricket::VoiceChannel voice_channel(
1673 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1673 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1674 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1674 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1675 AddOutgoingAudioTrackStats(); 1675 AddOutgoingAudioTrackStats();
1676 stats.AddStream(stream_); 1676 stats.AddStream(stream_);
1677 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1677 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1678 1678
1679 cricket::VoiceSenderInfo voice_sender_info; 1679 cricket::VoiceSenderInfo voice_sender_info;
1680 InitVoiceSenderInfo(&voice_sender_info); 1680 InitVoiceSenderInfo(&voice_sender_info);
1681 1681
1682 cricket::VoiceMediaInfo stats_read; 1682 cricket::VoiceMediaInfo stats_read;
1683 StatsReports reports; // returned values. 1683 StatsReports reports; // returned values.
(...skipping 15 matching lines...) Expand all
1699 1699
1700 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1700 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1701 .WillRepeatedly(Return(false)); 1701 .WillRepeatedly(Return(false));
1702 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1702 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1703 .WillRepeatedly(Return(nullptr)); 1703 .WillRepeatedly(Return(nullptr));
1704 1704
1705 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1705 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1706 // The transport_name known by the voice channel. 1706 // The transport_name known by the voice channel.
1707 const std::string kVcName("vcname"); 1707 const std::string kVcName("vcname");
1708 cricket::VoiceChannel voice_channel( 1708 cricket::VoiceChannel voice_channel(
1709 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1709 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1710 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1710 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1711 AddIncomingAudioTrackStats(); 1711 AddIncomingAudioTrackStats();
1712 stats.AddStream(stream_); 1712 stats.AddStream(stream_);
1713 1713
1714 cricket::VoiceReceiverInfo voice_receiver_info; 1714 cricket::VoiceReceiverInfo voice_receiver_info;
1715 InitVoiceReceiverInfo(&voice_receiver_info); 1715 InitVoiceReceiverInfo(&voice_receiver_info);
1716 voice_receiver_info.codec_name = "fake_codec"; 1716 voice_receiver_info.codec_name = "fake_codec";
1717 1717
1718 cricket::VoiceMediaInfo stats_read; 1718 cricket::VoiceMediaInfo stats_read;
1719 StatsReports reports; // returned values. 1719 StatsReports reports; // returned values.
1720 SetupAndVerifyAudioTrackStats( 1720 SetupAndVerifyAudioTrackStats(
1721 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, 1721 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName,
1722 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); 1722 media_channel, NULL, &voice_receiver_info, &stats_read, &reports);
1723 } 1723 }
1724 1724
1725 // This test verifies that a local stats object won't update its statistics 1725 // This test verifies that a local stats object won't update its statistics
1726 // after a RemoveLocalAudioTrack() call. 1726 // after a RemoveLocalAudioTrack() call.
1727 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { 1727 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) {
1728 StatsCollectorForTest stats(&pc_); 1728 StatsCollectorForTest stats(&pc_);
1729 1729
1730 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1730 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1731 .WillRepeatedly(Return(false)); 1731 .WillRepeatedly(Return(false));
1732 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1732 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1733 .WillRepeatedly(Return(nullptr)); 1733 .WillRepeatedly(Return(nullptr));
1734 1734
1735 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1735 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1736 // The transport_name known by the voice channel. 1736 // The transport_name known by the voice channel.
1737 const std::string kVcName("vcname"); 1737 const std::string kVcName("vcname");
1738 cricket::VoiceChannel voice_channel( 1738 cricket::VoiceChannel voice_channel(
1739 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1739 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1740 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1740 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1741 AddOutgoingAudioTrackStats(); 1741 AddOutgoingAudioTrackStats();
1742 stats.AddStream(stream_); 1742 stats.AddStream(stream_);
1743 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1743 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1744 1744
1745 // Instruct the session to return stats containing the transport channel. 1745 // Instruct the session to return stats containing the transport channel.
1746 InitSessionStats(kVcName); 1746 InitSessionStats(kVcName);
1747 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1747 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1748 [this](const ChannelNamePairs&) { 1748 [this](const ChannelNamePairs&) {
1749 return std::unique_ptr<SessionStats>( 1749 return std::unique_ptr<SessionStats>(
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1793 1793
1794 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1794 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1795 .WillRepeatedly(Return(false)); 1795 .WillRepeatedly(Return(false));
1796 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1796 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1797 .WillRepeatedly(Return(nullptr)); 1797 .WillRepeatedly(Return(nullptr));
1798 1798
1799 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1799 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1800 // The transport_name known by the voice channel. 1800 // The transport_name known by the voice channel.
1801 const std::string kVcName("vcname"); 1801 const std::string kVcName("vcname");
1802 cricket::VoiceChannel voice_channel( 1802 cricket::VoiceChannel voice_channel(
1803 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1803 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1804 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1804 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1805 1805
1806 // Create a local stream with a local audio track and adds it to the stats. 1806 // Create a local stream with a local audio track and adds it to the stats.
1807 AddOutgoingAudioTrackStats(); 1807 AddOutgoingAudioTrackStats();
1808 stats.AddStream(stream_); 1808 stats.AddStream(stream_);
1809 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1809 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1810 1810
1811 // Create a remote stream with a remote audio track and adds it to the stats. 1811 // Create a remote stream with a remote audio track and adds it to the stats.
1812 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( 1812 rtc::scoped_refptr<webrtc::MediaStream> remote_stream(
1813 webrtc::MediaStream::Create("remotestreamlabel")); 1813 webrtc::MediaStream::Create("remotestreamlabel"));
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1883 1883
1884 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1884 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1885 .WillRepeatedly(Return(false)); 1885 .WillRepeatedly(Return(false));
1886 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1886 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1887 .WillRepeatedly(Return(nullptr)); 1887 .WillRepeatedly(Return(nullptr));
1888 1888
1889 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1889 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1890 // The transport_name known by the voice channel. 1890 // The transport_name known by the voice channel.
1891 const std::string kVcName("vcname"); 1891 const std::string kVcName("vcname");
1892 cricket::VoiceChannel voice_channel( 1892 cricket::VoiceChannel voice_channel(
1893 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, 1893 worker_thread_, network_thread_, nullptr, media_engine_, media_channel,
1894 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1894 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1895 1895
1896 // Create a local stream with a local audio track and adds it to the stats. 1896 // Create a local stream with a local audio track and adds it to the stats.
1897 AddOutgoingAudioTrackStats(); 1897 AddOutgoingAudioTrackStats();
1898 stats.AddStream(stream_); 1898 stats.AddStream(stream_);
1899 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1899 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1900 1900
1901 cricket::VoiceSenderInfo voice_sender_info; 1901 cricket::VoiceSenderInfo voice_sender_info;
1902 voice_sender_info.add_ssrc(kSsrcOfTrack); 1902 voice_sender_info.add_ssrc(kSsrcOfTrack);
1903 1903
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1943 1943
1944 InitSessionStats(kVideoChannelName); 1944 InitSessionStats(kVideoChannelName);
1945 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1945 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1946 [this](const ChannelNamePairs&) { 1946 [this](const ChannelNamePairs&) {
1947 return std::unique_ptr<SessionStats>( 1947 return std::unique_ptr<SessionStats>(
1948 new SessionStats(session_stats_)); 1948 new SessionStats(session_stats_));
1949 })); 1949 }));
1950 1950
1951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1952 cricket::VideoChannel video_channel( 1952 cricket::VideoChannel video_channel(
1953 worker_thread_, network_thread_, media_channel, nullptr, 1953 worker_thread_, network_thread_, nullptr, media_channel,
1954 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 1954 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
1955 StatsReports reports; // returned values. 1955 StatsReports reports; // returned values.
1956 cricket::VideoSenderInfo video_sender_info; 1956 cricket::VideoSenderInfo video_sender_info;
1957 cricket::VideoMediaInfo stats_read; 1957 cricket::VideoMediaInfo stats_read;
1958 1958
1959 AddOutgoingVideoTrackStats(); 1959 AddOutgoingVideoTrackStats();
1960 stats.AddStream(stream_); 1960 stats.AddStream(stream_);
1961 1961
1962 // Construct a stats value to read. 1962 // Construct a stats value to read.
1963 video_sender_info.add_ssrc(1234); 1963 video_sender_info.add_ssrc(1234);
(...skipping 27 matching lines...) Expand all
1991 1991
1992 InitSessionStats(kVideoChannelName); 1992 InitSessionStats(kVideoChannelName);
1993 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( 1993 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke(
1994 [this](const ChannelNamePairs&) { 1994 [this](const ChannelNamePairs&) {
1995 return std::unique_ptr<SessionStats>( 1995 return std::unique_ptr<SessionStats>(
1996 new SessionStats(session_stats_)); 1996 new SessionStats(session_stats_));
1997 })); 1997 }));
1998 1998
1999 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1999 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
2000 cricket::VideoChannel video_channel( 2000 cricket::VideoChannel video_channel(
2001 worker_thread_, network_thread_, media_channel, nullptr, 2001 worker_thread_, network_thread_, nullptr, media_channel,
2002 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); 2002 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired);
2003 StatsReports reports; // returned values. 2003 StatsReports reports; // returned values.
2004 cricket::VideoReceiverInfo video_receiver_info; 2004 cricket::VideoReceiverInfo video_receiver_info;
2005 cricket::VideoMediaInfo stats_read; 2005 cricket::VideoMediaInfo stats_read;
2006 2006
2007 AddIncomingVideoTrackStats(); 2007 AddIncomingVideoTrackStats();
2008 stats.AddStream(stream_); 2008 stats.AddStream(stream_);
2009 2009
2010 // Construct a stats value to read. 2010 // Construct a stats value to read.
2011 video_receiver_info.add_ssrc(1234); 2011 video_receiver_info.add_ssrc(1234);
2012 video_receiver_info.frames_decoded = 10; 2012 video_receiver_info.frames_decoded = 10;
2013 stats_read.receivers.push_back(video_receiver_info); 2013 stats_read.receivers.push_back(video_receiver_info);
2014 2014
2015 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); 2015 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel));
2016 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); 2016 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull());
2017 EXPECT_CALL(*media_channel, GetStats(_)) 2017 EXPECT_CALL(*media_channel, GetStats(_))
2018 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); 2018 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true)));
2019 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); 2019 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard);
2020 stats.GetStats(NULL, &reports); 2020 stats.GetStats(NULL, &reports);
2021 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), 2021 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded),
2022 ExtractSsrcStatsValue(reports, 2022 ExtractSsrcStatsValue(reports,
2023 StatsReport::kStatsValueNameFramesDecoded)); 2023 StatsReport::kStatsValueNameFramesDecoded));
2024 } 2024 }
2025 2025
2026 } // namespace webrtc 2026 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698