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 kDefaultRtcpEnabled = false; |
| 54 const bool kDefaultSrtpRequired = 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, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
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 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1522 StatsCollectorForTest stats(&pc_); | 1531 StatsCollectorForTest stats(&pc_); |
1523 | 1532 |
1524 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1533 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1525 .WillRepeatedly(Return(false)); | 1534 .WillRepeatedly(Return(false)); |
1526 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1535 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1527 .WillRepeatedly(Return(nullptr)); | 1536 .WillRepeatedly(Return(nullptr)); |
1528 | 1537 |
1529 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1538 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1530 // The transport_name known by the voice channel. | 1539 // The transport_name known by the voice channel. |
1531 const std::string kVcName("vcname"); | 1540 const std::string kVcName("vcname"); |
1532 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1541 cricket::VoiceChannel voice_channel( |
1533 media_engine_, media_channel, nullptr, | 1542 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1534 kVcName, false); | 1543 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1535 | 1544 |
1536 // Create a local stream with a local audio track and adds it to the stats. | 1545 // Create a local stream with a local audio track and adds it to the stats. |
1537 if (stream_ == NULL) | 1546 if (stream_ == NULL) |
1538 stream_ = webrtc::MediaStream::Create("streamlabel"); | 1547 stream_ = webrtc::MediaStream::Create("streamlabel"); |
1539 | 1548 |
1540 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( | 1549 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( |
1541 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); | 1550 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); |
1542 stream_->AddTrack(local_track); | 1551 stream_->AddTrack(local_track); |
1543 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) | 1552 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) |
1544 .WillOnce(DoAll(SetArgPointee<1>(kLocalTrackId), Return(true))); | 1553 .WillOnce(DoAll(SetArgPointee<1>(kLocalTrackId), Return(true))); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1629 StatsCollectorForTest stats(&pc_); | 1638 StatsCollectorForTest stats(&pc_); |
1630 | 1639 |
1631 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1640 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1632 .WillRepeatedly(Return(false)); | 1641 .WillRepeatedly(Return(false)); |
1633 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1642 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1634 .WillRepeatedly(Return(nullptr)); | 1643 .WillRepeatedly(Return(nullptr)); |
1635 | 1644 |
1636 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1645 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1637 // The transport_name known by the voice channel. | 1646 // The transport_name known by the voice channel. |
1638 const std::string kVcName("vcname"); | 1647 const std::string kVcName("vcname"); |
1639 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1648 cricket::VoiceChannel voice_channel( |
1640 media_engine_, media_channel, nullptr, | 1649 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1641 kVcName, false); | 1650 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1642 AddOutgoingAudioTrackStats(); | 1651 AddOutgoingAudioTrackStats(); |
1643 stats.AddStream(stream_); | 1652 stats.AddStream(stream_); |
1644 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1653 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1645 | 1654 |
1646 cricket::VoiceSenderInfo voice_sender_info; | 1655 cricket::VoiceSenderInfo voice_sender_info; |
1647 InitVoiceSenderInfo(&voice_sender_info); | 1656 InitVoiceSenderInfo(&voice_sender_info); |
1648 | 1657 |
1649 cricket::VoiceMediaInfo stats_read; | 1658 cricket::VoiceMediaInfo stats_read; |
1650 StatsReports reports; // returned values. | 1659 StatsReports reports; // returned values. |
1651 SetupAndVerifyAudioTrackStats( | 1660 SetupAndVerifyAudioTrackStats( |
(...skipping 13 matching lines...) Expand all Loading... |
1665 StatsCollectorForTest stats(&pc_); | 1674 StatsCollectorForTest stats(&pc_); |
1666 | 1675 |
1667 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1676 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1668 .WillRepeatedly(Return(false)); | 1677 .WillRepeatedly(Return(false)); |
1669 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1678 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1670 .WillRepeatedly(Return(nullptr)); | 1679 .WillRepeatedly(Return(nullptr)); |
1671 | 1680 |
1672 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1681 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1673 // The transport_name known by the voice channel. | 1682 // The transport_name known by the voice channel. |
1674 const std::string kVcName("vcname"); | 1683 const std::string kVcName("vcname"); |
1675 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1684 cricket::VoiceChannel voice_channel( |
1676 media_engine_, media_channel, nullptr, | 1685 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1677 kVcName, false); | 1686 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1678 AddIncomingAudioTrackStats(); | 1687 AddIncomingAudioTrackStats(); |
1679 stats.AddStream(stream_); | 1688 stats.AddStream(stream_); |
1680 | 1689 |
1681 cricket::VoiceReceiverInfo voice_receiver_info; | 1690 cricket::VoiceReceiverInfo voice_receiver_info; |
1682 InitVoiceReceiverInfo(&voice_receiver_info); | 1691 InitVoiceReceiverInfo(&voice_receiver_info); |
1683 voice_receiver_info.codec_name = "fake_codec"; | 1692 voice_receiver_info.codec_name = "fake_codec"; |
1684 | 1693 |
1685 cricket::VoiceMediaInfo stats_read; | 1694 cricket::VoiceMediaInfo stats_read; |
1686 StatsReports reports; // returned values. | 1695 StatsReports reports; // returned values. |
1687 SetupAndVerifyAudioTrackStats( | 1696 SetupAndVerifyAudioTrackStats( |
1688 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1697 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, |
1689 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); | 1698 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); |
1690 } | 1699 } |
1691 | 1700 |
1692 // This test verifies that a local stats object won't update its statistics | 1701 // This test verifies that a local stats object won't update its statistics |
1693 // after a RemoveLocalAudioTrack() call. | 1702 // after a RemoveLocalAudioTrack() call. |
1694 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { | 1703 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { |
1695 StatsCollectorForTest stats(&pc_); | 1704 StatsCollectorForTest stats(&pc_); |
1696 | 1705 |
1697 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1706 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1698 .WillRepeatedly(Return(false)); | 1707 .WillRepeatedly(Return(false)); |
1699 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1708 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1700 .WillRepeatedly(Return(nullptr)); | 1709 .WillRepeatedly(Return(nullptr)); |
1701 | 1710 |
1702 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1711 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1703 // The transport_name known by the voice channel. | 1712 // The transport_name known by the voice channel. |
1704 const std::string kVcName("vcname"); | 1713 const std::string kVcName("vcname"); |
1705 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1714 cricket::VoiceChannel voice_channel( |
1706 media_engine_, media_channel, nullptr, | 1715 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1707 kVcName, false); | 1716 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1708 AddOutgoingAudioTrackStats(); | 1717 AddOutgoingAudioTrackStats(); |
1709 stats.AddStream(stream_); | 1718 stats.AddStream(stream_); |
1710 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1719 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1711 | 1720 |
1712 // Instruct the session to return stats containing the transport channel. | 1721 // Instruct the session to return stats containing the transport channel. |
1713 InitSessionStats(kVcName); | 1722 InitSessionStats(kVcName); |
1714 EXPECT_CALL(session_, GetTransportStats(_)) | 1723 EXPECT_CALL(session_, GetTransportStats(_)) |
1715 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1724 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1716 Return(true))); | 1725 Return(true))); |
1717 | 1726 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1757 StatsCollectorForTest stats(&pc_); | 1766 StatsCollectorForTest stats(&pc_); |
1758 | 1767 |
1759 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1768 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1760 .WillRepeatedly(Return(false)); | 1769 .WillRepeatedly(Return(false)); |
1761 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1770 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1762 .WillRepeatedly(Return(nullptr)); | 1771 .WillRepeatedly(Return(nullptr)); |
1763 | 1772 |
1764 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1773 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1765 // The transport_name known by the voice channel. | 1774 // The transport_name known by the voice channel. |
1766 const std::string kVcName("vcname"); | 1775 const std::string kVcName("vcname"); |
1767 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1776 cricket::VoiceChannel voice_channel( |
1768 media_engine_, media_channel, nullptr, | 1777 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1769 kVcName, false); | 1778 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1770 | 1779 |
1771 // Create a local stream with a local audio track and adds it to the stats. | 1780 // Create a local stream with a local audio track and adds it to the stats. |
1772 AddOutgoingAudioTrackStats(); | 1781 AddOutgoingAudioTrackStats(); |
1773 stats.AddStream(stream_); | 1782 stats.AddStream(stream_); |
1774 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1783 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1775 | 1784 |
1776 // Create a remote stream with a remote audio track and adds it to the stats. | 1785 // Create a remote stream with a remote audio track and adds it to the stats. |
1777 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( | 1786 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( |
1778 webrtc::MediaStream::Create("remotestreamlabel")); | 1787 webrtc::MediaStream::Create("remotestreamlabel")); |
1779 rtc::scoped_refptr<FakeAudioTrack> remote_track( | 1788 rtc::scoped_refptr<FakeAudioTrack> remote_track( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1845 StatsCollectorForTest stats(&pc_); | 1854 StatsCollectorForTest stats(&pc_); |
1846 | 1855 |
1847 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1856 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1848 .WillRepeatedly(Return(false)); | 1857 .WillRepeatedly(Return(false)); |
1849 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1858 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1850 .WillRepeatedly(Return(nullptr)); | 1859 .WillRepeatedly(Return(nullptr)); |
1851 | 1860 |
1852 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1861 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1853 // The transport_name known by the voice channel. | 1862 // The transport_name known by the voice channel. |
1854 const std::string kVcName("vcname"); | 1863 const std::string kVcName("vcname"); |
1855 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, | 1864 cricket::VoiceChannel voice_channel( |
1856 media_engine_, media_channel, nullptr, | 1865 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, |
1857 kVcName, false); | 1866 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1858 | 1867 |
1859 // Create a local stream with a local audio track and adds it to the stats. | 1868 // Create a local stream with a local audio track and adds it to the stats. |
1860 AddOutgoingAudioTrackStats(); | 1869 AddOutgoingAudioTrackStats(); |
1861 stats.AddStream(stream_); | 1870 stats.AddStream(stream_); |
1862 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1871 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1863 | 1872 |
1864 cricket::VoiceSenderInfo voice_sender_info; | 1873 cricket::VoiceSenderInfo voice_sender_info; |
1865 voice_sender_info.add_ssrc(kSsrcOfTrack); | 1874 voice_sender_info.add_ssrc(kSsrcOfTrack); |
1866 | 1875 |
1867 cricket::VoiceMediaInfo stats_read; | 1876 cricket::VoiceMediaInfo stats_read; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1902 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1911 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1903 .WillRepeatedly(Return(nullptr)); | 1912 .WillRepeatedly(Return(nullptr)); |
1904 | 1913 |
1905 const char kVideoChannelName[] = "video"; | 1914 const char kVideoChannelName[] = "video"; |
1906 | 1915 |
1907 InitSessionStats(kVideoChannelName); | 1916 InitSessionStats(kVideoChannelName); |
1908 EXPECT_CALL(session_, GetTransportStats(_)) | 1917 EXPECT_CALL(session_, GetTransportStats(_)) |
1909 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); | 1918 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); |
1910 | 1919 |
1911 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1920 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1912 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1921 cricket::VideoChannel video_channel( |
1913 media_channel, nullptr, kVideoChannelName, | 1922 worker_thread_, network_thread_, media_channel, nullptr, |
1914 false); | 1923 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1915 StatsReports reports; // returned values. | 1924 StatsReports reports; // returned values. |
1916 cricket::VideoSenderInfo video_sender_info; | 1925 cricket::VideoSenderInfo video_sender_info; |
1917 cricket::VideoMediaInfo stats_read; | 1926 cricket::VideoMediaInfo stats_read; |
1918 | 1927 |
1919 AddOutgoingVideoTrackStats(); | 1928 AddOutgoingVideoTrackStats(); |
1920 stats.AddStream(stream_); | 1929 stats.AddStream(stream_); |
1921 | 1930 |
1922 // Construct a stats value to read. | 1931 // Construct a stats value to read. |
1923 video_sender_info.add_ssrc(1234); | 1932 video_sender_info.add_ssrc(1234); |
1924 video_sender_info.frames_encoded = 10; | 1933 video_sender_info.frames_encoded = 10; |
(...skipping 22 matching lines...) Expand all Loading... |
1947 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1956 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1948 .WillRepeatedly(Return(nullptr)); | 1957 .WillRepeatedly(Return(nullptr)); |
1949 | 1958 |
1950 const char kVideoChannelName[] = "video"; | 1959 const char kVideoChannelName[] = "video"; |
1951 | 1960 |
1952 InitSessionStats(kVideoChannelName); | 1961 InitSessionStats(kVideoChannelName); |
1953 EXPECT_CALL(session_, GetTransportStats(_)) | 1962 EXPECT_CALL(session_, GetTransportStats(_)) |
1954 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); | 1963 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), Return(true))); |
1955 | 1964 |
1956 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1965 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1957 cricket::VideoChannel video_channel(worker_thread_, network_thread_, | 1966 cricket::VideoChannel video_channel( |
1958 media_channel, nullptr, kVideoChannelName, | 1967 worker_thread_, network_thread_, media_channel, nullptr, |
1959 false); | 1968 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1960 StatsReports reports; // returned values. | 1969 StatsReports reports; // returned values. |
1961 cricket::VideoReceiverInfo video_receiver_info; | 1970 cricket::VideoReceiverInfo video_receiver_info; |
1962 cricket::VideoMediaInfo stats_read; | 1971 cricket::VideoMediaInfo stats_read; |
1963 | 1972 |
1964 AddIncomingVideoTrackStats(); | 1973 AddIncomingVideoTrackStats(); |
1965 stats.AddStream(stream_); | 1974 stats.AddStream(stream_); |
1966 | 1975 |
1967 // Construct a stats value to read. | 1976 // Construct a stats value to read. |
1968 video_receiver_info.add_ssrc(1234); | 1977 video_receiver_info.add_ssrc(1234); |
1969 video_receiver_info.frames_decoded = 10; | 1978 video_receiver_info.frames_decoded = 10; |
1970 stats_read.receivers.push_back(video_receiver_info); | 1979 stats_read.receivers.push_back(video_receiver_info); |
1971 | 1980 |
1972 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); | 1981 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); |
1973 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 1982 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
1974 EXPECT_CALL(*media_channel, GetStats(_)) | 1983 EXPECT_CALL(*media_channel, GetStats(_)) |
1975 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); | 1984 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); |
1976 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1985 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
1977 stats.GetStats(NULL, &reports); | 1986 stats.GetStats(NULL, &reports); |
1978 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), | 1987 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), |
1979 ExtractSsrcStatsValue(reports, | 1988 ExtractSsrcStatsValue(reports, |
1980 StatsReport::kStatsValueNameFramesDecoded)); | 1989 StatsReport::kStatsValueNameFramesDecoded)); |
1981 } | 1990 } |
1982 | 1991 |
1983 } // namespace webrtc | 1992 } // namespace webrtc |
OLD | NEW |