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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 return time_now_; | 489 return time_now_; |
490 } | 490 } |
491 | 491 |
492 private: | 492 private: |
493 double time_now_; | 493 double time_now_; |
494 }; | 494 }; |
495 | 495 |
496 class StatsCollectorTest : public testing::Test { | 496 class StatsCollectorTest : public testing::Test { |
497 protected: | 497 protected: |
498 StatsCollectorTest() | 498 StatsCollectorTest() |
499 : media_engine_(new cricket::FakeMediaEngine()), | 499 : worker_thread_(rtc::Thread::Current()), |
500 channel_manager_( | 500 network_thread_(rtc::Thread::Current()), |
501 new cricket::ChannelManager(media_engine_, rtc::Thread::Current())), | 501 media_engine_(new cricket::FakeMediaEngine()), |
| 502 channel_manager_(new cricket::ChannelManager(media_engine_, |
| 503 worker_thread_, |
| 504 network_thread_)), |
502 media_controller_( | 505 media_controller_( |
503 webrtc::MediaControllerInterface::Create(cricket::MediaConfig(), | 506 webrtc::MediaControllerInterface::Create(cricket::MediaConfig(), |
504 rtc::Thread::Current(), | 507 worker_thread_, |
505 channel_manager_.get())), | 508 channel_manager_.get())), |
506 session_(media_controller_.get()) { | 509 session_(media_controller_.get()) { |
507 // By default, we ignore session GetStats calls. | 510 // By default, we ignore session GetStats calls. |
508 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false)); | 511 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false)); |
509 // Add default returns for mock classes. | 512 // Add default returns for mock classes. |
510 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); | 513 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); |
511 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 514 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
512 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); | 515 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); |
513 EXPECT_CALL(pc_, sctp_data_channels()) | 516 EXPECT_CALL(pc_, sctp_data_channels()) |
514 .WillRepeatedly(ReturnRef(data_channels_)); | 517 .WillRepeatedly(ReturnRef(data_channels_)); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
753 EXPECT_EQ(rtc::SSLStreamAdapter::SslCipherSuiteToName( | 756 EXPECT_EQ(rtc::SSLStreamAdapter::SslCipherSuiteToName( |
754 internal::TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA), | 757 internal::TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA), |
755 dtls_cipher_suite); | 758 dtls_cipher_suite); |
756 std::string srtp_crypto_suite = | 759 std::string srtp_crypto_suite = |
757 ExtractStatsValue(StatsReport::kStatsReportTypeComponent, reports, | 760 ExtractStatsValue(StatsReport::kStatsReportTypeComponent, reports, |
758 StatsReport::kStatsValueNameSrtpCipher); | 761 StatsReport::kStatsValueNameSrtpCipher); |
759 EXPECT_EQ(rtc::SrtpCryptoSuiteToName(rtc::SRTP_AES128_CM_SHA1_80), | 762 EXPECT_EQ(rtc::SrtpCryptoSuiteToName(rtc::SRTP_AES128_CM_SHA1_80), |
760 srtp_crypto_suite); | 763 srtp_crypto_suite); |
761 } | 764 } |
762 | 765 |
| 766 rtc::Thread* const worker_thread_; |
| 767 rtc::Thread* const network_thread_; |
763 cricket::FakeMediaEngine* media_engine_; | 768 cricket::FakeMediaEngine* media_engine_; |
764 std::unique_ptr<cricket::ChannelManager> channel_manager_; | 769 std::unique_ptr<cricket::ChannelManager> channel_manager_; |
765 std::unique_ptr<webrtc::MediaControllerInterface> media_controller_; | 770 std::unique_ptr<webrtc::MediaControllerInterface> media_controller_; |
766 MockWebRtcSession session_; | 771 MockWebRtcSession session_; |
767 MockPeerConnection pc_; | 772 MockPeerConnection pc_; |
768 FakeDataChannelProvider data_channel_provider_; | 773 FakeDataChannelProvider data_channel_provider_; |
769 SessionStats session_stats_; | 774 SessionStats session_stats_; |
770 rtc::scoped_refptr<webrtc::MediaStream> stream_; | 775 rtc::scoped_refptr<webrtc::MediaStream> stream_; |
771 rtc::scoped_refptr<webrtc::VideoTrack> track_; | 776 rtc::scoped_refptr<webrtc::VideoTrack> track_; |
772 rtc::scoped_refptr<FakeAudioTrack> audio_track_; | 777 rtc::scoped_refptr<FakeAudioTrack> audio_track_; |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
821 .WillRepeatedly(Return(nullptr)); | 826 .WillRepeatedly(Return(nullptr)); |
822 | 827 |
823 const char kVideoChannelName[] = "video"; | 828 const char kVideoChannelName[] = "video"; |
824 | 829 |
825 InitSessionStats(kVideoChannelName); | 830 InitSessionStats(kVideoChannelName); |
826 EXPECT_CALL(session_, GetTransportStats(_)) | 831 EXPECT_CALL(session_, GetTransportStats(_)) |
827 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 832 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
828 Return(true))); | 833 Return(true))); |
829 | 834 |
830 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 835 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
831 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 836 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
832 nullptr, kVideoChannelName, false); | 837 media_channel, nullptr, kVideoChannelName, |
| 838 false); |
833 StatsReports reports; // returned values. | 839 StatsReports reports; // returned values. |
834 cricket::VideoSenderInfo video_sender_info; | 840 cricket::VideoSenderInfo video_sender_info; |
835 cricket::VideoMediaInfo stats_read; | 841 cricket::VideoMediaInfo stats_read; |
836 // The number of bytes must be larger than 0xFFFFFFFF for this test. | 842 // The number of bytes must be larger than 0xFFFFFFFF for this test. |
837 const int64_t kBytesSent = 12345678901234LL; | 843 const int64_t kBytesSent = 12345678901234LL; |
838 const std::string kBytesSentString("12345678901234"); | 844 const std::string kBytesSentString("12345678901234"); |
839 | 845 |
840 AddOutgoingVideoTrackStats(); | 846 AddOutgoingVideoTrackStats(); |
841 stats.AddStream(stream_); | 847 stats.AddStream(stream_); |
842 | 848 |
(...skipping 24 matching lines...) Expand all Loading... |
867 .WillRepeatedly(Return(nullptr)); | 873 .WillRepeatedly(Return(nullptr)); |
868 | 874 |
869 const char kVideoChannelName[] = "video"; | 875 const char kVideoChannelName[] = "video"; |
870 | 876 |
871 InitSessionStats(kVideoChannelName); | 877 InitSessionStats(kVideoChannelName); |
872 EXPECT_CALL(session_, GetTransportStats(_)) | 878 EXPECT_CALL(session_, GetTransportStats(_)) |
873 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 879 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
874 Return(true))); | 880 Return(true))); |
875 | 881 |
876 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 882 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
877 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 883 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
878 nullptr, kVideoChannelName, false); | 884 media_channel, nullptr, kVideoChannelName, |
| 885 false); |
879 | 886 |
880 StatsReports reports; // returned values. | 887 StatsReports reports; // returned values. |
881 cricket::VideoSenderInfo video_sender_info; | 888 cricket::VideoSenderInfo video_sender_info; |
882 cricket::VideoMediaInfo stats_read; | 889 cricket::VideoMediaInfo stats_read; |
883 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and | 890 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and |
884 // BWE. | 891 // BWE. |
885 const int64_t kBytesSent = 12345678901234LL; | 892 const int64_t kBytesSent = 12345678901234LL; |
886 const std::string kBytesSentString("12345678901234"); | 893 const std::string kBytesSentString("12345678901234"); |
887 | 894 |
888 AddOutgoingVideoTrackStats(); | 895 AddOutgoingVideoTrackStats(); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
942 reports, StatsReport::kStatsReportTypeSession, 2); | 949 reports, StatsReport::kStatsReportTypeSession, 2); |
943 EXPECT_EQ(NULL, session_report); | 950 EXPECT_EQ(NULL, session_report); |
944 } | 951 } |
945 | 952 |
946 // This test verifies that the empty track report exists in the returned stats | 953 // This test verifies that the empty track report exists in the returned stats |
947 // without calling StatsCollector::UpdateStats. | 954 // without calling StatsCollector::UpdateStats. |
948 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { | 955 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { |
949 StatsCollectorForTest stats(&pc_); | 956 StatsCollectorForTest stats(&pc_); |
950 | 957 |
951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 958 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
952 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 959 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
953 nullptr, "video", false); | 960 media_channel, nullptr, "video", false); |
954 AddOutgoingVideoTrackStats(); | 961 AddOutgoingVideoTrackStats(); |
955 stats.AddStream(stream_); | 962 stats.AddStream(stream_); |
956 | 963 |
957 // Verfies the existence of the track report. | 964 // Verfies the existence of the track report. |
958 StatsReports reports; | 965 StatsReports reports; |
959 stats.GetStats(NULL, &reports); | 966 stats.GetStats(NULL, &reports); |
960 EXPECT_EQ((size_t)1, reports.size()); | 967 EXPECT_EQ((size_t)1, reports.size()); |
961 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); | 968 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); |
962 EXPECT_EQ(0, reports[0]->timestamp()); | 969 EXPECT_EQ(0, reports[0]->timestamp()); |
963 | 970 |
(...skipping 14 matching lines...) Expand all Loading... |
978 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 985 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
979 .WillRepeatedly(Return(nullptr)); | 986 .WillRepeatedly(Return(nullptr)); |
980 | 987 |
981 const char kVideoChannelName[] = "video"; | 988 const char kVideoChannelName[] = "video"; |
982 InitSessionStats(kVideoChannelName); | 989 InitSessionStats(kVideoChannelName); |
983 EXPECT_CALL(session_, GetTransportStats(_)) | 990 EXPECT_CALL(session_, GetTransportStats(_)) |
984 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 991 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
985 Return(true))); | 992 Return(true))); |
986 | 993 |
987 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 994 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
988 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 995 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
989 nullptr, kVideoChannelName, false); | 996 media_channel, nullptr, kVideoChannelName, |
| 997 false); |
990 AddOutgoingVideoTrackStats(); | 998 AddOutgoingVideoTrackStats(); |
991 stats.AddStream(stream_); | 999 stats.AddStream(stream_); |
992 | 1000 |
993 // Constructs an ssrc stats update. | 1001 // Constructs an ssrc stats update. |
994 cricket::VideoSenderInfo video_sender_info; | 1002 cricket::VideoSenderInfo video_sender_info; |
995 cricket::VideoMediaInfo stats_read; | 1003 cricket::VideoMediaInfo stats_read; |
996 const int64_t kBytesSent = 12345678901234LL; | 1004 const int64_t kBytesSent = 12345678901234LL; |
997 | 1005 |
998 // Construct a stats value to read. | 1006 // Construct a stats value to read. |
999 video_sender_info.add_ssrc(1234); | 1007 video_sender_info.add_ssrc(1234); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1046 StatsCollectorForTest stats(&pc_); | 1054 StatsCollectorForTest stats(&pc_); |
1047 | 1055 |
1048 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1056 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1049 .WillRepeatedly(Return(false)); | 1057 .WillRepeatedly(Return(false)); |
1050 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1058 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1051 .WillRepeatedly(Return(nullptr)); | 1059 .WillRepeatedly(Return(nullptr)); |
1052 | 1060 |
1053 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1061 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1054 // The transport_name known by the video channel. | 1062 // The transport_name known by the video channel. |
1055 const std::string kVcName("vcname"); | 1063 const std::string kVcName("vcname"); |
1056 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 1064 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
1057 nullptr, kVcName, false); | 1065 media_channel, nullptr, kVcName, false); |
1058 AddOutgoingVideoTrackStats(); | 1066 AddOutgoingVideoTrackStats(); |
1059 stats.AddStream(stream_); | 1067 stats.AddStream(stream_); |
1060 | 1068 |
1061 // Constructs an ssrc stats update. | 1069 // Constructs an ssrc stats update. |
1062 cricket::VideoSenderInfo video_sender_info; | 1070 cricket::VideoSenderInfo video_sender_info; |
1063 cricket::VideoMediaInfo stats_read; | 1071 cricket::VideoMediaInfo stats_read; |
1064 const int64_t kBytesSent = 12345678901234LL; | 1072 const int64_t kBytesSent = 12345678901234LL; |
1065 | 1073 |
1066 // Construct a stats value to read. | 1074 // Construct a stats value to read. |
1067 video_sender_info.add_ssrc(1234); | 1075 video_sender_info.add_ssrc(1234); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1104 } | 1112 } |
1105 | 1113 |
1106 // This test verifies that a remote stats object will not be created for | 1114 // This test verifies that a remote stats object will not be created for |
1107 // an outgoing SSRC where remote stats are not returned. | 1115 // an outgoing SSRC where remote stats are not returned. |
1108 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { | 1116 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { |
1109 StatsCollectorForTest stats(&pc_); | 1117 StatsCollectorForTest stats(&pc_); |
1110 | 1118 |
1111 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1119 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1112 // The transport_name known by the video channel. | 1120 // The transport_name known by the video channel. |
1113 const std::string kVcName("vcname"); | 1121 const std::string kVcName("vcname"); |
1114 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 1122 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
1115 nullptr, kVcName, false); | 1123 media_channel, nullptr, kVcName, false); |
1116 AddOutgoingVideoTrackStats(); | 1124 AddOutgoingVideoTrackStats(); |
1117 stats.AddStream(stream_); | 1125 stats.AddStream(stream_); |
1118 | 1126 |
1119 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1127 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
1120 StatsReports reports; | 1128 StatsReports reports; |
1121 stats.GetStats(NULL, &reports); | 1129 stats.GetStats(NULL, &reports); |
1122 const StatsReport* remote_report = FindNthReportByType(reports, | 1130 const StatsReport* remote_report = FindNthReportByType(reports, |
1123 StatsReport::kStatsReportTypeRemoteSsrc, 1); | 1131 StatsReport::kStatsReportTypeRemoteSsrc, 1); |
1124 EXPECT_TRUE(remote_report == NULL); | 1132 EXPECT_TRUE(remote_report == NULL); |
1125 } | 1133 } |
1126 | 1134 |
1127 // This test verifies that a remote stats object will be created for | 1135 // This test verifies that a remote stats object will be created for |
1128 // an outgoing SSRC where stats are returned. | 1136 // an outgoing SSRC where stats are returned. |
1129 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { | 1137 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { |
1130 StatsCollectorForTest stats(&pc_); | 1138 StatsCollectorForTest stats(&pc_); |
1131 | 1139 |
1132 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1140 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1133 .WillRepeatedly(Return(false)); | 1141 .WillRepeatedly(Return(false)); |
1134 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1142 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1135 .WillRepeatedly(Return(nullptr)); | 1143 .WillRepeatedly(Return(nullptr)); |
1136 | 1144 |
1137 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1145 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1138 // The transport_name known by the video channel. | 1146 // The transport_name known by the video channel. |
1139 const std::string kVcName("vcname"); | 1147 const std::string kVcName("vcname"); |
1140 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 1148 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
1141 nullptr, kVcName, false); | 1149 media_channel, nullptr, kVcName, false); |
1142 AddOutgoingVideoTrackStats(); | 1150 AddOutgoingVideoTrackStats(); |
1143 stats.AddStream(stream_); | 1151 stats.AddStream(stream_); |
1144 | 1152 |
1145 // Instruct the session to return stats containing the transport channel. | 1153 // Instruct the session to return stats containing the transport channel. |
1146 InitSessionStats(kVcName); | 1154 InitSessionStats(kVcName); |
1147 EXPECT_CALL(session_, GetTransportStats(_)) | 1155 EXPECT_CALL(session_, GetTransportStats(_)) |
1148 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1156 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1149 Return(true))); | 1157 Return(true))); |
1150 | 1158 |
1151 // Constructs an ssrc stats update. | 1159 // Constructs an ssrc stats update. |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1193 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1186 .WillRepeatedly(Return(nullptr)); | 1194 .WillRepeatedly(Return(nullptr)); |
1187 | 1195 |
1188 const char kVideoChannelName[] = "video"; | 1196 const char kVideoChannelName[] = "video"; |
1189 InitSessionStats(kVideoChannelName); | 1197 InitSessionStats(kVideoChannelName); |
1190 EXPECT_CALL(session_, GetTransportStats(_)) | 1198 EXPECT_CALL(session_, GetTransportStats(_)) |
1191 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1199 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1192 Return(true))); | 1200 Return(true))); |
1193 | 1201 |
1194 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1202 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
1195 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, | 1203 cricket::VideoChannel video_channel(worker_thread_, network_thread_, |
1196 nullptr, kVideoChannelName, false); | 1204 media_channel, nullptr, kVideoChannelName, |
| 1205 false); |
1197 AddIncomingVideoTrackStats(); | 1206 AddIncomingVideoTrackStats(); |
1198 stats.AddStream(stream_); | 1207 stats.AddStream(stream_); |
1199 | 1208 |
1200 // Constructs an ssrc stats update. | 1209 // Constructs an ssrc stats update. |
1201 cricket::VideoReceiverInfo video_receiver_info; | 1210 cricket::VideoReceiverInfo video_receiver_info; |
1202 cricket::VideoMediaInfo stats_read; | 1211 cricket::VideoMediaInfo stats_read; |
1203 const int64_t kNumOfPacketsConcealed = 54321; | 1212 const int64_t kNumOfPacketsConcealed = 54321; |
1204 | 1213 |
1205 // Construct a stats value to read. | 1214 // Construct a stats value to read. |
1206 video_receiver_info.add_ssrc(1234); | 1215 video_receiver_info.add_ssrc(1234); |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1497 StatsCollectorForTest stats(&pc_); | 1506 StatsCollectorForTest stats(&pc_); |
1498 | 1507 |
1499 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1508 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1500 .WillRepeatedly(Return(false)); | 1509 .WillRepeatedly(Return(false)); |
1501 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1510 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1502 .WillRepeatedly(Return(nullptr)); | 1511 .WillRepeatedly(Return(nullptr)); |
1503 | 1512 |
1504 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1513 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1505 // The transport_name known by the voice channel. | 1514 // The transport_name known by the voice channel. |
1506 const std::string kVcName("vcname"); | 1515 const std::string kVcName("vcname"); |
1507 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, | 1516 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, |
1508 media_channel, nullptr, kVcName, false); | 1517 media_engine_, media_channel, nullptr, |
| 1518 kVcName, false); |
1509 AddOutgoingAudioTrackStats(); | 1519 AddOutgoingAudioTrackStats(); |
1510 stats.AddStream(stream_); | 1520 stats.AddStream(stream_); |
1511 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1521 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1512 | 1522 |
1513 cricket::VoiceSenderInfo voice_sender_info; | 1523 cricket::VoiceSenderInfo voice_sender_info; |
1514 InitVoiceSenderInfo(&voice_sender_info); | 1524 InitVoiceSenderInfo(&voice_sender_info); |
1515 | 1525 |
1516 cricket::VoiceMediaInfo stats_read; | 1526 cricket::VoiceMediaInfo stats_read; |
1517 StatsReports reports; // returned values. | 1527 StatsReports reports; // returned values. |
1518 SetupAndVerifyAudioTrackStats( | 1528 SetupAndVerifyAudioTrackStats( |
(...skipping 13 matching lines...) Expand all Loading... |
1532 StatsCollectorForTest stats(&pc_); | 1542 StatsCollectorForTest stats(&pc_); |
1533 | 1543 |
1534 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1544 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1535 .WillRepeatedly(Return(false)); | 1545 .WillRepeatedly(Return(false)); |
1536 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1546 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1537 .WillRepeatedly(Return(nullptr)); | 1547 .WillRepeatedly(Return(nullptr)); |
1538 | 1548 |
1539 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1549 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1540 // The transport_name known by the voice channel. | 1550 // The transport_name known by the voice channel. |
1541 const std::string kVcName("vcname"); | 1551 const std::string kVcName("vcname"); |
1542 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, | 1552 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, |
1543 media_channel, nullptr, kVcName, false); | 1553 media_engine_, media_channel, nullptr, |
| 1554 kVcName, false); |
1544 AddIncomingAudioTrackStats(); | 1555 AddIncomingAudioTrackStats(); |
1545 stats.AddStream(stream_); | 1556 stats.AddStream(stream_); |
1546 | 1557 |
1547 cricket::VoiceReceiverInfo voice_receiver_info; | 1558 cricket::VoiceReceiverInfo voice_receiver_info; |
1548 InitVoiceReceiverInfo(&voice_receiver_info); | 1559 InitVoiceReceiverInfo(&voice_receiver_info); |
1549 voice_receiver_info.codec_name = "fake_codec"; | 1560 voice_receiver_info.codec_name = "fake_codec"; |
1550 | 1561 |
1551 cricket::VoiceMediaInfo stats_read; | 1562 cricket::VoiceMediaInfo stats_read; |
1552 StatsReports reports; // returned values. | 1563 StatsReports reports; // returned values. |
1553 SetupAndVerifyAudioTrackStats( | 1564 SetupAndVerifyAudioTrackStats( |
1554 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1565 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, |
1555 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); | 1566 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); |
1556 } | 1567 } |
1557 | 1568 |
1558 // This test verifies that a local stats object won't update its statistics | 1569 // This test verifies that a local stats object won't update its statistics |
1559 // after a RemoveLocalAudioTrack() call. | 1570 // after a RemoveLocalAudioTrack() call. |
1560 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { | 1571 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { |
1561 StatsCollectorForTest stats(&pc_); | 1572 StatsCollectorForTest stats(&pc_); |
1562 | 1573 |
1563 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1574 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1564 .WillRepeatedly(Return(false)); | 1575 .WillRepeatedly(Return(false)); |
1565 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1576 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1566 .WillRepeatedly(Return(nullptr)); | 1577 .WillRepeatedly(Return(nullptr)); |
1567 | 1578 |
1568 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1579 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1569 // The transport_name known by the voice channel. | 1580 // The transport_name known by the voice channel. |
1570 const std::string kVcName("vcname"); | 1581 const std::string kVcName("vcname"); |
1571 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, | 1582 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, |
1572 media_channel, nullptr, kVcName, false); | 1583 media_engine_, media_channel, nullptr, |
| 1584 kVcName, false); |
1573 AddOutgoingAudioTrackStats(); | 1585 AddOutgoingAudioTrackStats(); |
1574 stats.AddStream(stream_); | 1586 stats.AddStream(stream_); |
1575 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1587 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1576 | 1588 |
1577 // Instruct the session to return stats containing the transport channel. | 1589 // Instruct the session to return stats containing the transport channel. |
1578 InitSessionStats(kVcName); | 1590 InitSessionStats(kVcName); |
1579 EXPECT_CALL(session_, GetTransportStats(_)) | 1591 EXPECT_CALL(session_, GetTransportStats(_)) |
1580 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), | 1592 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), |
1581 Return(true))); | 1593 Return(true))); |
1582 | 1594 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1622 StatsCollectorForTest stats(&pc_); | 1634 StatsCollectorForTest stats(&pc_); |
1623 | 1635 |
1624 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1636 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1625 .WillRepeatedly(Return(false)); | 1637 .WillRepeatedly(Return(false)); |
1626 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1638 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1627 .WillRepeatedly(Return(nullptr)); | 1639 .WillRepeatedly(Return(nullptr)); |
1628 | 1640 |
1629 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1641 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1630 // The transport_name known by the voice channel. | 1642 // The transport_name known by the voice channel. |
1631 const std::string kVcName("vcname"); | 1643 const std::string kVcName("vcname"); |
1632 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, | 1644 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, |
1633 media_channel, nullptr, kVcName, false); | 1645 media_engine_, media_channel, nullptr, |
| 1646 kVcName, false); |
1634 | 1647 |
1635 // Create a local stream with a local audio track and adds it to the stats. | 1648 // Create a local stream with a local audio track and adds it to the stats. |
1636 AddOutgoingAudioTrackStats(); | 1649 AddOutgoingAudioTrackStats(); |
1637 stats.AddStream(stream_); | 1650 stats.AddStream(stream_); |
1638 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1651 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
1639 | 1652 |
1640 // Create a remote stream with a remote audio track and adds it to the stats. | 1653 // Create a remote stream with a remote audio track and adds it to the stats. |
1641 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( | 1654 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( |
1642 webrtc::MediaStream::Create("remotestreamlabel")); | 1655 webrtc::MediaStream::Create("remotestreamlabel")); |
1643 rtc::scoped_refptr<FakeAudioTrack> remote_track( | 1656 rtc::scoped_refptr<FakeAudioTrack> remote_track( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1709 StatsCollectorForTest stats(&pc_); | 1722 StatsCollectorForTest stats(&pc_); |
1710 | 1723 |
1711 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1724 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
1712 .WillRepeatedly(Return(false)); | 1725 .WillRepeatedly(Return(false)); |
1713 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1726 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
1714 .WillRepeatedly(Return(nullptr)); | 1727 .WillRepeatedly(Return(nullptr)); |
1715 | 1728 |
1716 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1729 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
1717 // The transport_name known by the voice channel. | 1730 // The transport_name known by the voice channel. |
1718 const std::string kVcName("vcname"); | 1731 const std::string kVcName("vcname"); |
1719 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, | 1732 cricket::VoiceChannel voice_channel(worker_thread_, network_thread_, |
1720 media_channel, nullptr, kVcName, false); | 1733 media_engine_, media_channel, nullptr, |
| 1734 kVcName, false); |
1721 | 1735 |
1722 // Create a local stream with a local audio track and adds it to the stats. | 1736 // Create a local stream with a local audio track and adds it to the stats. |
1723 AddOutgoingAudioTrackStats(); | 1737 AddOutgoingAudioTrackStats(); |
1724 stats.AddStream(stream_); | 1738 stats.AddStream(stream_); |
1725 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1739 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
1726 | 1740 |
1727 cricket::VoiceSenderInfo voice_sender_info; | 1741 cricket::VoiceSenderInfo voice_sender_info; |
1728 voice_sender_info.add_ssrc(kSsrcOfTrack); | 1742 voice_sender_info.add_ssrc(kSsrcOfTrack); |
1729 | 1743 |
1730 cricket::VoiceMediaInfo stats_read; | 1744 cricket::VoiceMediaInfo stats_read; |
(...skipping 19 matching lines...) Expand all Loading... |
1750 cricket::VoiceSenderInfo new_voice_sender_info; | 1764 cricket::VoiceSenderInfo new_voice_sender_info; |
1751 InitVoiceSenderInfo(&new_voice_sender_info); | 1765 InitVoiceSenderInfo(&new_voice_sender_info); |
1752 cricket::VoiceMediaInfo new_stats_read; | 1766 cricket::VoiceMediaInfo new_stats_read; |
1753 reports.clear(); | 1767 reports.clear(); |
1754 SetupAndVerifyAudioTrackStats( | 1768 SetupAndVerifyAudioTrackStats( |
1755 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1769 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, |
1756 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); | 1770 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); |
1757 } | 1771 } |
1758 | 1772 |
1759 } // namespace webrtc | 1773 } // namespace webrtc |
OLD | NEW |