| 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 848 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 859 | 859 |
| 860 InitSessionStats(kVideoChannelName); | 860 InitSessionStats(kVideoChannelName); |
| 861 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 861 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 862 [this](const ChannelNamePairs&) { | 862 [this](const ChannelNamePairs&) { |
| 863 return std::unique_ptr<SessionStats>( | 863 return std::unique_ptr<SessionStats>( |
| 864 new SessionStats(session_stats_)); | 864 new SessionStats(session_stats_)); |
| 865 })); | 865 })); |
| 866 | 866 |
| 867 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 867 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 868 cricket::VideoChannel video_channel( | 868 cricket::VideoChannel video_channel( |
| 869 worker_thread_, network_thread_, media_channel, nullptr, | 869 worker_thread_, network_thread_, nullptr, media_channel, |
| 870 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 870 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 871 StatsReports reports; // returned values. | 871 StatsReports reports; // returned values. |
| 872 cricket::VideoSenderInfo video_sender_info; | 872 cricket::VideoSenderInfo video_sender_info; |
| 873 cricket::VideoMediaInfo stats_read; | 873 cricket::VideoMediaInfo stats_read; |
| 874 // The number of bytes must be larger than 0xFFFFFFFF for this test. | 874 // The number of bytes must be larger than 0xFFFFFFFF for this test. |
| 875 const int64_t kBytesSent = 12345678901234LL; | 875 const int64_t kBytesSent = 12345678901234LL; |
| 876 const std::string kBytesSentString("12345678901234"); | 876 const std::string kBytesSentString("12345678901234"); |
| 877 | 877 |
| 878 AddOutgoingVideoTrackStats(); | 878 AddOutgoingVideoTrackStats(); |
| 879 stats.AddStream(stream_); | 879 stats.AddStream(stream_); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 908 | 908 |
| 909 InitSessionStats(kVideoChannelName); | 909 InitSessionStats(kVideoChannelName); |
| 910 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 910 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 911 [this](const ChannelNamePairs&) { | 911 [this](const ChannelNamePairs&) { |
| 912 return std::unique_ptr<SessionStats>( | 912 return std::unique_ptr<SessionStats>( |
| 913 new SessionStats(session_stats_)); | 913 new SessionStats(session_stats_)); |
| 914 })); | 914 })); |
| 915 | 915 |
| 916 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 916 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 917 cricket::VideoChannel video_channel( | 917 cricket::VideoChannel video_channel( |
| 918 worker_thread_, network_thread_, media_channel, nullptr, | 918 worker_thread_, network_thread_, nullptr, media_channel, |
| 919 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 919 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 920 | 920 |
| 921 StatsReports reports; // returned values. | 921 StatsReports reports; // returned values. |
| 922 cricket::VideoSenderInfo video_sender_info; | 922 cricket::VideoSenderInfo video_sender_info; |
| 923 cricket::VideoMediaInfo stats_read; | 923 cricket::VideoMediaInfo stats_read; |
| 924 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and | 924 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and |
| 925 // BWE. | 925 // BWE. |
| 926 const int64_t kBytesSent = 12345678901234LL; | 926 const int64_t kBytesSent = 12345678901234LL; |
| 927 const std::string kBytesSentString("12345678901234"); | 927 const std::string kBytesSentString("12345678901234"); |
| 928 | 928 |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 EXPECT_EQ(NULL, session_report); | 984 EXPECT_EQ(NULL, session_report); |
| 985 } | 985 } |
| 986 | 986 |
| 987 // This test verifies that the empty track report exists in the returned stats | 987 // This test verifies that the empty track report exists in the returned stats |
| 988 // without calling StatsCollector::UpdateStats. | 988 // without calling StatsCollector::UpdateStats. |
| 989 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { | 989 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { |
| 990 StatsCollectorForTest stats(&pc_); | 990 StatsCollectorForTest stats(&pc_); |
| 991 | 991 |
| 992 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 992 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 993 cricket::VideoChannel video_channel( | 993 cricket::VideoChannel video_channel( |
| 994 worker_thread_, network_thread_, media_channel, nullptr, "video", | 994 worker_thread_, network_thread_, nullptr, media_channel, "video", |
| 995 kDefaultRtcpEnabled, kDefaultSrtpRequired); | 995 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 996 AddOutgoingVideoTrackStats(); | 996 AddOutgoingVideoTrackStats(); |
| 997 stats.AddStream(stream_); | 997 stats.AddStream(stream_); |
| 998 | 998 |
| 999 // Verfies the existence of the track report. | 999 // Verfies the existence of the track report. |
| 1000 StatsReports reports; | 1000 StatsReports reports; |
| 1001 stats.GetStats(NULL, &reports); | 1001 stats.GetStats(NULL, &reports); |
| 1002 EXPECT_EQ((size_t)1, reports.size()); | 1002 EXPECT_EQ((size_t)1, reports.size()); |
| 1003 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); | 1003 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); |
| 1004 EXPECT_EQ(0, reports[0]->timestamp()); | 1004 EXPECT_EQ(0, reports[0]->timestamp()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1023 const char kVideoChannelName[] = "video"; | 1023 const char kVideoChannelName[] = "video"; |
| 1024 InitSessionStats(kVideoChannelName); | 1024 InitSessionStats(kVideoChannelName); |
| 1025 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1025 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1026 [this](const ChannelNamePairs&) { | 1026 [this](const ChannelNamePairs&) { |
| 1027 return std::unique_ptr<SessionStats>( | 1027 return std::unique_ptr<SessionStats>( |
| 1028 new SessionStats(session_stats_)); | 1028 new SessionStats(session_stats_)); |
| 1029 })); | 1029 })); |
| 1030 | 1030 |
| 1031 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1031 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1032 cricket::VideoChannel video_channel( | 1032 cricket::VideoChannel video_channel( |
| 1033 worker_thread_, network_thread_, media_channel, nullptr, | 1033 worker_thread_, network_thread_, nullptr, media_channel, |
| 1034 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1034 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1035 AddOutgoingVideoTrackStats(); | 1035 AddOutgoingVideoTrackStats(); |
| 1036 stats.AddStream(stream_); | 1036 stats.AddStream(stream_); |
| 1037 | 1037 |
| 1038 // Constructs an ssrc stats update. | 1038 // Constructs an ssrc stats update. |
| 1039 cricket::VideoSenderInfo video_sender_info; | 1039 cricket::VideoSenderInfo video_sender_info; |
| 1040 cricket::VideoMediaInfo stats_read; | 1040 cricket::VideoMediaInfo stats_read; |
| 1041 const int64_t kBytesSent = 12345678901234LL; | 1041 const int64_t kBytesSent = 12345678901234LL; |
| 1042 | 1042 |
| 1043 // Construct a stats value to read. | 1043 // Construct a stats value to read. |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1092 | 1092 |
| 1093 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1093 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1094 .WillRepeatedly(Return(false)); | 1094 .WillRepeatedly(Return(false)); |
| 1095 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1095 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1096 .WillRepeatedly(Return(nullptr)); | 1096 .WillRepeatedly(Return(nullptr)); |
| 1097 | 1097 |
| 1098 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1098 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1099 // The transport_name known by the video channel. | 1099 // The transport_name known by the video channel. |
| 1100 const std::string kVcName("vcname"); | 1100 const std::string kVcName("vcname"); |
| 1101 cricket::VideoChannel video_channel( | 1101 cricket::VideoChannel video_channel( |
| 1102 worker_thread_, network_thread_, media_channel, nullptr, kVcName, | 1102 worker_thread_, network_thread_, nullptr, media_channel, kVcName, |
| 1103 kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1103 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1104 AddOutgoingVideoTrackStats(); | 1104 AddOutgoingVideoTrackStats(); |
| 1105 stats.AddStream(stream_); | 1105 stats.AddStream(stream_); |
| 1106 | 1106 |
| 1107 // Constructs an ssrc stats update. | 1107 // Constructs an ssrc stats update. |
| 1108 cricket::VideoSenderInfo video_sender_info; | 1108 cricket::VideoSenderInfo video_sender_info; |
| 1109 cricket::VideoMediaInfo stats_read; | 1109 cricket::VideoMediaInfo stats_read; |
| 1110 const int64_t kBytesSent = 12345678901234LL; | 1110 const int64_t kBytesSent = 12345678901234LL; |
| 1111 | 1111 |
| 1112 // Construct a stats value to read. | 1112 // Construct a stats value to read. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1153 | 1153 |
| 1154 // This test verifies that a remote stats object will not be created for | 1154 // This test verifies that a remote stats object will not be created for |
| 1155 // an outgoing SSRC where remote stats are not returned. | 1155 // an outgoing SSRC where remote stats are not returned. |
| 1156 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { | 1156 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { |
| 1157 StatsCollectorForTest stats(&pc_); | 1157 StatsCollectorForTest stats(&pc_); |
| 1158 | 1158 |
| 1159 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1159 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1160 // The transport_name known by the video channel. | 1160 // The transport_name known by the video channel. |
| 1161 const std::string kVcName("vcname"); | 1161 const std::string kVcName("vcname"); |
| 1162 cricket::VideoChannel video_channel( | 1162 cricket::VideoChannel video_channel( |
| 1163 worker_thread_, network_thread_, media_channel, nullptr, kVcName, | 1163 worker_thread_, network_thread_, nullptr, media_channel, kVcName, |
| 1164 kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1164 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1165 AddOutgoingVideoTrackStats(); | 1165 AddOutgoingVideoTrackStats(); |
| 1166 stats.AddStream(stream_); | 1166 stats.AddStream(stream_); |
| 1167 | 1167 |
| 1168 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1168 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
| 1169 StatsReports reports; | 1169 StatsReports reports; |
| 1170 stats.GetStats(NULL, &reports); | 1170 stats.GetStats(NULL, &reports); |
| 1171 const StatsReport* remote_report = FindNthReportByType(reports, | 1171 const StatsReport* remote_report = FindNthReportByType(reports, |
| 1172 StatsReport::kStatsReportTypeRemoteSsrc, 1); | 1172 StatsReport::kStatsReportTypeRemoteSsrc, 1); |
| 1173 EXPECT_TRUE(remote_report == NULL); | 1173 EXPECT_TRUE(remote_report == NULL); |
| 1174 } | 1174 } |
| 1175 | 1175 |
| 1176 // This test verifies that a remote stats object will be created for | 1176 // This test verifies that a remote stats object will be created for |
| 1177 // an outgoing SSRC where stats are returned. | 1177 // an outgoing SSRC where stats are returned. |
| 1178 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { | 1178 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { |
| 1179 StatsCollectorForTest stats(&pc_); | 1179 StatsCollectorForTest stats(&pc_); |
| 1180 | 1180 |
| 1181 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1181 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1182 .WillRepeatedly(Return(false)); | 1182 .WillRepeatedly(Return(false)); |
| 1183 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1183 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1184 .WillRepeatedly(Return(nullptr)); | 1184 .WillRepeatedly(Return(nullptr)); |
| 1185 | 1185 |
| 1186 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1186 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1187 // The transport_name known by the video channel. | 1187 // The transport_name known by the video channel. |
| 1188 const std::string kVcName("vcname"); | 1188 const std::string kVcName("vcname"); |
| 1189 cricket::VideoChannel video_channel( | 1189 cricket::VideoChannel video_channel( |
| 1190 worker_thread_, network_thread_, media_channel, nullptr, kVcName, | 1190 worker_thread_, network_thread_, nullptr, media_channel, kVcName, |
| 1191 kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1191 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1192 AddOutgoingVideoTrackStats(); | 1192 AddOutgoingVideoTrackStats(); |
| 1193 stats.AddStream(stream_); | 1193 stats.AddStream(stream_); |
| 1194 | 1194 |
| 1195 // Instruct the session to return stats containing the transport channel. | 1195 // Instruct the session to return stats containing the transport channel. |
| 1196 InitSessionStats(kVcName); | 1196 InitSessionStats(kVcName); |
| 1197 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1197 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1198 [this](const ChannelNamePairs&) { | 1198 [this](const ChannelNamePairs&) { |
| 1199 return std::unique_ptr<SessionStats>( | 1199 return std::unique_ptr<SessionStats>( |
| 1200 new SessionStats(session_stats_)); | 1200 new SessionStats(session_stats_)); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1240 const char kVideoChannelName[] = "video"; | 1240 const char kVideoChannelName[] = "video"; |
| 1241 InitSessionStats(kVideoChannelName); | 1241 InitSessionStats(kVideoChannelName); |
| 1242 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1242 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1243 [this](const ChannelNamePairs&) { | 1243 [this](const ChannelNamePairs&) { |
| 1244 return std::unique_ptr<SessionStats>( | 1244 return std::unique_ptr<SessionStats>( |
| 1245 new SessionStats(session_stats_)); | 1245 new SessionStats(session_stats_)); |
| 1246 })); | 1246 })); |
| 1247 | 1247 |
| 1248 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1248 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1249 cricket::VideoChannel video_channel( | 1249 cricket::VideoChannel video_channel( |
| 1250 worker_thread_, network_thread_, media_channel, nullptr, | 1250 worker_thread_, network_thread_, nullptr, media_channel, |
| 1251 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1251 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1252 AddIncomingVideoTrackStats(); | 1252 AddIncomingVideoTrackStats(); |
| 1253 stats.AddStream(stream_); | 1253 stats.AddStream(stream_); |
| 1254 | 1254 |
| 1255 // Constructs an ssrc stats update. | 1255 // Constructs an ssrc stats update. |
| 1256 cricket::VideoReceiverInfo video_receiver_info; | 1256 cricket::VideoReceiverInfo video_receiver_info; |
| 1257 cricket::VideoMediaInfo stats_read; | 1257 cricket::VideoMediaInfo stats_read; |
| 1258 const int64_t kNumOfPacketsConcealed = 54321; | 1258 const int64_t kNumOfPacketsConcealed = 54321; |
| 1259 | 1259 |
| 1260 // Construct a stats value to read. | 1260 // Construct a stats value to read. |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1553 | 1553 |
| 1554 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1554 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1555 .WillRepeatedly(Return(false)); | 1555 .WillRepeatedly(Return(false)); |
| 1556 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1556 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1557 .WillRepeatedly(Return(nullptr)); | 1557 .WillRepeatedly(Return(nullptr)); |
| 1558 | 1558 |
| 1559 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1559 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1560 // The transport_name known by the voice channel. | 1560 // The transport_name known by the voice channel. |
| 1561 const std::string kVcName("vcname"); | 1561 const std::string kVcName("vcname"); |
| 1562 cricket::VoiceChannel voice_channel( | 1562 cricket::VoiceChannel voice_channel( |
| 1563 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1563 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1564 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1564 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1565 | 1565 |
| 1566 // Create a local stream with a local audio track and adds it to the stats. | 1566 // Create a local stream with a local audio track and adds it to the stats. |
| 1567 if (stream_ == NULL) | 1567 if (stream_ == NULL) |
| 1568 stream_ = webrtc::MediaStream::Create("streamlabel"); | 1568 stream_ = webrtc::MediaStream::Create("streamlabel"); |
| 1569 | 1569 |
| 1570 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( | 1570 rtc::scoped_refptr<FakeAudioTrackWithInitValue> local_track( |
| 1571 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); | 1571 new rtc::RefCountedObject<FakeAudioTrackWithInitValue>(kLocalTrackId)); |
| 1572 stream_->AddTrack(local_track); | 1572 stream_->AddTrack(local_track); |
| 1573 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) | 1573 EXPECT_CALL(session_, GetLocalTrackIdBySsrc(kSsrcOfTrack, _)) |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1663 | 1663 |
| 1664 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1664 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1665 .WillRepeatedly(Return(false)); | 1665 .WillRepeatedly(Return(false)); |
| 1666 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1666 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1667 .WillRepeatedly(Return(nullptr)); | 1667 .WillRepeatedly(Return(nullptr)); |
| 1668 | 1668 |
| 1669 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1669 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1670 // The transport_name known by the voice channel. | 1670 // The transport_name known by the voice channel. |
| 1671 const std::string kVcName("vcname"); | 1671 const std::string kVcName("vcname"); |
| 1672 cricket::VoiceChannel voice_channel( | 1672 cricket::VoiceChannel voice_channel( |
| 1673 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1673 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1674 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1674 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1675 AddOutgoingAudioTrackStats(); | 1675 AddOutgoingAudioTrackStats(); |
| 1676 stats.AddStream(stream_); | 1676 stats.AddStream(stream_); |
| 1677 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1677 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
| 1678 | 1678 |
| 1679 cricket::VoiceSenderInfo voice_sender_info; | 1679 cricket::VoiceSenderInfo voice_sender_info; |
| 1680 InitVoiceSenderInfo(&voice_sender_info); | 1680 InitVoiceSenderInfo(&voice_sender_info); |
| 1681 | 1681 |
| 1682 cricket::VoiceMediaInfo stats_read; | 1682 cricket::VoiceMediaInfo stats_read; |
| 1683 StatsReports reports; // returned values. | 1683 StatsReports reports; // returned values. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1699 | 1699 |
| 1700 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1700 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1701 .WillRepeatedly(Return(false)); | 1701 .WillRepeatedly(Return(false)); |
| 1702 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1702 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1703 .WillRepeatedly(Return(nullptr)); | 1703 .WillRepeatedly(Return(nullptr)); |
| 1704 | 1704 |
| 1705 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1705 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1706 // The transport_name known by the voice channel. | 1706 // The transport_name known by the voice channel. |
| 1707 const std::string kVcName("vcname"); | 1707 const std::string kVcName("vcname"); |
| 1708 cricket::VoiceChannel voice_channel( | 1708 cricket::VoiceChannel voice_channel( |
| 1709 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1709 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1710 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1710 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1711 AddIncomingAudioTrackStats(); | 1711 AddIncomingAudioTrackStats(); |
| 1712 stats.AddStream(stream_); | 1712 stats.AddStream(stream_); |
| 1713 | 1713 |
| 1714 cricket::VoiceReceiverInfo voice_receiver_info; | 1714 cricket::VoiceReceiverInfo voice_receiver_info; |
| 1715 InitVoiceReceiverInfo(&voice_receiver_info); | 1715 InitVoiceReceiverInfo(&voice_receiver_info); |
| 1716 voice_receiver_info.codec_name = "fake_codec"; | 1716 voice_receiver_info.codec_name = "fake_codec"; |
| 1717 | 1717 |
| 1718 cricket::VoiceMediaInfo stats_read; | 1718 cricket::VoiceMediaInfo stats_read; |
| 1719 StatsReports reports; // returned values. | 1719 StatsReports reports; // returned values. |
| 1720 SetupAndVerifyAudioTrackStats( | 1720 SetupAndVerifyAudioTrackStats( |
| 1721 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1721 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, |
| 1722 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); | 1722 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); |
| 1723 } | 1723 } |
| 1724 | 1724 |
| 1725 // This test verifies that a local stats object won't update its statistics | 1725 // This test verifies that a local stats object won't update its statistics |
| 1726 // after a RemoveLocalAudioTrack() call. | 1726 // after a RemoveLocalAudioTrack() call. |
| 1727 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { | 1727 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { |
| 1728 StatsCollectorForTest stats(&pc_); | 1728 StatsCollectorForTest stats(&pc_); |
| 1729 | 1729 |
| 1730 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1730 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1731 .WillRepeatedly(Return(false)); | 1731 .WillRepeatedly(Return(false)); |
| 1732 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1732 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1733 .WillRepeatedly(Return(nullptr)); | 1733 .WillRepeatedly(Return(nullptr)); |
| 1734 | 1734 |
| 1735 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1735 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1736 // The transport_name known by the voice channel. | 1736 // The transport_name known by the voice channel. |
| 1737 const std::string kVcName("vcname"); | 1737 const std::string kVcName("vcname"); |
| 1738 cricket::VoiceChannel voice_channel( | 1738 cricket::VoiceChannel voice_channel( |
| 1739 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1739 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1740 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1740 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1741 AddOutgoingAudioTrackStats(); | 1741 AddOutgoingAudioTrackStats(); |
| 1742 stats.AddStream(stream_); | 1742 stats.AddStream(stream_); |
| 1743 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1743 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
| 1744 | 1744 |
| 1745 // Instruct the session to return stats containing the transport channel. | 1745 // Instruct the session to return stats containing the transport channel. |
| 1746 InitSessionStats(kVcName); | 1746 InitSessionStats(kVcName); |
| 1747 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1747 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1748 [this](const ChannelNamePairs&) { | 1748 [this](const ChannelNamePairs&) { |
| 1749 return std::unique_ptr<SessionStats>( | 1749 return std::unique_ptr<SessionStats>( |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1793 | 1793 |
| 1794 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1794 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1795 .WillRepeatedly(Return(false)); | 1795 .WillRepeatedly(Return(false)); |
| 1796 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1796 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1797 .WillRepeatedly(Return(nullptr)); | 1797 .WillRepeatedly(Return(nullptr)); |
| 1798 | 1798 |
| 1799 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1799 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1800 // The transport_name known by the voice channel. | 1800 // The transport_name known by the voice channel. |
| 1801 const std::string kVcName("vcname"); | 1801 const std::string kVcName("vcname"); |
| 1802 cricket::VoiceChannel voice_channel( | 1802 cricket::VoiceChannel voice_channel( |
| 1803 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1803 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1804 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1804 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1805 | 1805 |
| 1806 // Create a local stream with a local audio track and adds it to the stats. | 1806 // Create a local stream with a local audio track and adds it to the stats. |
| 1807 AddOutgoingAudioTrackStats(); | 1807 AddOutgoingAudioTrackStats(); |
| 1808 stats.AddStream(stream_); | 1808 stats.AddStream(stream_); |
| 1809 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); | 1809 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); |
| 1810 | 1810 |
| 1811 // Create a remote stream with a remote audio track and adds it to the stats. | 1811 // Create a remote stream with a remote audio track and adds it to the stats. |
| 1812 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( | 1812 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( |
| 1813 webrtc::MediaStream::Create("remotestreamlabel")); | 1813 webrtc::MediaStream::Create("remotestreamlabel")); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1883 | 1883 |
| 1884 EXPECT_CALL(session_, GetLocalCertificate(_, _)) | 1884 EXPECT_CALL(session_, GetLocalCertificate(_, _)) |
| 1885 .WillRepeatedly(Return(false)); | 1885 .WillRepeatedly(Return(false)); |
| 1886 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 1886 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 1887 .WillRepeatedly(Return(nullptr)); | 1887 .WillRepeatedly(Return(nullptr)); |
| 1888 | 1888 |
| 1889 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); | 1889 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); |
| 1890 // The transport_name known by the voice channel. | 1890 // The transport_name known by the voice channel. |
| 1891 const std::string kVcName("vcname"); | 1891 const std::string kVcName("vcname"); |
| 1892 cricket::VoiceChannel voice_channel( | 1892 cricket::VoiceChannel voice_channel( |
| 1893 worker_thread_, network_thread_, media_engine_, media_channel, nullptr, | 1893 worker_thread_, network_thread_, nullptr, media_engine_, media_channel, |
| 1894 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1894 kVcName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1895 | 1895 |
| 1896 // Create a local stream with a local audio track and adds it to the stats. | 1896 // Create a local stream with a local audio track and adds it to the stats. |
| 1897 AddOutgoingAudioTrackStats(); | 1897 AddOutgoingAudioTrackStats(); |
| 1898 stats.AddStream(stream_); | 1898 stats.AddStream(stream_); |
| 1899 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); | 1899 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); |
| 1900 | 1900 |
| 1901 cricket::VoiceSenderInfo voice_sender_info; | 1901 cricket::VoiceSenderInfo voice_sender_info; |
| 1902 voice_sender_info.add_ssrc(kSsrcOfTrack); | 1902 voice_sender_info.add_ssrc(kSsrcOfTrack); |
| 1903 | 1903 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1943 | 1943 |
| 1944 InitSessionStats(kVideoChannelName); | 1944 InitSessionStats(kVideoChannelName); |
| 1945 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1945 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1946 [this](const ChannelNamePairs&) { | 1946 [this](const ChannelNamePairs&) { |
| 1947 return std::unique_ptr<SessionStats>( | 1947 return std::unique_ptr<SessionStats>( |
| 1948 new SessionStats(session_stats_)); | 1948 new SessionStats(session_stats_)); |
| 1949 })); | 1949 })); |
| 1950 | 1950 |
| 1951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 1952 cricket::VideoChannel video_channel( | 1952 cricket::VideoChannel video_channel( |
| 1953 worker_thread_, network_thread_, media_channel, nullptr, | 1953 worker_thread_, network_thread_, nullptr, media_channel, |
| 1954 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 1954 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 1955 StatsReports reports; // returned values. | 1955 StatsReports reports; // returned values. |
| 1956 cricket::VideoSenderInfo video_sender_info; | 1956 cricket::VideoSenderInfo video_sender_info; |
| 1957 cricket::VideoMediaInfo stats_read; | 1957 cricket::VideoMediaInfo stats_read; |
| 1958 | 1958 |
| 1959 AddOutgoingVideoTrackStats(); | 1959 AddOutgoingVideoTrackStats(); |
| 1960 stats.AddStream(stream_); | 1960 stats.AddStream(stream_); |
| 1961 | 1961 |
| 1962 // Construct a stats value to read. | 1962 // Construct a stats value to read. |
| 1963 video_sender_info.add_ssrc(1234); | 1963 video_sender_info.add_ssrc(1234); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1991 | 1991 |
| 1992 InitSessionStats(kVideoChannelName); | 1992 InitSessionStats(kVideoChannelName); |
| 1993 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( | 1993 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(Invoke( |
| 1994 [this](const ChannelNamePairs&) { | 1994 [this](const ChannelNamePairs&) { |
| 1995 return std::unique_ptr<SessionStats>( | 1995 return std::unique_ptr<SessionStats>( |
| 1996 new SessionStats(session_stats_)); | 1996 new SessionStats(session_stats_)); |
| 1997 })); | 1997 })); |
| 1998 | 1998 |
| 1999 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); | 1999 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); |
| 2000 cricket::VideoChannel video_channel( | 2000 cricket::VideoChannel video_channel( |
| 2001 worker_thread_, network_thread_, media_channel, nullptr, | 2001 worker_thread_, network_thread_, nullptr, media_channel, |
| 2002 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); | 2002 kVideoChannelName, kDefaultRtcpEnabled, kDefaultSrtpRequired); |
| 2003 StatsReports reports; // returned values. | 2003 StatsReports reports; // returned values. |
| 2004 cricket::VideoReceiverInfo video_receiver_info; | 2004 cricket::VideoReceiverInfo video_receiver_info; |
| 2005 cricket::VideoMediaInfo stats_read; | 2005 cricket::VideoMediaInfo stats_read; |
| 2006 | 2006 |
| 2007 AddIncomingVideoTrackStats(); | 2007 AddIncomingVideoTrackStats(); |
| 2008 stats.AddStream(stream_); | 2008 stats.AddStream(stream_); |
| 2009 | 2009 |
| 2010 // Construct a stats value to read. | 2010 // Construct a stats value to read. |
| 2011 video_receiver_info.add_ssrc(1234); | 2011 video_receiver_info.add_ssrc(1234); |
| 2012 video_receiver_info.frames_decoded = 10; | 2012 video_receiver_info.frames_decoded = 10; |
| 2013 stats_read.receivers.push_back(video_receiver_info); | 2013 stats_read.receivers.push_back(video_receiver_info); |
| 2014 | 2014 |
| 2015 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); | 2015 EXPECT_CALL(session_, video_channel()).WillRepeatedly(Return(&video_channel)); |
| 2016 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 2016 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
| 2017 EXPECT_CALL(*media_channel, GetStats(_)) | 2017 EXPECT_CALL(*media_channel, GetStats(_)) |
| 2018 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); | 2018 .WillOnce(DoAll(SetArgPointee<0>(stats_read), Return(true))); |
| 2019 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 2019 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
| 2020 stats.GetStats(NULL, &reports); | 2020 stats.GetStats(NULL, &reports); |
| 2021 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), | 2021 EXPECT_EQ(rtc::ToString(video_receiver_info.frames_decoded), |
| 2022 ExtractSsrcStatsValue(reports, | 2022 ExtractSsrcStatsValue(reports, |
| 2023 StatsReport::kStatsValueNameFramesDecoded)); | 2023 StatsReport::kStatsValueNameFramesDecoded)); |
| 2024 } | 2024 } |
| 2025 | 2025 |
| 2026 } // namespace webrtc | 2026 } // namespace webrtc |
| OLD | NEW |