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

Side by Side Diff: talk/app/webrtc/statscollector_unittest.cc

Issue 1363573002: Wire up transport sequence number / send time callbacks to webrtc via libjingle. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Add missing updated_options Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 // Error return values 77 // Error return values
78 const char kNotFound[] = "NOT FOUND"; 78 const char kNotFound[] = "NOT FOUND";
79 79
80 // Constant names for track identification. 80 // Constant names for track identification.
81 const char kLocalTrackId[] = "local_track_id"; 81 const char kLocalTrackId[] = "local_track_id";
82 const char kRemoteTrackId[] = "remote_track_id"; 82 const char kRemoteTrackId[] = "remote_track_id";
83 const uint32_t kSsrcOfTrack = 1234; 83 const uint32_t kSsrcOfTrack = 1234;
84 84
85 class MockWebRtcSession : public webrtc::WebRtcSession { 85 class MockWebRtcSession : public webrtc::WebRtcSession {
86 public: 86 public:
87 explicit MockWebRtcSession(cricket::ChannelManager* channel_manager) 87 explicit MockWebRtcSession(webrtc::MediaControllerInterface* media_controller)
88 : WebRtcSession(channel_manager, 88 : WebRtcSession(media_controller,
89 rtc::Thread::Current(), 89 rtc::Thread::Current(),
90 rtc::Thread::Current(), 90 rtc::Thread::Current(),
91 nullptr) {} 91 nullptr) {}
92 MOCK_METHOD0(voice_channel, cricket::VoiceChannel*()); 92 MOCK_METHOD0(voice_channel, cricket::VoiceChannel*());
93 MOCK_METHOD0(video_channel, cricket::VideoChannel*()); 93 MOCK_METHOD0(video_channel, cricket::VideoChannel*());
94 // Libjingle uses "local" for a outgoing track, and "remote" for a incoming 94 // Libjingle uses "local" for a outgoing track, and "remote" for a incoming
95 // track. 95 // track.
96 MOCK_METHOD2(GetLocalTrackIdBySsrc, bool(uint32_t, std::string*)); 96 MOCK_METHOD2(GetLocalTrackIdBySsrc, bool(uint32_t, std::string*));
97 MOCK_METHOD2(GetRemoteTrackIdBySsrc, bool(uint32_t, std::string*)); 97 MOCK_METHOD2(GetRemoteTrackIdBySsrc, bool(uint32_t, std::string*));
98 MOCK_METHOD1(GetTransportStats, bool(SessionStats*)); 98 MOCK_METHOD1(GetTransportStats, bool(SessionStats*));
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 private: 499 private:
500 double time_now_; 500 double time_now_;
501 }; 501 };
502 502
503 class StatsCollectorTest : public testing::Test { 503 class StatsCollectorTest : public testing::Test {
504 protected: 504 protected:
505 StatsCollectorTest() 505 StatsCollectorTest()
506 : media_engine_(new cricket::FakeMediaEngine()), 506 : media_engine_(new cricket::FakeMediaEngine()),
507 channel_manager_( 507 channel_manager_(
508 new cricket::ChannelManager(media_engine_, rtc::Thread::Current())), 508 new cricket::ChannelManager(media_engine_, rtc::Thread::Current())),
509 session_(channel_manager_.get()) { 509 media_controller_(
510 webrtc::MediaControllerInterface::Create(rtc::Thread::Current(),
511 channel_manager_.get())),
512 session_(media_controller_.get()) {
510 // By default, we ignore session GetStats calls. 513 // By default, we ignore session GetStats calls.
511 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false)); 514 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false));
512 // Add default returns for mock classes. 515 // Add default returns for mock classes.
513 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); 516 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull());
514 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); 517 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull());
515 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); 518 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_));
516 EXPECT_CALL(pc_, sctp_data_channels()) 519 EXPECT_CALL(pc_, sctp_data_channels())
517 .WillRepeatedly(ReturnRef(data_channels_)); 520 .WillRepeatedly(ReturnRef(data_channels_));
518 } 521 }
519 522
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 dtls_cipher); 756 dtls_cipher);
754 std::string srtp_cipher = ExtractStatsValue( 757 std::string srtp_cipher = ExtractStatsValue(
755 StatsReport::kStatsReportTypeComponent, 758 StatsReport::kStatsReportTypeComponent,
756 reports, 759 reports,
757 StatsReport::kStatsValueNameSrtpCipher); 760 StatsReport::kStatsValueNameSrtpCipher);
758 EXPECT_EQ("the-srtp-cipher", srtp_cipher); 761 EXPECT_EQ("the-srtp-cipher", srtp_cipher);
759 } 762 }
760 763
761 cricket::FakeMediaEngine* media_engine_; 764 cricket::FakeMediaEngine* media_engine_;
762 rtc::scoped_ptr<cricket::ChannelManager> channel_manager_; 765 rtc::scoped_ptr<cricket::ChannelManager> channel_manager_;
766 rtc::scoped_ptr<webrtc::MediaControllerInterface> media_controller_;
763 MockWebRtcSession session_; 767 MockWebRtcSession session_;
764 MockPeerConnection pc_; 768 MockPeerConnection pc_;
765 FakeDataChannelProvider data_channel_provider_; 769 FakeDataChannelProvider data_channel_provider_;
766 SessionStats session_stats_; 770 SessionStats session_stats_;
767 rtc::scoped_refptr<webrtc::MediaStream> stream_; 771 rtc::scoped_refptr<webrtc::MediaStream> stream_;
768 rtc::scoped_refptr<webrtc::VideoTrack> track_; 772 rtc::scoped_refptr<webrtc::VideoTrack> track_;
769 rtc::scoped_refptr<FakeAudioTrack> audio_track_; 773 rtc::scoped_refptr<FakeAudioTrack> audio_track_;
770 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; 774 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_;
771 }; 775 };
772 776
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 .WillRepeatedly(Return(false)); 822 .WillRepeatedly(Return(false));
819 823
820 const char kVideoChannelName[] = "video"; 824 const char kVideoChannelName[] = "video";
821 825
822 InitSessionStats(kVideoChannelName); 826 InitSessionStats(kVideoChannelName);
823 EXPECT_CALL(session_, GetTransportStats(_)) 827 EXPECT_CALL(session_, GetTransportStats(_))
824 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 828 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
825 Return(true))); 829 Return(true)));
826 830
827 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 831 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
828 cricket::VideoChannel video_channel(rtc::Thread::Current(), 832 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
829 media_channel, NULL, kVideoChannelName, false); 833 nullptr, kVideoChannelName, false);
830 StatsReports reports; // returned values. 834 StatsReports reports; // returned values.
831 cricket::VideoSenderInfo video_sender_info; 835 cricket::VideoSenderInfo video_sender_info;
832 cricket::VideoMediaInfo stats_read; 836 cricket::VideoMediaInfo stats_read;
833 // The number of bytes must be larger than 0xFFFFFFFF for this test. 837 // The number of bytes must be larger than 0xFFFFFFFF for this test.
834 const int64_t kBytesSent = 12345678901234LL; 838 const int64_t kBytesSent = 12345678901234LL;
835 const std::string kBytesSentString("12345678901234"); 839 const std::string kBytesSentString("12345678901234");
836 840
837 AddOutgoingVideoTrackStats(); 841 AddOutgoingVideoTrackStats();
838 stats.AddStream(stream_); 842 stats.AddStream(stream_);
839 843
(...skipping 24 matching lines...) Expand all
864 .WillRepeatedly(Return(false)); 868 .WillRepeatedly(Return(false));
865 869
866 const char kVideoChannelName[] = "video"; 870 const char kVideoChannelName[] = "video";
867 871
868 InitSessionStats(kVideoChannelName); 872 InitSessionStats(kVideoChannelName);
869 EXPECT_CALL(session_, GetTransportStats(_)) 873 EXPECT_CALL(session_, GetTransportStats(_))
870 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 874 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
871 Return(true))); 875 Return(true)));
872 876
873 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 877 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
874 cricket::VideoChannel video_channel(rtc::Thread::Current(), 878 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
875 media_channel, NULL, kVideoChannelName, false); 879 nullptr, kVideoChannelName, false);
876 880
877 StatsReports reports; // returned values. 881 StatsReports reports; // returned values.
878 cricket::VideoSenderInfo video_sender_info; 882 cricket::VideoSenderInfo video_sender_info;
879 cricket::VideoMediaInfo stats_read; 883 cricket::VideoMediaInfo stats_read;
880 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and 884 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and
881 // BWE. 885 // BWE.
882 const int64_t kBytesSent = 12345678901234LL; 886 const int64_t kBytesSent = 12345678901234LL;
883 const std::string kBytesSentString("12345678901234"); 887 const std::string kBytesSentString("12345678901234");
884 888
885 AddOutgoingVideoTrackStats(); 889 AddOutgoingVideoTrackStats();
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 reports, StatsReport::kStatsReportTypeSession, 2); 943 reports, StatsReport::kStatsReportTypeSession, 2);
940 EXPECT_EQ(NULL, session_report); 944 EXPECT_EQ(NULL, session_report);
941 } 945 }
942 946
943 // This test verifies that the empty track report exists in the returned stats 947 // This test verifies that the empty track report exists in the returned stats
944 // without calling StatsCollector::UpdateStats. 948 // without calling StatsCollector::UpdateStats.
945 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { 949 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) {
946 StatsCollectorForTest stats(&pc_); 950 StatsCollectorForTest stats(&pc_);
947 951
948 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 952 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
949 cricket::VideoChannel video_channel(rtc::Thread::Current(), 953 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
950 media_channel, NULL, "video", false); 954 nullptr, "video", false);
951 AddOutgoingVideoTrackStats(); 955 AddOutgoingVideoTrackStats();
952 stats.AddStream(stream_); 956 stats.AddStream(stream_);
953 957
954 // Verfies the existence of the track report. 958 // Verfies the existence of the track report.
955 StatsReports reports; 959 StatsReports reports;
956 stats.GetStats(NULL, &reports); 960 stats.GetStats(NULL, &reports);
957 EXPECT_EQ((size_t)1, reports.size()); 961 EXPECT_EQ((size_t)1, reports.size());
958 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); 962 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type());
959 EXPECT_EQ(0, reports[0]->timestamp()); 963 EXPECT_EQ(0, reports[0]->timestamp());
960 964
(...skipping 14 matching lines...) Expand all
975 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 979 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
976 .WillRepeatedly(Return(false)); 980 .WillRepeatedly(Return(false));
977 981
978 const char kVideoChannelName[] = "video"; 982 const char kVideoChannelName[] = "video";
979 InitSessionStats(kVideoChannelName); 983 InitSessionStats(kVideoChannelName);
980 EXPECT_CALL(session_, GetTransportStats(_)) 984 EXPECT_CALL(session_, GetTransportStats(_))
981 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 985 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
982 Return(true))); 986 Return(true)));
983 987
984 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 988 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
985 cricket::VideoChannel video_channel(rtc::Thread::Current(), 989 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
986 media_channel, NULL, kVideoChannelName, false); 990 nullptr, kVideoChannelName, false);
987 AddOutgoingVideoTrackStats(); 991 AddOutgoingVideoTrackStats();
988 stats.AddStream(stream_); 992 stats.AddStream(stream_);
989 993
990 // Constructs an ssrc stats update. 994 // Constructs an ssrc stats update.
991 cricket::VideoSenderInfo video_sender_info; 995 cricket::VideoSenderInfo video_sender_info;
992 cricket::VideoMediaInfo stats_read; 996 cricket::VideoMediaInfo stats_read;
993 const int64_t kBytesSent = 12345678901234LL; 997 const int64_t kBytesSent = 12345678901234LL;
994 998
995 // Construct a stats value to read. 999 // Construct a stats value to read.
996 video_sender_info.add_ssrc(1234); 1000 video_sender_info.add_ssrc(1234);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 StatsCollectorForTest stats(&pc_); 1043 StatsCollectorForTest stats(&pc_);
1040 1044
1041 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1045 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1042 .WillRepeatedly(Return(false)); 1046 .WillRepeatedly(Return(false));
1043 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1047 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1044 .WillRepeatedly(Return(false)); 1048 .WillRepeatedly(Return(false));
1045 1049
1046 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1050 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1047 // The transport_name known by the video channel. 1051 // The transport_name known by the video channel.
1048 const std::string kVcName("vcname"); 1052 const std::string kVcName("vcname");
1049 cricket::VideoChannel video_channel(rtc::Thread::Current(), 1053 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
1050 media_channel, NULL, kVcName, false); 1054 nullptr, kVcName, false);
1051 AddOutgoingVideoTrackStats(); 1055 AddOutgoingVideoTrackStats();
1052 stats.AddStream(stream_); 1056 stats.AddStream(stream_);
1053 1057
1054 // Constructs an ssrc stats update. 1058 // Constructs an ssrc stats update.
1055 cricket::VideoSenderInfo video_sender_info; 1059 cricket::VideoSenderInfo video_sender_info;
1056 cricket::VideoMediaInfo stats_read; 1060 cricket::VideoMediaInfo stats_read;
1057 const int64_t kBytesSent = 12345678901234LL; 1061 const int64_t kBytesSent = 12345678901234LL;
1058 1062
1059 // Construct a stats value to read. 1063 // Construct a stats value to read.
1060 video_sender_info.add_ssrc(1234); 1064 video_sender_info.add_ssrc(1234);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 } 1101 }
1098 1102
1099 // This test verifies that a remote stats object will not be created for 1103 // This test verifies that a remote stats object will not be created for
1100 // an outgoing SSRC where remote stats are not returned. 1104 // an outgoing SSRC where remote stats are not returned.
1101 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { 1105 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) {
1102 StatsCollectorForTest stats(&pc_); 1106 StatsCollectorForTest stats(&pc_);
1103 1107
1104 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1108 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1105 // The transport_name known by the video channel. 1109 // The transport_name known by the video channel.
1106 const std::string kVcName("vcname"); 1110 const std::string kVcName("vcname");
1107 cricket::VideoChannel video_channel(rtc::Thread::Current(), 1111 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
1108 media_channel, NULL, kVcName, false); 1112 nullptr, kVcName, false);
1109 AddOutgoingVideoTrackStats(); 1113 AddOutgoingVideoTrackStats();
1110 stats.AddStream(stream_); 1114 stats.AddStream(stream_);
1111 1115
1112 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); 1116 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard);
1113 StatsReports reports; 1117 StatsReports reports;
1114 stats.GetStats(NULL, &reports); 1118 stats.GetStats(NULL, &reports);
1115 const StatsReport* remote_report = FindNthReportByType(reports, 1119 const StatsReport* remote_report = FindNthReportByType(reports,
1116 StatsReport::kStatsReportTypeRemoteSsrc, 1); 1120 StatsReport::kStatsReportTypeRemoteSsrc, 1);
1117 EXPECT_TRUE(remote_report == NULL); 1121 EXPECT_TRUE(remote_report == NULL);
1118 } 1122 }
1119 1123
1120 // This test verifies that a remote stats object will be created for 1124 // This test verifies that a remote stats object will be created for
1121 // an outgoing SSRC where stats are returned. 1125 // an outgoing SSRC where stats are returned.
1122 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { 1126 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) {
1123 StatsCollectorForTest stats(&pc_); 1127 StatsCollectorForTest stats(&pc_);
1124 1128
1125 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1129 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1126 .WillRepeatedly(Return(false)); 1130 .WillRepeatedly(Return(false));
1127 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1131 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1128 .WillRepeatedly(Return(false)); 1132 .WillRepeatedly(Return(false));
1129 1133
1130 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1134 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1131 // The transport_name known by the video channel. 1135 // The transport_name known by the video channel.
1132 const std::string kVcName("vcname"); 1136 const std::string kVcName("vcname");
1133 cricket::VideoChannel video_channel(rtc::Thread::Current(), 1137 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
1134 media_channel, NULL, kVcName, false); 1138 nullptr, kVcName, false);
1135 AddOutgoingVideoTrackStats(); 1139 AddOutgoingVideoTrackStats();
1136 stats.AddStream(stream_); 1140 stats.AddStream(stream_);
1137 1141
1138 // Instruct the session to return stats containing the transport channel. 1142 // Instruct the session to return stats containing the transport channel.
1139 InitSessionStats(kVcName); 1143 InitSessionStats(kVcName);
1140 EXPECT_CALL(session_, GetTransportStats(_)) 1144 EXPECT_CALL(session_, GetTransportStats(_))
1141 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1145 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1142 Return(true))); 1146 Return(true)));
1143 1147
1144 // Constructs an ssrc stats update. 1148 // Constructs an ssrc stats update.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1182 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1179 .WillRepeatedly(Return(false)); 1183 .WillRepeatedly(Return(false));
1180 1184
1181 const char kVideoChannelName[] = "video"; 1185 const char kVideoChannelName[] = "video";
1182 InitSessionStats(kVideoChannelName); 1186 InitSessionStats(kVideoChannelName);
1183 EXPECT_CALL(session_, GetTransportStats(_)) 1187 EXPECT_CALL(session_, GetTransportStats(_))
1184 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1188 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1185 Return(true))); 1189 Return(true)));
1186 1190
1187 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1191 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1188 cricket::VideoChannel video_channel(rtc::Thread::Current(), 1192 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel,
1189 media_channel, NULL, kVideoChannelName, false); 1193 nullptr, kVideoChannelName, false);
1190 AddIncomingVideoTrackStats(); 1194 AddIncomingVideoTrackStats();
1191 stats.AddStream(stream_); 1195 stats.AddStream(stream_);
1192 1196
1193 // Constructs an ssrc stats update. 1197 // Constructs an ssrc stats update.
1194 cricket::VideoReceiverInfo video_receiver_info; 1198 cricket::VideoReceiverInfo video_receiver_info;
1195 cricket::VideoMediaInfo stats_read; 1199 cricket::VideoMediaInfo stats_read;
1196 const int64_t kNumOfPacketsConcealed = 54321; 1200 const int64_t kNumOfPacketsConcealed = 54321;
1197 1201
1198 // Construct a stats value to read. 1202 // Construct a stats value to read.
1199 video_receiver_info.add_ssrc(1234); 1203 video_receiver_info.add_ssrc(1234);
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 StatsCollectorForTest stats(&pc_); 1491 StatsCollectorForTest stats(&pc_);
1488 1492
1489 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1493 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1490 .WillRepeatedly(Return(false)); 1494 .WillRepeatedly(Return(false));
1491 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1495 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1492 .WillRepeatedly(Return(false)); 1496 .WillRepeatedly(Return(false));
1493 1497
1494 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1498 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1495 // The transport_name known by the voice channel. 1499 // The transport_name known by the voice channel.
1496 const std::string kVcName("vcname"); 1500 const std::string kVcName("vcname");
1497 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), 1501 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_,
1498 media_engine_, media_channel, NULL, kVcName, false); 1502 media_channel, nullptr, kVcName, false);
1499 AddOutgoingAudioTrackStats(); 1503 AddOutgoingAudioTrackStats();
1500 stats.AddStream(stream_); 1504 stats.AddStream(stream_);
1501 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1505 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1502 1506
1503 cricket::VoiceSenderInfo voice_sender_info; 1507 cricket::VoiceSenderInfo voice_sender_info;
1504 InitVoiceSenderInfo(&voice_sender_info); 1508 InitVoiceSenderInfo(&voice_sender_info);
1505 1509
1506 cricket::VoiceMediaInfo stats_read; 1510 cricket::VoiceMediaInfo stats_read;
1507 StatsReports reports; // returned values. 1511 StatsReports reports; // returned values.
1508 SetupAndVerifyAudioTrackStats( 1512 SetupAndVerifyAudioTrackStats(
(...skipping 13 matching lines...) Expand all
1522 StatsCollectorForTest stats(&pc_); 1526 StatsCollectorForTest stats(&pc_);
1523 1527
1524 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1528 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1525 .WillRepeatedly(Return(false)); 1529 .WillRepeatedly(Return(false));
1526 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1530 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1527 .WillRepeatedly(Return(false)); 1531 .WillRepeatedly(Return(false));
1528 1532
1529 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1533 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1530 // The transport_name known by the voice channel. 1534 // The transport_name known by the voice channel.
1531 const std::string kVcName("vcname"); 1535 const std::string kVcName("vcname");
1532 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), 1536 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_,
1533 media_engine_, media_channel, NULL, kVcName, false); 1537 media_channel, nullptr, kVcName, false);
1534 AddIncomingAudioTrackStats(); 1538 AddIncomingAudioTrackStats();
1535 stats.AddStream(stream_); 1539 stats.AddStream(stream_);
1536 1540
1537 cricket::VoiceReceiverInfo voice_receiver_info; 1541 cricket::VoiceReceiverInfo voice_receiver_info;
1538 InitVoiceReceiverInfo(&voice_receiver_info); 1542 InitVoiceReceiverInfo(&voice_receiver_info);
1539 voice_receiver_info.codec_name = "fake_codec"; 1543 voice_receiver_info.codec_name = "fake_codec";
1540 1544
1541 cricket::VoiceMediaInfo stats_read; 1545 cricket::VoiceMediaInfo stats_read;
1542 StatsReports reports; // returned values. 1546 StatsReports reports; // returned values.
1543 SetupAndVerifyAudioTrackStats( 1547 SetupAndVerifyAudioTrackStats(
1544 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, 1548 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName,
1545 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); 1549 media_channel, NULL, &voice_receiver_info, &stats_read, &reports);
1546 } 1550 }
1547 1551
1548 // This test verifies that a local stats object won't update its statistics 1552 // This test verifies that a local stats object won't update its statistics
1549 // after a RemoveLocalAudioTrack() call. 1553 // after a RemoveLocalAudioTrack() call.
1550 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { 1554 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) {
1551 StatsCollectorForTest stats(&pc_); 1555 StatsCollectorForTest stats(&pc_);
1552 1556
1553 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1557 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1554 .WillRepeatedly(Return(false)); 1558 .WillRepeatedly(Return(false));
1555 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1559 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1556 .WillRepeatedly(Return(false)); 1560 .WillRepeatedly(Return(false));
1557 1561
1558 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1562 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1559 // The transport_name known by the voice channel. 1563 // The transport_name known by the voice channel.
1560 const std::string kVcName("vcname"); 1564 const std::string kVcName("vcname");
1561 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), 1565 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_,
1562 media_engine_, media_channel, NULL, kVcName, false); 1566 media_channel, nullptr, kVcName, false);
1563 AddOutgoingAudioTrackStats(); 1567 AddOutgoingAudioTrackStats();
1564 stats.AddStream(stream_); 1568 stats.AddStream(stream_);
1565 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1569 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1566 1570
1567 // Instruct the session to return stats containing the transport channel. 1571 // Instruct the session to return stats containing the transport channel.
1568 InitSessionStats(kVcName); 1572 InitSessionStats(kVcName);
1569 EXPECT_CALL(session_, GetTransportStats(_)) 1573 EXPECT_CALL(session_, GetTransportStats(_))
1570 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1574 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1571 Return(true))); 1575 Return(true)));
1572 1576
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1612 StatsCollectorForTest stats(&pc_); 1616 StatsCollectorForTest stats(&pc_);
1613 1617
1614 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1618 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1615 .WillRepeatedly(Return(false)); 1619 .WillRepeatedly(Return(false));
1616 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1620 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1617 .WillRepeatedly(Return(false)); 1621 .WillRepeatedly(Return(false));
1618 1622
1619 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1623 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1620 // The transport_name known by the voice channel. 1624 // The transport_name known by the voice channel.
1621 const std::string kVcName("vcname"); 1625 const std::string kVcName("vcname");
1622 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), 1626 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_,
1623 media_engine_, media_channel, NULL, kVcName, false); 1627 media_channel, nullptr, kVcName, false);
1624 1628
1625 // Create a local stream with a local audio track and adds it to the stats. 1629 // Create a local stream with a local audio track and adds it to the stats.
1626 AddOutgoingAudioTrackStats(); 1630 AddOutgoingAudioTrackStats();
1627 stats.AddStream(stream_); 1631 stats.AddStream(stream_);
1628 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1632 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1629 1633
1630 // Create a remote stream with a remote audio track and adds it to the stats. 1634 // Create a remote stream with a remote audio track and adds it to the stats.
1631 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( 1635 rtc::scoped_refptr<webrtc::MediaStream> remote_stream(
1632 webrtc::MediaStream::Create("remotestreamlabel")); 1636 webrtc::MediaStream::Create("remotestreamlabel"));
1633 rtc::scoped_refptr<FakeAudioTrack> remote_track( 1637 rtc::scoped_refptr<FakeAudioTrack> remote_track(
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1699 StatsCollectorForTest stats(&pc_); 1703 StatsCollectorForTest stats(&pc_);
1700 1704
1701 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1705 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1702 .WillRepeatedly(Return(false)); 1706 .WillRepeatedly(Return(false));
1703 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _)) 1707 EXPECT_CALL(session_, GetRemoteSSLCertificate(_, _))
1704 .WillRepeatedly(Return(false)); 1708 .WillRepeatedly(Return(false));
1705 1709
1706 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1710 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1707 // The transport_name known by the voice channel. 1711 // The transport_name known by the voice channel.
1708 const std::string kVcName("vcname"); 1712 const std::string kVcName("vcname");
1709 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), 1713 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_,
1710 media_engine_, media_channel, NULL, kVcName, false); 1714 media_channel, nullptr, kVcName, false);
1711 1715
1712 // Create a local stream with a local audio track and adds it to the stats. 1716 // Create a local stream with a local audio track and adds it to the stats.
1713 AddOutgoingAudioTrackStats(); 1717 AddOutgoingAudioTrackStats();
1714 stats.AddStream(stream_); 1718 stats.AddStream(stream_);
1715 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1719 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1716 1720
1717 cricket::VoiceSenderInfo voice_sender_info; 1721 cricket::VoiceSenderInfo voice_sender_info;
1718 voice_sender_info.add_ssrc(kSsrcOfTrack); 1722 voice_sender_info.add_ssrc(kSsrcOfTrack);
1719 1723
1720 cricket::VoiceMediaInfo stats_read; 1724 cricket::VoiceMediaInfo stats_read;
(...skipping 19 matching lines...) Expand all
1740 cricket::VoiceSenderInfo new_voice_sender_info; 1744 cricket::VoiceSenderInfo new_voice_sender_info;
1741 InitVoiceSenderInfo(&new_voice_sender_info); 1745 InitVoiceSenderInfo(&new_voice_sender_info);
1742 cricket::VoiceMediaInfo new_stats_read; 1746 cricket::VoiceMediaInfo new_stats_read;
1743 reports.clear(); 1747 reports.clear();
1744 SetupAndVerifyAudioTrackStats( 1748 SetupAndVerifyAudioTrackStats(
1745 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, 1749 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName,
1746 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); 1750 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports);
1747 } 1751 }
1748 1752
1749 } // namespace webrtc 1753 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698