OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2016 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 *os << stats.ToString(); | 94 *os << stats.ToString(); |
95 } | 95 } |
96 | 96 |
97 void PrintTo(const RTCTransportStats& stats, ::std::ostream* os) { | 97 void PrintTo(const RTCTransportStats& stats, ::std::ostream* os) { |
98 *os << stats.ToString(); | 98 *os << stats.ToString(); |
99 } | 99 } |
100 | 100 |
101 namespace { | 101 namespace { |
102 | 102 |
103 const int64_t kGetStatsReportTimeoutMs = 1000; | 103 const int64_t kGetStatsReportTimeoutMs = 1000; |
| 104 const bool kDefaultRtcpEnabled = false; |
| 105 const bool kDefaultSrtpRequired = true; |
104 | 106 |
105 struct CertificateInfo { | 107 struct CertificateInfo { |
106 rtc::scoped_refptr<rtc::RTCCertificate> certificate; | 108 rtc::scoped_refptr<rtc::RTCCertificate> certificate; |
107 std::vector<std::string> ders; | 109 std::vector<std::string> ders; |
108 std::vector<std::string> pems; | 110 std::vector<std::string> pems; |
109 std::vector<std::string> fingerprints; | 111 std::vector<std::string> fingerprints; |
110 }; | 112 }; |
111 | 113 |
112 std::unique_ptr<CertificateInfo> CreateFakeCertificateAndInfoFromDers( | 114 std::unique_ptr<CertificateInfo> CreateFakeCertificateAndInfoFromDers( |
113 const std::vector<std::string>& ders) { | 115 const std::vector<std::string>& ders) { |
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 | 652 |
651 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 653 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
652 ExpectReportContainsCertificateInfo(report, *local_certinfo.get()); | 654 ExpectReportContainsCertificateInfo(report, *local_certinfo.get()); |
653 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get()); | 655 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get()); |
654 } | 656 } |
655 | 657 |
656 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { | 658 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { |
657 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 659 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
658 cricket::VoiceChannel voice_channel( | 660 cricket::VoiceChannel voice_channel( |
659 test_->worker_thread(), test_->network_thread(), test_->media_engine(), | 661 test_->worker_thread(), test_->network_thread(), test_->media_engine(), |
660 voice_media_channel, nullptr, "VoiceContentName", false); | 662 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, |
| 663 kDefaultSrtpRequired); |
661 | 664 |
662 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 665 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
663 cricket::VideoChannel video_channel( | 666 cricket::VideoChannel video_channel( |
664 test_->worker_thread(), test_->network_thread(), video_media_channel, | 667 test_->worker_thread(), test_->network_thread(), video_media_channel, |
665 nullptr, "VideoContentName", false); | 668 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired); |
666 | 669 |
667 // Audio | 670 // Audio |
668 cricket::VoiceMediaInfo voice_media_info; | 671 cricket::VoiceMediaInfo voice_media_info; |
669 | 672 |
670 RtpCodecParameters inbound_audio_codec; | 673 RtpCodecParameters inbound_audio_codec; |
671 inbound_audio_codec.payload_type = 1; | 674 inbound_audio_codec.payload_type = 1; |
672 inbound_audio_codec.mime_type = "opus"; | 675 inbound_audio_codec.mime_type = "opus"; |
673 inbound_audio_codec.clock_rate = 1337; | 676 inbound_audio_codec.clock_rate = 1337; |
674 voice_media_info.receive_codecs.insert( | 677 voice_media_info.receive_codecs.insert( |
675 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); | 678 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1296 EXPECT_TRUE(report->Get(expected_remote_video_track.id())); | 1299 EXPECT_TRUE(report->Get(expected_remote_video_track.id())); |
1297 EXPECT_EQ(expected_remote_video_track, | 1300 EXPECT_EQ(expected_remote_video_track, |
1298 report->Get(expected_remote_video_track.id())->cast_to< | 1301 report->Get(expected_remote_video_track.id())->cast_to< |
1299 RTCMediaStreamTrackStats>()); | 1302 RTCMediaStreamTrackStats>()); |
1300 } | 1303 } |
1301 | 1304 |
1302 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { | 1305 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { |
1303 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1306 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1304 cricket::VoiceChannel voice_channel( | 1307 cricket::VoiceChannel voice_channel( |
1305 test_->worker_thread(), test_->network_thread(), test_->media_engine(), | 1308 test_->worker_thread(), test_->network_thread(), test_->media_engine(), |
1306 voice_media_channel, nullptr, "VoiceContentName", false); | 1309 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, |
| 1310 kDefaultSrtpRequired); |
1307 | 1311 |
1308 cricket::VoiceMediaInfo voice_media_info; | 1312 cricket::VoiceMediaInfo voice_media_info; |
1309 | 1313 |
1310 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); | 1314 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); |
1311 voice_media_info.receivers[0].local_stats.push_back( | 1315 voice_media_info.receivers[0].local_stats.push_back( |
1312 cricket::SsrcReceiverInfo()); | 1316 cricket::SsrcReceiverInfo()); |
1313 voice_media_info.receivers[0].local_stats[0].ssrc = 1; | 1317 voice_media_info.receivers[0].local_stats[0].ssrc = 1; |
1314 voice_media_info.receivers[0].packets_rcvd = 2; | 1318 voice_media_info.receivers[0].packets_rcvd = 2; |
1315 voice_media_info.receivers[0].bytes_rcvd = 3; | 1319 voice_media_info.receivers[0].bytes_rcvd = 3; |
1316 voice_media_info.receivers[0].codec_payload_type = rtc::Optional<int>(42); | 1320 voice_media_info.receivers[0].codec_payload_type = rtc::Optional<int>(42); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1364 EXPECT_EQ(audio, expected_audio); | 1368 EXPECT_EQ(audio, expected_audio); |
1365 | 1369 |
1366 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); | 1370 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); |
1367 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); | 1371 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); |
1368 } | 1372 } |
1369 | 1373 |
1370 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { | 1374 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { |
1371 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1375 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1372 cricket::VideoChannel video_channel( | 1376 cricket::VideoChannel video_channel( |
1373 test_->worker_thread(), test_->network_thread(), video_media_channel, | 1377 test_->worker_thread(), test_->network_thread(), video_media_channel, |
1374 nullptr, "VideoContentName", false); | 1378 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1375 | 1379 |
1376 cricket::VideoMediaInfo video_media_info; | 1380 cricket::VideoMediaInfo video_media_info; |
1377 | 1381 |
1378 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); | 1382 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); |
1379 video_media_info.receivers[0].local_stats.push_back( | 1383 video_media_info.receivers[0].local_stats.push_back( |
1380 cricket::SsrcReceiverInfo()); | 1384 cricket::SsrcReceiverInfo()); |
1381 video_media_info.receivers[0].local_stats[0].ssrc = 1; | 1385 video_media_info.receivers[0].local_stats[0].ssrc = 1; |
1382 video_media_info.receivers[0].packets_rcvd = 2; | 1386 video_media_info.receivers[0].packets_rcvd = 2; |
1383 video_media_info.receivers[0].bytes_rcvd = 3; | 1387 video_media_info.receivers[0].bytes_rcvd = 3; |
1384 video_media_info.receivers[0].fraction_lost = 4.5f; | 1388 video_media_info.receivers[0].fraction_lost = 4.5f; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1436 EXPECT_EQ(video, expected_video); | 1440 EXPECT_EQ(video, expected_video); |
1437 | 1441 |
1438 EXPECT_TRUE(report->Get(*expected_video.transport_id)); | 1442 EXPECT_TRUE(report->Get(*expected_video.transport_id)); |
1439 EXPECT_TRUE(report->Get(*video.codec_id)); | 1443 EXPECT_TRUE(report->Get(*video.codec_id)); |
1440 } | 1444 } |
1441 | 1445 |
1442 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { | 1446 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { |
1443 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1447 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1444 cricket::VoiceChannel voice_channel( | 1448 cricket::VoiceChannel voice_channel( |
1445 test_->worker_thread(), test_->network_thread(), test_->media_engine(), | 1449 test_->worker_thread(), test_->network_thread(), test_->media_engine(), |
1446 voice_media_channel, nullptr, "VoiceContentName", false); | 1450 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, |
| 1451 kDefaultSrtpRequired); |
1447 | 1452 |
1448 cricket::VoiceMediaInfo voice_media_info; | 1453 cricket::VoiceMediaInfo voice_media_info; |
1449 | 1454 |
1450 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1455 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
1451 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1456 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1452 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1457 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
1453 voice_media_info.senders[0].packets_sent = 2; | 1458 voice_media_info.senders[0].packets_sent = 2; |
1454 voice_media_info.senders[0].bytes_sent = 3; | 1459 voice_media_info.senders[0].bytes_sent = 3; |
1455 voice_media_info.senders[0].rtt_ms = 4500; | 1460 voice_media_info.senders[0].rtt_ms = 4500; |
1456 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1461 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1501 EXPECT_EQ(audio, expected_audio); | 1506 EXPECT_EQ(audio, expected_audio); |
1502 | 1507 |
1503 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); | 1508 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); |
1504 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); | 1509 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); |
1505 } | 1510 } |
1506 | 1511 |
1507 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { | 1512 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { |
1508 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1513 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1509 cricket::VideoChannel video_channel( | 1514 cricket::VideoChannel video_channel( |
1510 test_->worker_thread(), test_->network_thread(), video_media_channel, | 1515 test_->worker_thread(), test_->network_thread(), video_media_channel, |
1511 nullptr, "VideoContentName", false); | 1516 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1512 | 1517 |
1513 cricket::VideoMediaInfo video_media_info; | 1518 cricket::VideoMediaInfo video_media_info; |
1514 | 1519 |
1515 video_media_info.senders.push_back(cricket::VideoSenderInfo()); | 1520 video_media_info.senders.push_back(cricket::VideoSenderInfo()); |
1516 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1521 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1517 video_media_info.senders[0].local_stats[0].ssrc = 1; | 1522 video_media_info.senders[0].local_stats[0].ssrc = 1; |
1518 video_media_info.senders[0].firs_rcvd = 2; | 1523 video_media_info.senders[0].firs_rcvd = 2; |
1519 video_media_info.senders[0].plis_rcvd = 3; | 1524 video_media_info.senders[0].plis_rcvd = 3; |
1520 video_media_info.senders[0].nacks_rcvd = 4; | 1525 video_media_info.senders[0].nacks_rcvd = 4; |
1521 video_media_info.senders[0].packets_sent = 5; | 1526 video_media_info.senders[0].packets_sent = 5; |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1746 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; | 1751 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; |
1747 }; | 1752 }; |
1748 | 1753 |
1749 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { | 1754 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { |
1750 collector_->VerifyThreadUsageAndResultsMerging(); | 1755 collector_->VerifyThreadUsageAndResultsMerging(); |
1751 } | 1756 } |
1752 | 1757 |
1753 } // namespace | 1758 } // namespace |
1754 | 1759 |
1755 } // namespace webrtc | 1760 } // namespace webrtc |
OLD | NEW |