OLD | NEW |
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 using testing::DoAll; | 42 using testing::DoAll; |
43 using testing::Field; | 43 using testing::Field; |
44 using testing::Return; | 44 using testing::Return; |
45 using testing::ReturnNull; | 45 using testing::ReturnNull; |
46 using testing::ReturnRef; | 46 using testing::ReturnRef; |
47 using testing::SetArgPointee; | 47 using testing::SetArgPointee; |
48 using webrtc::PeerConnectionInterface; | 48 using webrtc::PeerConnectionInterface; |
49 using webrtc::StatsReport; | 49 using webrtc::StatsReport; |
50 using webrtc::StatsReports; | 50 using webrtc::StatsReports; |
51 | 51 |
| 52 namespace { |
| 53 const bool kDefaultUseRtcpChannel = false; |
| 54 const bool kDefaultSecureRequired = true; |
| 55 } |
| 56 |
52 namespace cricket { | 57 namespace cricket { |
53 | 58 |
54 class ChannelManager; | 59 class ChannelManager; |
55 | 60 |
56 } // namespace cricket | 61 } // namespace cricket |
57 | 62 |
58 namespace webrtc { | 63 namespace webrtc { |
59 | 64 |
60 namespace internal { | 65 namespace internal { |
61 // This value comes from openssl/tls1.h | 66 // This value comes from openssl/tls1.h |
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 .WillRepeatedly(Return(nullptr)); | 851 .WillRepeatedly(Return(nullptr)); |
847 | 852 |
848 const char kVideoChannelName[] = "video"; | 853 const char kVideoChannelName[] = "video"; |
849 | 854 |
850 InitSessionStats(kVideoChannelName); | 855 InitSessionStats(kVideoChannelName); |
851 EXPECT_CALL(session_, GetTransportStats(_)) | 856 EXPECT_CALL(session_, GetTransportStats(_)) |
852 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 857 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
853 Return(true))); | 858 Return(true))); |
854 | 859 |
855 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 860 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
856 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 861 cricket::VideoChannel video_channel( |
857 media_channel, nullptr, kVideoChannelName, | 862 worker_thread_, network_thread_, media_channel, nullptr, |
858 false); | 863 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
859 StatsReports reports; // returned values. | 864 StatsReports reports; // returned values. |
860 cricket::VideoSenderInfo video_sender_info; | 865 cricket::VideoSenderInfo video_sender_info; |
861 cricket::VideoMediaInfo stats_read; | 866 cricket::VideoMediaInfo stats_read; |
862 // The number of bytes must be larger than 0xFFFFFFFF for this test. | 867 // The number of bytes must be larger than 0xFFFFFFFF for this test. |
863 const int64_t kBytesSent = 12345678901234LL; | 868 const int64_t kBytesSent = 12345678901234LL; |
864 const std::string kBytesSentString("12345678901234"); | 869 const std::string kBytesSentString("12345678901234"); |
865 | 870 |
866 AddOutgoingVideoTrackStats(); | 871 AddOutgoingVideoTrackStats(); |
867 stats.AddStream(stream_); | 872 stats.AddStream(stream_); |
868 | 873 |
(...skipping 24 matching lines...) Expand all Loading... |
893 .WillRepeatedly(Return(nullptr)); | 898 .WillRepeatedly(Return(nullptr)); |
894 | 899 |
895 const char kVideoChannelName[] = "video"; | 900 const char kVideoChannelName[] = "video"; |
896 | 901 |
897 InitSessionStats(kVideoChannelName); | 902 InitSessionStats(kVideoChannelName); |
898 EXPECT_CALL(session_, GetTransportStats(_)) | 903 EXPECT_CALL(session_, GetTransportStats(_)) |
899 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 904 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
900 Return(true))); | 905 Return(true))); |
901 | 906 |
902 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 907 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
903 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 908 cricket::VideoChannel video_channel( |
904 media_channel, nullptr, kVideoChannelName, | 909 worker_thread_, network_thread_, media_channel, nullptr, |
905 false); | 910 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
906 | 911 |
907 StatsReports reports; // returned values. | 912 StatsReports reports; // returned values. |
908 cricket::VideoSenderInfo video_sender_info; | 913 cricket::VideoSenderInfo video_sender_info; |
909 cricket::VideoMediaInfo stats_read; | 914 cricket::VideoMediaInfo stats_read; |
910 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and | 915 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and |
911 // BWE. | 916 // BWE. |
912 const int64_t kBytesSent = 12345678901234LL; | 917 const int64_t kBytesSent = 12345678901234LL; |
913 const std::string kBytesSentString("12345678901234"); | 918 const std::string kBytesSentString("12345678901234"); |
914 | 919 |
915 AddOutgoingVideoTrackStats(); | 920 AddOutgoingVideoTrackStats(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
969 reports, StatsReport::kStatsReportTypeSession, 2); | 974 reports, StatsReport::kStatsReportTypeSession, 2); |
970 EXPECT_EQ(NULL, session_report); | 975 EXPECT_EQ(NULL, session_report); |
971 } | 976 } |
972 | 977 |
973 // This test verifies that the empty track report exists in the returned stats | 978 // This test verifies that the empty track report exists in the returned stats |
974 // without calling StatsCollector::UpdateStats. | 979 // without calling StatsCollector::UpdateStats. |
975 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { | 980 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { |
976 StatsCollectorForTest stats(&pc_); | 981 StatsCollectorForTest stats(&pc_); |
977 | 982 |
978 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 983 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
979 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 984 cricket::VideoChannel video_channel( |
980 media_channel, nullptr, "video", false); | 985 worker_thread_, network_thread_, media_channel, nullptr, "video", |
| 986 kDefaultUseRtcpChannel, kDefaultSecureRequired); |
981 AddOutgoingVideoTrackStats(); | 987 AddOutgoingVideoTrackStats(); |
982 stats.AddStream(stream_); | 988 stats.AddStream(stream_); |
983 | 989 |
984 // Verfies the existence of the track report. | 990 // Verfies the existence of the track report. |
985 StatsReports reports; | 991 StatsReports reports; |
986 stats.GetStats(NULL, &reports); | 992 stats.GetStats(NULL, &reports); |
987 EXPECT_EQ((size_t)1, reports.size()); | 993 EXPECT_EQ((size_t)1, reports.size()); |
988 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); | 994 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); |
989 EXPECT_EQ(0, reports[0]->timestamp()); | 995 EXPECT_EQ(0, reports[0]->timestamp()); |
990 | 996 |
(...skipping 14 matching lines...) Expand all Loading... |
1005 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1011 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1006 .WillRepeatedly(Return(nullptr)); | 1012 .WillRepeatedly(Return(nullptr)); |
1007 | 1013 |
1008 const char kVideoChannelName[] = "video"; | 1014 const char kVideoChannelName[] = "video"; |
1009 InitSessionStats(kVideoChannelName); | 1015 InitSessionStats(kVideoChannelName); |
1010 EXPECT_CALL(session_, GetTransportStats(_)) | 1016 EXPECT_CALL(session_, GetTransportStats(_)) |
1011 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1017 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1012 Return(true))); | 1018 Return(true))); |
1013 | 1019 |
1014 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1020 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1015 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1021 cricket::VideoChannel video_channel( |
1016 media_channel, nullptr, kVideoChannelName, | 1022 worker_thread_, network_thread_, media_channel, nullptr, |
1017 false); | 1023 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1018 AddOutgoingVideoTrackStats(); | 1024 AddOutgoingVideoTrackStats(); |
1019 stats.AddStream(stream_); | 1025 stats.AddStream(stream_); |
1020 | 1026 |
1021 // Constructs an ssrc stats update. | 1027 // Constructs an ssrc stats update. |
1022 cricket::VideoSenderInfo video_sender_info; | 1028 cricket::VideoSenderInfo video_sender_info; |
1023 cricket::VideoMediaInfo stats_read; | 1029 cricket::VideoMediaInfo stats_read; |
1024 const int64_t kBytesSent = 12345678901234LL; | 1030 const int64_t kBytesSent = 12345678901234LL; |
1025 | 1031 |
1026 // Construct a stats value to read. | 1032 // Construct a stats value to read. |
1027 video_sender_info.add_ssrc(1234); | 1033 video_sender_info.add_ssrc(1234); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1074 StatsCollectorForTest stats(&pc_); | 1080 StatsCollectorForTest stats(&pc_); |
1075 | 1081 |
1076 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1082 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1077 .WillRepeatedly(Return(false)); | 1083 .WillRepeatedly(Return(false)); |
1078 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1084 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1079 .WillRepeatedly(Return(nullptr)); | 1085 .WillRepeatedly(Return(nullptr)); |
1080 | 1086 |
1081 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1087 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1082 // The transport_name known by the video channel. | 1088 // The transport_name known by the video channel. |
1083 const std::string kVcName("vcname"); | 1089 const std::string kVcName("vcname"); |
1084 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1090 cricket::VideoChannel video_channel( |
1085 media_channel, nullptr, kVcName, false); | 1091 worker_thread_, network_thread_, media_channel, nullptr, kVcName, |
| 1092 kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1086 AddOutgoingVideoTrackStats(); | 1093 AddOutgoingVideoTrackStats(); |
1087 stats.AddStream(stream_); | 1094 stats.AddStream(stream_); |
1088 | 1095 |
1089 // Constructs an ssrc stats update. | 1096 // Constructs an ssrc stats update. |
1090 cricket::VideoSenderInfo video_sender_info; | 1097 cricket::VideoSenderInfo video_sender_info; |
1091 cricket::VideoMediaInfo stats_read; | 1098 cricket::VideoMediaInfo stats_read; |
1092 const int64_t kBytesSent = 12345678901234LL; | 1099 const int64_t kBytesSent = 12345678901234LL; |
1093 | 1100 |
1094 // Construct a stats value to read. | 1101 // Construct a stats value to read. |
1095 video_sender_info.add_ssrc(1234); | 1102 video_sender_info.add_ssrc(1234); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1132 } | 1139 } |
1133 | 1140 |
1134 // This test verifies that a remote stats object will not be created for | 1141 // This test verifies that a remote stats object will not be created for |
1135 // an outgoing SSRC where remote stats are not returned. | 1142 // an outgoing SSRC where remote stats are not returned. |
1136 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { | 1143 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { |
1137 StatsCollectorForTest stats(&pc_); | 1144 StatsCollectorForTest stats(&pc_); |
1138 | 1145 |
1139 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1146 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1140 // The transport_name known by the video channel. | 1147 // The transport_name known by the video channel. |
1141 const std::string kVcName("vcname"); | 1148 const std::string kVcName("vcname"); |
1142 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1149 cricket::VideoChannel video_channel( |
1143 media_channel, nullptr, kVcName, false); | 1150 worker_thread_, network_thread_, media_channel, nullptr, kVcName, |
| 1151 kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1144 AddOutgoingVideoTrackStats(); | 1152 AddOutgoingVideoTrackStats(); |
1145 stats.AddStream(stream_); | 1153 stats.AddStream(stream_); |
1146 | 1154 |
1147 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1155 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
1148 StatsReports reports; | 1156 StatsReports reports; |
1149 stats.GetStats(NULL, &reports); | 1157 stats.GetStats(NULL, &reports); |
1150 const StatsReport* remote_report = FindNthReportByType(reports, | 1158 const StatsReport* remote_report = FindNthReportByType(reports, |
1151 StatsReport::kStatsReportTypeRemoteSsrc, 1); | 1159 StatsReport::kStatsReportTypeRemoteSsrc, 1); |
1152 EXPECT_TRUE(remote_report == NULL); | 1160 EXPECT_TRUE(remote_report == NULL); |
1153 } | 1161 } |
1154 | 1162 |
1155 // This test verifies that a remote stats object will be created for | 1163 // This test verifies that a remote stats object will be created for |
1156 // an outgoing SSRC where stats are returned. | 1164 // an outgoing SSRC where stats are returned. |
1157 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { | 1165 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { |
1158 StatsCollectorForTest stats(&pc_); | 1166 StatsCollectorForTest stats(&pc_); |
1159 | 1167 |
1160 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1168 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1161 .WillRepeatedly(Return(false)); | 1169 .WillRepeatedly(Return(false)); |
1162 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1170 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1163 .WillRepeatedly(Return(nullptr)); | 1171 .WillRepeatedly(Return(nullptr)); |
1164 | 1172 |
1165 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1173 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1166 // The transport_name known by the video channel. | 1174 // The transport_name known by the video channel. |
1167 const std::string kVcName("vcname"); | 1175 const std::string kVcName("vcname"); |
1168 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1176 cricket::VideoChannel video_channel( |
1169 media_channel, nullptr, kVcName, false); | 1177 worker_thread_, network_thread_, media_channel, nullptr, kVcName, |
| 1178 kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1170 AddOutgoingVideoTrackStats(); | 1179 AddOutgoingVideoTrackStats(); |
1171 stats.AddStream(stream_); | 1180 stats.AddStream(stream_); |
1172 | 1181 |
1173 // Instruct the session to return stats containing the transport channel. | 1182 // Instruct the session to return stats containing the transport channel. |
1174 InitSessionStats(kVcName); | 1183 InitSessionStats(kVcName); |
1175 EXPECT_CALL(session_, GetTransportStats(_)) | 1184 EXPECT_CALL(session_, GetTransportStats(_)) |
1176 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1185 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1177 Return(true))); | 1186 Return(true))); |
1178 | 1187 |
1179 // Constructs an ssrc stats update. | 1188 // Constructs an ssrc stats update. |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1213 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1222 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1214 .WillRepeatedly(Return(nullptr)); | 1223 .WillRepeatedly(Return(nullptr)); |
1215 | 1224 |
1216 const char kVideoChannelName[] = "video"; | 1225 const char kVideoChannelName[] = "video"; |
1217 InitSessionStats(kVideoChannelName); | 1226 InitSessionStats(kVideoChannelName); |
1218 EXPECT_CALL(session_, GetTransportStats(_)) | 1227 EXPECT_CALL(session_, GetTransportStats(_)) |
1219 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1228 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1220 Return(true))); | 1229 Return(true))); |
1221 | 1230 |
1222 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1231 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1223 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1232 cricket::VideoChannel video_channel( |
1224 media_channel, nullptr, kVideoChannelName, | 1233 worker_thread_, network_thread_, media_channel, nullptr, |
1225 false); | 1234 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1226 AddIncomingVideoTrackStats(); | 1235 AddIncomingVideoTrackStats(); |
1227 stats.AddStream(stream_); | 1236 stats.AddStream(stream_); |
1228 | 1237 |
1229 // Constructs an ssrc stats update. | 1238 // Constructs an ssrc stats update. |
1230 cricket::VideoReceiverInfo video_receiver_info; | 1239 cricket::VideoReceiverInfo video_receiver_info; |
1231 cricket::VideoMediaInfo stats_read; | 1240 cricket::VideoMediaInfo stats_read; |
1232 const int64_t kNumOfPacketsConcealed = 54321; | 1241 const int64_t kNumOfPacketsConcealed = 54321; |
1233 | 1242 |
1234 // Construct a stats value to read. | 1243 // Construct a stats value to read. |
1235 video_receiver_info.add_ssrc(1234); | 1244 video_receiver_info.add_ssrc(1234); |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1526 StatsCollectorForTest stats(&pc_); | 1535 StatsCollectorForTest stats(&pc_); |
1527 | 1536 |
1528 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1537 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1529 .WillRepeatedly(Return(false)); | 1538 .WillRepeatedly(Return(false)); |
1530 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1539 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1531 .WillRepeatedly(Return(nullptr)); | 1540 .WillRepeatedly(Return(nullptr)); |
1532 | 1541 |
1533 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1542 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1534 // The transport_name known by the voice channel. | 1543 // The transport_name known by the voice channel. |
1535 const std::string kVcName("vcname"); | 1544 const std::string kVcName("vcname"); |
1536 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1545 cricket::VoiceChannel voice_channel( |
1537 media_engine_, media_channel, nullptr, | 1546 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1538 kVcName, false); | 1547 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1539 | 1548 |
1540 // Create a local stream with a local audio track and adds it to the stats. | 1549 // Create a local stream with a local audio track and adds it to the stats. |
1541 if (stream_ == NULL) | 1550 if (stream_ == NULL) |
1542 stream_ = webrtc::MediaStream::Create("streamlabel"); | 1551 stream_ = webrtc::MediaStream::Create("streamlabel"); |
1543 | 1552 |
1544 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( | 1553 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( |
1545 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); | 1554 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); |
1546 stream_->AddTrack(local_track); | 1555 stream_->AddTrack(local_track); |
1547 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) | 1556 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) |
1548 .WillOnce(DoAll(SetArgPointee<1>(kLocalTrackId), Return(true))); | 1557 .WillOnce(DoAll(SetArgPointee<1>(kLocalTrackId), Return(true))); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1633 StatsCollectorForTest stats(&pc_); | 1642 StatsCollectorForTest stats(&pc_); |
1634 | 1643 |
1635 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1644 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1636 .WillRepeatedly(Return(false)); | 1645 .WillRepeatedly(Return(false)); |
1637 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1646 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1638 .WillRepeatedly(Return(nullptr)); | 1647 .WillRepeatedly(Return(nullptr)); |
1639 | 1648 |
1640 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1649 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1641 // The transport_name known by the voice channel. | 1650 // The transport_name known by the voice channel. |
1642 const std::string kVcName("vcname"); | 1651 const std::string kVcName("vcname"); |
1643 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1652 cricket::VoiceChannel voice_channel( |
1644 media_engine_, media_channel, nullptr, | 1653 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1645 kVcName, false); | 1654 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1646 AddOutgoingAudioTrackStats(); | 1655 AddOutgoingAudioTrackStats(); |
1647 stats.AddStream(stream_); | 1656 stats.AddStream(stream_); |
1648 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1657 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1649 | 1658 |
1650 cricket::VoiceSenderInfo voice_sender_info; | 1659 cricket::VoiceSenderInfo voice_sender_info; |
1651 InitVoiceSenderInfo(&voice_sender_info); | 1660 InitVoiceSenderInfo(&voice_sender_info); |
1652 | 1661 |
1653 cricket::VoiceMediaInfo stats_read; | 1662 cricket::VoiceMediaInfo stats_read; |
1654 StatsReports reports; // returned values. | 1663 StatsReports reports; // returned values. |
1655 SetupAndVerifyAudioTrackStats( | 1664 SetupAndVerifyAudioTrackStats( |
(...skipping 13 matching lines...) Expand all Loading... |
1669 StatsCollectorForTest stats(&pc_); | 1678 StatsCollectorForTest stats(&pc_); |
1670 | 1679 |
1671 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1680 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1672 .WillRepeatedly(Return(false)); | 1681 .WillRepeatedly(Return(false)); |
1673 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1682 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1674 .WillRepeatedly(Return(nullptr)); | 1683 .WillRepeatedly(Return(nullptr)); |
1675 | 1684 |
1676 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1685 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1677 // The transport_name known by the voice channel. | 1686 // The transport_name known by the voice channel. |
1678 const std::string kVcName("vcname"); | 1687 const std::string kVcName("vcname"); |
1679 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1688 cricket::VoiceChannel voice_channel( |
1680 media_engine_, media_channel, nullptr, | 1689 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1681 kVcName, false); | 1690 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1682 AddIncomingAudioTrackStats(); | 1691 AddIncomingAudioTrackStats(); |
1683 stats.AddStream(stream_); | 1692 stats.AddStream(stream_); |
1684 | 1693 |
1685 cricket::VoiceReceiverInfo voice_receiver_info; | 1694 cricket::VoiceReceiverInfo voice_receiver_info; |
1686 InitVoiceReceiverInfo(&voice_receiver_info); | 1695 InitVoiceReceiverInfo(&voice_receiver_info); |
1687 voice_receiver_info.codec_name = "fake_codec"; | 1696 voice_receiver_info.codec_name = "fake_codec"; |
1688 | 1697 |
1689 cricket::VoiceMediaInfo stats_read; | 1698 cricket::VoiceMediaInfo stats_read; |
1690 StatsReports reports; // returned values. | 1699 StatsReports reports; // returned values. |
1691 SetupAndVerifyAudioTrackStats( | 1700 SetupAndVerifyAudioTrackStats( |
1692 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1701 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, |
1693 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); | 1702 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); |
1694 } | 1703 } |
1695 | 1704 |
1696 // This test verifies that a local stats object won't update its statistics | 1705 // This test verifies that a local stats object won't update its statistics |
1697 // after a RemoveLocalAudioTrack() call. | 1706 // after a RemoveLocalAudioTrack() call. |
1698 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { | 1707 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { |
1699 StatsCollectorForTest stats(&pc_); | 1708 StatsCollectorForTest stats(&pc_); |
1700 | 1709 |
1701 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1710 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1702 .WillRepeatedly(Return(false)); | 1711 .WillRepeatedly(Return(false)); |
1703 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1712 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1704 .WillRepeatedly(Return(nullptr)); | 1713 .WillRepeatedly(Return(nullptr)); |
1705 | 1714 |
1706 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1715 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1707 // The transport_name known by the voice channel. | 1716 // The transport_name known by the voice channel. |
1708 const std::string kVcName("vcname"); | 1717 const std::string kVcName("vcname"); |
1709 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1718 cricket::VoiceChannel voice_channel( |
1710 media_engine_, media_channel, nullptr, | 1719 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1711 kVcName, false); | 1720 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1712 AddOutgoingAudioTrackStats(); | 1721 AddOutgoingAudioTrackStats(); |
1713 stats.AddStream(stream_); | 1722 stats.AddStream(stream_); |
1714 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1723 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1715 | 1724 |
1716 // Instruct the session to return stats containing the transport channel. | 1725 // Instruct the session to return stats containing the transport channel. |
1717 InitSessionStats(kVcName); | 1726 InitSessionStats(kVcName); |
1718 EXPECT_CALL(session_, GetTransportStats(_)) | 1727 EXPECT_CALL(session_, GetTransportStats(_)) |
1719 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1728 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1720 Return(true))); | 1729 Return(true))); |
1721 | 1730 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1761 StatsCollectorForTest stats(&pc_); | 1770 StatsCollectorForTest stats(&pc_); |
1762 | 1771 |
1763 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1772 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1764 .WillRepeatedly(Return(false)); | 1773 .WillRepeatedly(Return(false)); |
1765 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1774 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1766 .WillRepeatedly(Return(nullptr)); | 1775 .WillRepeatedly(Return(nullptr)); |
1767 | 1776 |
1768 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1777 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1769 // The transport_name known by the voice channel. | 1778 // The transport_name known by the voice channel. |
1770 const std::string kVcName("vcname"); | 1779 const std::string kVcName("vcname"); |
1771 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1780 cricket::VoiceChannel voice_channel( |
1772 media_engine_, media_channel, nullptr, | 1781 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1773 kVcName, false); | 1782 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1774 | 1783 |
1775 // Create a local stream with a local audio track and adds it to the stats. | 1784 // Create a local stream with a local audio track and adds it to the stats. |
1776 AddOutgoingAudioTrackStats(); | 1785 AddOutgoingAudioTrackStats(); |
1777 stats.AddStream(stream_); | 1786 stats.AddStream(stream_); |
1778 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1787 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1779 | 1788 |
1780 // Create a remote stream with a remote audio track and adds it to the stats. | 1789 // Create a remote stream with a remote audio track and adds it to the stats. |
1781 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( | 1790 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( |
1782 webrtc::MediaStream::Create("remotestreamlabel")); | 1791 webrtc::MediaStream::Create("remotestreamlabel")); |
1783 rtc::scoped_refptr<FakeAudioTrack> remote_track( | 1792 rtc::scoped_refptr<FakeAudioTrack> remote_track( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 StatsCollectorForTest stats(&pc_); | 1858 StatsCollectorForTest stats(&pc_); |
1850 | 1859 |
1851 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1860 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1852 .WillRepeatedly(Return(false)); | 1861 .WillRepeatedly(Return(false)); |
1853 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1862 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1854 .WillRepeatedly(Return(nullptr)); | 1863 .WillRepeatedly(Return(nullptr)); |
1855 | 1864 |
1856 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1865 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1857 // The transport_name known by the voice channel. | 1866 // The transport_name known by the voice channel. |
1858 const std::string kVcName("vcname"); | 1867 const std::string kVcName("vcname"); |
1859 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1868 cricket::VoiceChannel voice_channel( |
1860 media_engine_, media_channel, nullptr, | 1869 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1861 kVcName, false); | 1870 kVcName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1862 | 1871 |
1863 // Create a local stream with a local audio track and adds it to the stats. | 1872 // Create a local stream with a local audio track and adds it to the stats. |
1864 AddOutgoingAudioTrackStats(); | 1873 AddOutgoingAudioTrackStats(); |
1865 stats.AddStream(stream_); | 1874 stats.AddStream(stream_); |
1866 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1875 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1867 | 1876 |
1868 cricket::VoiceSenderInfo voice_sender_info; | 1877 cricket::VoiceSenderInfo voice_sender_info; |
1869 voice_sender_info.add_ssrc(kSsrcOfTrack); | 1878 voice_sender_info.add_ssrc(kSsrcOfTrack); |
1870 | 1879 |
1871 cricket::VoiceMediaInfo stats_read; | 1880 cricket::VoiceMediaInfo stats_read; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1906 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1915 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1907 .WillRepeatedly(Return(nullptr)); | 1916 .WillRepeatedly(Return(nullptr)); |
1908 | 1917 |
1909 const char kVideoChannelName[] = "video"; | 1918 const char kVideoChannelName[] = "video"; |
1910 | 1919 |
1911 InitSessionStats(kVideoChannelName); | 1920 InitSessionStats(kVideoChannelName); |
1912 EXPECT_CALL(session_, GetTransportStats(_)) | 1921 EXPECT_CALL(session_, GetTransportStats(_)) |
1913 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); | 1922 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); |
1914 | 1923 |
1915 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1924 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1916 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1925 cricket::VideoChannel video_channel( |
1917 media_channel, nullptr, kVideoChannelName, | 1926 worker_thread_, network_thread_, media_channel, nullptr, |
1918 false); | 1927 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1919 StatsReports reports; // returned values. | 1928 StatsReports reports; // returned values. |
1920 cricket::VideoSenderInfo video_sender_info; | 1929 cricket::VideoSenderInfo video_sender_info; |
1921 cricket::VideoMediaInfo stats_read; | 1930 cricket::VideoMediaInfo stats_read; |
1922 | 1931 |
1923 AddOutgoingVideoTrackStats(); | 1932 AddOutgoingVideoTrackStats(); |
1924 stats.AddStream(stream_); | 1933 stats.AddStream(stream_); |
1925 | 1934 |
1926 // Construct a stats value to read. | 1935 // Construct a stats value to read. |
1927 video_sender_info.add_ssrc(1234); | 1936 video_sender_info.add_ssrc(1234); |
1928 video_sender_info.frames_encoded = 10; | 1937 video_sender_info.frames_encoded = 10; |
(...skipping 22 matching lines...) Expand all Loading... |
1951 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1960 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1952 .WillRepeatedly(Return(nullptr)); | 1961 .WillRepeatedly(Return(nullptr)); |
1953 | 1962 |
1954 const char kVideoChannelName[] = "video"; | 1963 const char kVideoChannelName[] = "video"; |
1955 | 1964 |
1956 InitSessionStats(kVideoChannelName); | 1965 InitSessionStats(kVideoChannelName); |
1957 EXPECT_CALL(session_, GetTransportStats(_)) | 1966 EXPECT_CALL(session_, GetTransportStats(_)) |
1958 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); | 1967 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); |
1959 | 1968 |
1960 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1969 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1961 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1970 cricket::VideoChannel video_channel( |
1962 media_channel, nullptr, kVideoChannelName, | 1971 worker_thread_, network_thread_, media_channel, nullptr, |
1963 false); | 1972 kVideoChannelName, kDefaultUseRtcpChannel, kDefaultSecureRequired); |
1964 StatsReports reports; // returned values. | 1973 StatsReports reports; // returned values. |
1965 cricket::VideoReceiverInfo video_receiver_info; | 1974 cricket::VideoReceiverInfo video_receiver_info; |
1966 cricket::VideoMediaInfo stats_read; | 1975 cricket::VideoMediaInfo stats_read; |
1967 | 1976 |
1968 AddIncomingVideoTrackStats(); | 1977 AddIncomingVideoTrackStats(); |
1969 stats.AddStream(stream_); | 1978 stats.AddStream(stream_); |
1970 | 1979 |
1971 // Construct a stats value to read. | 1980 // Construct a stats value to read. |
1972 video_receiver_info.add_ssrc(1234); | 1981 video_receiver_info.add_ssrc(1234); |
1973 video_receiver_info.frames_decoded = 10; | 1982 video_receiver_info.frames_decoded = 10; |
1974 stats_read.receivers.push_back(video_receiver_info); | 1983 stats_read.receivers.push_back(video_receiver_info); |
1975 | 1984 |
1976 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); | 1985 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); |
1977 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 1986 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
1978 EXPECT_CALL(*media_channel, GetStats(_)) | 1987 EXPECT_CALL(*media_channel, GetStats(_)) |
1979 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); | 1988 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); |
1980 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1989 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
1981 stats.GetStats(NULL, &reports); | 1990 stats.GetStats(NULL, &reports); |
1982 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), | 1991 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), |
1983 ExtractSsrcStatsValue(reports, | 1992 ExtractSsrcStatsValue(reports, |
1984 StatsReport::kStatsValueNameFramesDecoded)); | 1993 StatsReport::kStatsValueNameFramesDecoded)); |
1985 } | 1994 } |
1986 | 1995 |
1987 } // namespace webrtc | 1996 } // namespace webrtc |
OLD | NEW |