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 kDefaultRtcpMuxRequired = true; | 104 const bool kDefaultRtcpEnabled = false; |
105 const bool kDefaultSrtpRequired = true; | 105 const bool kDefaultSrtpRequired = true; |
106 | 106 |
107 struct CertificateInfo { | 107 struct CertificateInfo { |
108 rtc::scoped_refptr<rtc::RTCCertificate> certificate; | 108 rtc::scoped_refptr<rtc::RTCCertificate> certificate; |
109 std::vector<std::string> ders; | 109 std::vector<std::string> ders; |
110 std::vector<std::string> pems; | 110 std::vector<std::string> pems; |
111 std::vector<std::string> fingerprints; | 111 std::vector<std::string> fingerprints; |
112 }; | 112 }; |
113 | 113 |
114 std::unique_ptr<CertificateInfo> CreateFakeCertificateAndInfoFromDers( | 114 std::unique_ptr<CertificateInfo> CreateFakeCertificateAndInfoFromDers( |
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 591 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
592 ExpectReportContainsCertificateInfo(report, *local_certinfo); | 592 ExpectReportContainsCertificateInfo(report, *local_certinfo); |
593 ExpectReportContainsCertificateInfo(report, *remote_certinfo); | 593 ExpectReportContainsCertificateInfo(report, *remote_certinfo); |
594 } | 594 } |
595 | 595 |
596 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { | 596 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { |
597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
598 cricket::VoiceChannel voice_channel( | 598 cricket::VoiceChannel voice_channel( |
599 test_->worker_thread(), test_->network_thread(), nullptr, | 599 test_->worker_thread(), test_->network_thread(), nullptr, |
600 test_->media_engine(), voice_media_channel, "VoiceContentName", | 600 test_->media_engine(), voice_media_channel, "VoiceContentName", |
601 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 601 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
602 | 602 |
603 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 603 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
604 cricket::VideoChannel video_channel( | 604 cricket::VideoChannel video_channel( |
605 test_->worker_thread(), test_->network_thread(), nullptr, | 605 test_->worker_thread(), test_->network_thread(), nullptr, |
606 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 606 video_media_channel, "VideoContentName", kDefaultRtcpEnabled, |
607 kDefaultSrtpRequired); | 607 kDefaultSrtpRequired); |
608 | 608 |
609 // Audio | 609 // Audio |
610 cricket::VoiceMediaInfo voice_media_info; | 610 cricket::VoiceMediaInfo voice_media_info; |
611 | 611 |
612 RtpCodecParameters inbound_audio_codec; | 612 RtpCodecParameters inbound_audio_codec; |
613 inbound_audio_codec.payload_type = 1; | 613 inbound_audio_codec.payload_type = 1; |
614 inbound_audio_codec.mime_type = "opus"; | 614 inbound_audio_codec.mime_type = "opus"; |
615 inbound_audio_codec.clock_rate = 1337; | 615 inbound_audio_codec.clock_rate = 1337; |
616 voice_media_info.receive_codecs.insert( | 616 voice_media_info.receive_codecs.insert( |
(...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1439 EXPECT_EQ(expected_remote_video_track, | 1439 EXPECT_EQ(expected_remote_video_track, |
1440 report->Get(expected_remote_video_track.id())->cast_to< | 1440 report->Get(expected_remote_video_track.id())->cast_to< |
1441 RTCMediaStreamTrackStats>()); | 1441 RTCMediaStreamTrackStats>()); |
1442 } | 1442 } |
1443 | 1443 |
1444 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { | 1444 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { |
1445 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1445 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1446 cricket::VoiceChannel voice_channel( | 1446 cricket::VoiceChannel voice_channel( |
1447 test_->worker_thread(), test_->network_thread(), nullptr, | 1447 test_->worker_thread(), test_->network_thread(), nullptr, |
1448 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1448 test_->media_engine(), voice_media_channel, "VoiceContentName", |
1449 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1449 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1450 | 1450 |
1451 cricket::VoiceMediaInfo voice_media_info; | 1451 cricket::VoiceMediaInfo voice_media_info; |
1452 | 1452 |
1453 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); | 1453 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); |
1454 voice_media_info.receivers[0].local_stats.push_back( | 1454 voice_media_info.receivers[0].local_stats.push_back( |
1455 cricket::SsrcReceiverInfo()); | 1455 cricket::SsrcReceiverInfo()); |
1456 voice_media_info.receivers[0].local_stats[0].ssrc = 1; | 1456 voice_media_info.receivers[0].local_stats[0].ssrc = 1; |
1457 voice_media_info.receivers[0].packets_lost = 42; | 1457 voice_media_info.receivers[0].packets_lost = 42; |
1458 voice_media_info.receivers[0].packets_rcvd = 2; | 1458 voice_media_info.receivers[0].packets_rcvd = 2; |
1459 voice_media_info.receivers[0].bytes_rcvd = 3; | 1459 voice_media_info.receivers[0].bytes_rcvd = 3; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1511 EXPECT_EQ(audio, expected_audio); | 1511 EXPECT_EQ(audio, expected_audio); |
1512 | 1512 |
1513 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); | 1513 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); |
1514 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); | 1514 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); |
1515 } | 1515 } |
1516 | 1516 |
1517 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { | 1517 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { |
1518 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1518 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1519 cricket::VideoChannel video_channel( | 1519 cricket::VideoChannel video_channel( |
1520 test_->worker_thread(), test_->network_thread(), nullptr, | 1520 test_->worker_thread(), test_->network_thread(), nullptr, |
1521 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1521 video_media_channel, "VideoContentName", kDefaultRtcpEnabled, |
1522 kDefaultSrtpRequired); | 1522 kDefaultSrtpRequired); |
1523 | 1523 |
1524 cricket::VideoMediaInfo video_media_info; | 1524 cricket::VideoMediaInfo video_media_info; |
1525 | 1525 |
1526 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); | 1526 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); |
1527 video_media_info.receivers[0].local_stats.push_back( | 1527 video_media_info.receivers[0].local_stats.push_back( |
1528 cricket::SsrcReceiverInfo()); | 1528 cricket::SsrcReceiverInfo()); |
1529 video_media_info.receivers[0].local_stats[0].ssrc = 1; | 1529 video_media_info.receivers[0].local_stats[0].ssrc = 1; |
1530 video_media_info.receivers[0].packets_rcvd = 2; | 1530 video_media_info.receivers[0].packets_rcvd = 2; |
1531 video_media_info.receivers[0].packets_lost = 42; | 1531 video_media_info.receivers[0].packets_lost = 42; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1591 | 1591 |
1592 ASSERT_TRUE(report->Get(*expected_video.transport_id)); | 1592 ASSERT_TRUE(report->Get(*expected_video.transport_id)); |
1593 ASSERT_TRUE(report->Get(*video.codec_id)); | 1593 ASSERT_TRUE(report->Get(*video.codec_id)); |
1594 } | 1594 } |
1595 | 1595 |
1596 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { | 1596 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { |
1597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1598 cricket::VoiceChannel voice_channel( | 1598 cricket::VoiceChannel voice_channel( |
1599 test_->worker_thread(), test_->network_thread(), nullptr, | 1599 test_->worker_thread(), test_->network_thread(), nullptr, |
1600 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1600 test_->media_engine(), voice_media_channel, "VoiceContentName", |
1601 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1601 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1602 | 1602 |
1603 cricket::VoiceMediaInfo voice_media_info; | 1603 cricket::VoiceMediaInfo voice_media_info; |
1604 | 1604 |
1605 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1605 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
1606 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1606 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1607 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1607 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
1608 voice_media_info.senders[0].packets_sent = 2; | 1608 voice_media_info.senders[0].packets_sent = 2; |
1609 voice_media_info.senders[0].bytes_sent = 3; | 1609 voice_media_info.senders[0].bytes_sent = 3; |
1610 voice_media_info.senders[0].rtt_ms = 4500; | 1610 voice_media_info.senders[0].rtt_ms = 4500; |
1611 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1611 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1658 EXPECT_EQ(audio, expected_audio); | 1658 EXPECT_EQ(audio, expected_audio); |
1659 | 1659 |
1660 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); | 1660 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); |
1661 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); | 1661 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); |
1662 } | 1662 } |
1663 | 1663 |
1664 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { | 1664 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { |
1665 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1665 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1666 cricket::VideoChannel video_channel( | 1666 cricket::VideoChannel video_channel( |
1667 test_->worker_thread(), test_->network_thread(), nullptr, | 1667 test_->worker_thread(), test_->network_thread(), nullptr, |
1668 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1668 video_media_channel, "VideoContentName", kDefaultRtcpEnabled, |
1669 kDefaultSrtpRequired); | 1669 kDefaultSrtpRequired); |
1670 | 1670 |
1671 cricket::VideoMediaInfo video_media_info; | 1671 cricket::VideoMediaInfo video_media_info; |
1672 | 1672 |
1673 video_media_info.senders.push_back(cricket::VideoSenderInfo()); | 1673 video_media_info.senders.push_back(cricket::VideoSenderInfo()); |
1674 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1674 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1675 video_media_info.senders[0].local_stats[0].ssrc = 1; | 1675 video_media_info.senders[0].local_stats[0].ssrc = 1; |
1676 video_media_info.senders[0].firs_rcvd = 2; | 1676 video_media_info.senders[0].firs_rcvd = 2; |
1677 video_media_info.senders[0].plis_rcvd = 3; | 1677 video_media_info.senders[0].plis_rcvd = 3; |
1678 video_media_info.senders[0].nacks_rcvd = 4; | 1678 video_media_info.senders[0].nacks_rcvd = 4; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1737 | 1737 |
1738 ASSERT_TRUE(report->Get(*expected_video.transport_id)); | 1738 ASSERT_TRUE(report->Get(*expected_video.transport_id)); |
1739 ASSERT_TRUE(report->Get(*expected_video.codec_id)); | 1739 ASSERT_TRUE(report->Get(*expected_video.codec_id)); |
1740 } | 1740 } |
1741 | 1741 |
1742 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { | 1742 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { |
1743 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1743 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1744 cricket::VoiceChannel voice_channel( | 1744 cricket::VoiceChannel voice_channel( |
1745 test_->worker_thread(), test_->network_thread(), nullptr, | 1745 test_->worker_thread(), test_->network_thread(), nullptr, |
1746 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1746 test_->media_engine(), voice_media_channel, "VoiceContentName", |
1747 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1747 kDefaultRtcpEnabled, kDefaultSrtpRequired); |
1748 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1748 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1749 cricket::VideoChannel video_channel( | 1749 cricket::VideoChannel video_channel( |
1750 test_->worker_thread(), test_->network_thread(), nullptr, | 1750 test_->worker_thread(), test_->network_thread(), nullptr, |
1751 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1751 video_media_channel, "VideoContentName", kDefaultRtcpEnabled, |
1752 kDefaultSrtpRequired); | 1752 kDefaultSrtpRequired); |
1753 | 1753 |
1754 cricket::VoiceMediaInfo voice_media_info; | 1754 cricket::VoiceMediaInfo voice_media_info; |
1755 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1755 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
1756 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1756 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1757 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1757 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
1758 voice_media_info.senders[0].packets_sent = 2; | 1758 voice_media_info.senders[0].packets_sent = 2; |
1759 voice_media_info.senders[0].bytes_sent = 3; | 1759 voice_media_info.senders[0].bytes_sent = 3; |
1760 voice_media_info.senders[0].rtt_ms = -1; | 1760 voice_media_info.senders[0].rtt_ms = -1; |
1761 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1761 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2011 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; | 2011 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; |
2012 }; | 2012 }; |
2013 | 2013 |
2014 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { | 2014 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { |
2015 collector_->VerifyThreadUsageAndResultsMerging(); | 2015 collector_->VerifyThreadUsageAndResultsMerging(); |
2016 } | 2016 } |
2017 | 2017 |
2018 } // namespace | 2018 } // namespace |
2019 | 2019 |
2020 } // namespace webrtc | 2020 } // namespace webrtc |
OLD | NEW |