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

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

Issue 1903393004: Added network thread to rtc::BaseChannel (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: fix flakiness of WebRtcSessionTest.TestPacketOptionsAndOnPacketSent Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/api/peerconnectionfactory.cc ('k') | webrtc/api/webrtcsession.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « webrtc/api/peerconnectionfactory.cc ('k') | webrtc/api/webrtcsession.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698