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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 | 286 |
287 private: | 287 private: |
288 rtc::scoped_refptr<VideoTrackSourceInterface> source_; | 288 rtc::scoped_refptr<VideoTrackSourceInterface> source_; |
289 }; | 289 }; |
290 | 290 |
291 class RTCStatsCollectorTestHelper : public SetSessionDescriptionObserver { | 291 class RTCStatsCollectorTestHelper : public SetSessionDescriptionObserver { |
292 public: | 292 public: |
293 RTCStatsCollectorTestHelper() | 293 RTCStatsCollectorTestHelper() |
294 : worker_thread_(rtc::Thread::Current()), | 294 : worker_thread_(rtc::Thread::Current()), |
295 network_thread_(rtc::Thread::Current()), | 295 network_thread_(rtc::Thread::Current()), |
| 296 signaling_thread_(rtc::Thread::Current()), |
296 media_engine_(new cricket::FakeMediaEngine()), | 297 media_engine_(new cricket::FakeMediaEngine()), |
297 channel_manager_( | 298 channel_manager_(new cricket::ChannelManager(media_engine_, |
298 new cricket::ChannelManager(media_engine_, | 299 worker_thread_, |
299 worker_thread_, | 300 network_thread_)), |
300 network_thread_)), | |
301 media_controller_( | 301 media_controller_( |
302 MediaControllerInterface::Create(cricket::MediaConfig(), | 302 MediaControllerInterface::Create(cricket::MediaConfig(), |
303 worker_thread_, | 303 worker_thread_, |
304 channel_manager_.get(), | 304 channel_manager_.get(), |
305 &event_log_)), | 305 &event_log_)), |
306 session_(media_controller_.get()), | 306 session_(media_controller_.get()), |
307 pc_() { | 307 pc_() { |
308 // Default return values for mocks. | 308 // Default return values for mocks. |
309 EXPECT_CALL(pc_, local_streams()).WillRepeatedly(Return(nullptr)); | 309 EXPECT_CALL(pc_, local_streams()).WillRepeatedly(Return(nullptr)); |
310 EXPECT_CALL(pc_, remote_streams()).WillRepeatedly(Return(nullptr)); | 310 EXPECT_CALL(pc_, remote_streams()).WillRepeatedly(Return(nullptr)); |
311 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); | 311 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); |
312 EXPECT_CALL(pc_, sctp_data_channels()).WillRepeatedly( | 312 EXPECT_CALL(pc_, sctp_data_channels()).WillRepeatedly( |
313 ReturnRef(data_channels_)); | 313 ReturnRef(data_channels_)); |
314 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); | 314 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); |
315 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 315 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
316 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(ReturnNull()); | 316 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(ReturnNull()); |
317 EXPECT_CALL(session_, GetLocalCertificate(_, _)).WillRepeatedly( | 317 EXPECT_CALL(session_, GetLocalCertificate(_, _)).WillRepeatedly( |
318 Return(false)); | 318 Return(false)); |
319 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 319 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
320 .WillRepeatedly(Return(nullptr)); | 320 .WillRepeatedly(Return(nullptr)); |
321 } | 321 } |
322 | 322 |
323 rtc::ScopedFakeClock& fake_clock() { return fake_clock_; } | 323 rtc::ScopedFakeClock& fake_clock() { return fake_clock_; } |
324 rtc::Thread* worker_thread() { return worker_thread_; } | 324 rtc::Thread* worker_thread() { return worker_thread_; } |
325 rtc::Thread* network_thread() { return network_thread_; } | 325 rtc::Thread* network_thread() { return network_thread_; } |
| 326 rtc::Thread* signaling_thread() { return signaling_thread_; } |
326 cricket::FakeMediaEngine* media_engine() { return media_engine_; } | 327 cricket::FakeMediaEngine* media_engine() { return media_engine_; } |
327 MockWebRtcSession& session() { return session_; } | 328 MockWebRtcSession& session() { return session_; } |
328 MockPeerConnection& pc() { return pc_; } | 329 MockPeerConnection& pc() { return pc_; } |
329 std::vector<rtc::scoped_refptr<DataChannel>>& data_channels() { | 330 std::vector<rtc::scoped_refptr<DataChannel>>& data_channels() { |
330 return data_channels_; | 331 return data_channels_; |
331 } | 332 } |
332 | 333 |
333 // SetSessionDescriptionObserver overrides. | 334 // SetSessionDescriptionObserver overrides. |
334 void OnSuccess() override {} | 335 void OnSuccess() override {} |
335 void OnFailure(const std::string& error) override { | 336 void OnFailure(const std::string& error) override { |
336 RTC_NOTREACHED() << error; | 337 RTC_NOTREACHED() << error; |
337 } | 338 } |
338 | 339 |
339 private: | 340 private: |
340 rtc::ScopedFakeClock fake_clock_; | 341 rtc::ScopedFakeClock fake_clock_; |
341 RtcEventLogNullImpl event_log_; | 342 RtcEventLogNullImpl event_log_; |
342 rtc::Thread* const worker_thread_; | 343 rtc::Thread* const worker_thread_; |
343 rtc::Thread* const network_thread_; | 344 rtc::Thread* const network_thread_; |
| 345 rtc::Thread* const signaling_thread_; |
344 cricket::FakeMediaEngine* media_engine_; | 346 cricket::FakeMediaEngine* media_engine_; |
345 std::unique_ptr<cricket::ChannelManager> channel_manager_; | 347 std::unique_ptr<cricket::ChannelManager> channel_manager_; |
346 std::unique_ptr<MediaControllerInterface> media_controller_; | 348 std::unique_ptr<MediaControllerInterface> media_controller_; |
347 MockWebRtcSession session_; | 349 MockWebRtcSession session_; |
348 MockPeerConnection pc_; | 350 MockPeerConnection pc_; |
349 | 351 |
350 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; | 352 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; |
351 }; | 353 }; |
352 | 354 |
353 class RTCTestStats : public RTCStats { | 355 class RTCTestStats : public RTCStats { |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 })); | 591 })); |
590 | 592 |
591 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 593 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
592 ExpectReportContainsCertificateInfo(report, *local_certinfo); | 594 ExpectReportContainsCertificateInfo(report, *local_certinfo); |
593 ExpectReportContainsCertificateInfo(report, *remote_certinfo); | 595 ExpectReportContainsCertificateInfo(report, *remote_certinfo); |
594 } | 596 } |
595 | 597 |
596 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { | 598 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { |
597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 599 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
598 cricket::VoiceChannel voice_channel( | 600 cricket::VoiceChannel voice_channel( |
599 test_->worker_thread(), test_->network_thread(), nullptr, | 601 test_->worker_thread(), test_->network_thread(), |
600 test_->media_engine(), voice_media_channel, "VoiceContentName", | 602 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
601 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 603 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
602 | 604 |
603 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 605 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
604 cricket::VideoChannel video_channel( | 606 cricket::VideoChannel video_channel( |
605 test_->worker_thread(), test_->network_thread(), nullptr, | 607 test_->worker_thread(), test_->network_thread(), |
606 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 608 test_->signaling_thread(), video_media_channel, "VideoContentName", |
607 kDefaultSrtpRequired); | 609 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
608 | 610 |
609 // Audio | 611 // Audio |
610 cricket::VoiceMediaInfo voice_media_info; | 612 cricket::VoiceMediaInfo voice_media_info; |
611 | 613 |
612 RtpCodecParameters inbound_audio_codec; | 614 RtpCodecParameters inbound_audio_codec; |
613 inbound_audio_codec.payload_type = 1; | 615 inbound_audio_codec.payload_type = 1; |
614 inbound_audio_codec.mime_type = "opus"; | 616 inbound_audio_codec.mime_type = "opus"; |
615 inbound_audio_codec.clock_rate = 1337; | 617 inbound_audio_codec.clock_rate = 1337; |
616 voice_media_info.receive_codecs.insert( | 618 voice_media_info.receive_codecs.insert( |
617 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); | 619 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); |
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1437 expected_remote_video_track.frame_height = 4321; | 1439 expected_remote_video_track.frame_height = 4321; |
1438 ASSERT_TRUE(report->Get(expected_remote_video_track.id())); | 1440 ASSERT_TRUE(report->Get(expected_remote_video_track.id())); |
1439 EXPECT_EQ(expected_remote_video_track, | 1441 EXPECT_EQ(expected_remote_video_track, |
1440 report->Get(expected_remote_video_track.id())->cast_to< | 1442 report->Get(expected_remote_video_track.id())->cast_to< |
1441 RTCMediaStreamTrackStats>()); | 1443 RTCMediaStreamTrackStats>()); |
1442 } | 1444 } |
1443 | 1445 |
1444 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { | 1446 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { |
1445 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1447 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1446 cricket::VoiceChannel voice_channel( | 1448 cricket::VoiceChannel voice_channel( |
1447 test_->worker_thread(), test_->network_thread(), nullptr, | 1449 test_->worker_thread(), test_->network_thread(), |
1448 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1450 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
1449 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1451 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1450 | 1452 |
1451 cricket::VoiceMediaInfo voice_media_info; | 1453 cricket::VoiceMediaInfo voice_media_info; |
1452 | 1454 |
1453 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); | 1455 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); |
1454 voice_media_info.receivers[0].local_stats.push_back( | 1456 voice_media_info.receivers[0].local_stats.push_back( |
1455 cricket::SsrcReceiverInfo()); | 1457 cricket::SsrcReceiverInfo()); |
1456 voice_media_info.receivers[0].local_stats[0].ssrc = 1; | 1458 voice_media_info.receivers[0].local_stats[0].ssrc = 1; |
1457 voice_media_info.receivers[0].packets_lost = 42; | 1459 voice_media_info.receivers[0].packets_lost = 42; |
1458 voice_media_info.receivers[0].packets_rcvd = 2; | 1460 voice_media_info.receivers[0].packets_rcvd = 2; |
1459 voice_media_info.receivers[0].bytes_rcvd = 3; | 1461 voice_media_info.receivers[0].bytes_rcvd = 3; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1510 expected_audio.id())->cast_to<RTCInboundRTPStreamStats>(); | 1512 expected_audio.id())->cast_to<RTCInboundRTPStreamStats>(); |
1511 EXPECT_EQ(audio, expected_audio); | 1513 EXPECT_EQ(audio, expected_audio); |
1512 | 1514 |
1513 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); | 1515 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); |
1514 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); | 1516 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); |
1515 } | 1517 } |
1516 | 1518 |
1517 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { | 1519 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { |
1518 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1520 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1519 cricket::VideoChannel video_channel( | 1521 cricket::VideoChannel video_channel( |
1520 test_->worker_thread(), test_->network_thread(), nullptr, | 1522 test_->worker_thread(), test_->network_thread(), |
1521 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1523 test_->signaling_thread(), video_media_channel, "VideoContentName", |
1522 kDefaultSrtpRequired); | 1524 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1523 | 1525 |
1524 cricket::VideoMediaInfo video_media_info; | 1526 cricket::VideoMediaInfo video_media_info; |
1525 | 1527 |
1526 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); | 1528 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); |
1527 video_media_info.receivers[0].local_stats.push_back( | 1529 video_media_info.receivers[0].local_stats.push_back( |
1528 cricket::SsrcReceiverInfo()); | 1530 cricket::SsrcReceiverInfo()); |
1529 video_media_info.receivers[0].local_stats[0].ssrc = 1; | 1531 video_media_info.receivers[0].local_stats[0].ssrc = 1; |
1530 video_media_info.receivers[0].packets_rcvd = 2; | 1532 video_media_info.receivers[0].packets_rcvd = 2; |
1531 video_media_info.receivers[0].packets_lost = 42; | 1533 video_media_info.receivers[0].packets_lost = 42; |
1532 video_media_info.receivers[0].bytes_rcvd = 3; | 1534 video_media_info.receivers[0].bytes_rcvd = 3; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1589 expected_video.id())->cast_to<RTCInboundRTPStreamStats>(); | 1591 expected_video.id())->cast_to<RTCInboundRTPStreamStats>(); |
1590 EXPECT_EQ(video, expected_video); | 1592 EXPECT_EQ(video, expected_video); |
1591 | 1593 |
1592 ASSERT_TRUE(report->Get(*expected_video.transport_id)); | 1594 ASSERT_TRUE(report->Get(*expected_video.transport_id)); |
1593 ASSERT_TRUE(report->Get(*video.codec_id)); | 1595 ASSERT_TRUE(report->Get(*video.codec_id)); |
1594 } | 1596 } |
1595 | 1597 |
1596 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { | 1598 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { |
1597 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1599 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1598 cricket::VoiceChannel voice_channel( | 1600 cricket::VoiceChannel voice_channel( |
1599 test_->worker_thread(), test_->network_thread(), nullptr, | 1601 test_->worker_thread(), test_->network_thread(), |
1600 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1602 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
1601 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1603 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1602 | 1604 |
1603 cricket::VoiceMediaInfo voice_media_info; | 1605 cricket::VoiceMediaInfo voice_media_info; |
1604 | 1606 |
1605 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1607 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
1606 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1608 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1607 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1609 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
1608 voice_media_info.senders[0].packets_sent = 2; | 1610 voice_media_info.senders[0].packets_sent = 2; |
1609 voice_media_info.senders[0].bytes_sent = 3; | 1611 voice_media_info.senders[0].bytes_sent = 3; |
1610 voice_media_info.senders[0].rtt_ms = 4500; | 1612 voice_media_info.senders[0].rtt_ms = 4500; |
1611 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1613 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1657 expected_audio.id())->cast_to<RTCOutboundRTPStreamStats>(); | 1659 expected_audio.id())->cast_to<RTCOutboundRTPStreamStats>(); |
1658 EXPECT_EQ(audio, expected_audio); | 1660 EXPECT_EQ(audio, expected_audio); |
1659 | 1661 |
1660 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); | 1662 ASSERT_TRUE(report->Get(*expected_audio.transport_id)); |
1661 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); | 1663 ASSERT_TRUE(report->Get(*expected_audio.codec_id)); |
1662 } | 1664 } |
1663 | 1665 |
1664 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { | 1666 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { |
1665 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1667 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1666 cricket::VideoChannel video_channel( | 1668 cricket::VideoChannel video_channel( |
1667 test_->worker_thread(), test_->network_thread(), nullptr, | 1669 test_->worker_thread(), test_->network_thread(), |
1668 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1670 test_->signaling_thread(), video_media_channel, "VideoContentName", |
1669 kDefaultSrtpRequired); | 1671 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1670 | 1672 |
1671 cricket::VideoMediaInfo video_media_info; | 1673 cricket::VideoMediaInfo video_media_info; |
1672 | 1674 |
1673 video_media_info.senders.push_back(cricket::VideoSenderInfo()); | 1675 video_media_info.senders.push_back(cricket::VideoSenderInfo()); |
1674 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1676 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1675 video_media_info.senders[0].local_stats[0].ssrc = 1; | 1677 video_media_info.senders[0].local_stats[0].ssrc = 1; |
1676 video_media_info.senders[0].firs_rcvd = 2; | 1678 video_media_info.senders[0].firs_rcvd = 2; |
1677 video_media_info.senders[0].plis_rcvd = 3; | 1679 video_media_info.senders[0].plis_rcvd = 3; |
1678 video_media_info.senders[0].nacks_rcvd = 4; | 1680 video_media_info.senders[0].nacks_rcvd = 4; |
1679 video_media_info.senders[0].packets_sent = 5; | 1681 video_media_info.senders[0].packets_sent = 5; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1735 expected_video.id())->cast_to<RTCOutboundRTPStreamStats>(); | 1737 expected_video.id())->cast_to<RTCOutboundRTPStreamStats>(); |
1736 EXPECT_EQ(video, expected_video); | 1738 EXPECT_EQ(video, expected_video); |
1737 | 1739 |
1738 ASSERT_TRUE(report->Get(*expected_video.transport_id)); | 1740 ASSERT_TRUE(report->Get(*expected_video.transport_id)); |
1739 ASSERT_TRUE(report->Get(*expected_video.codec_id)); | 1741 ASSERT_TRUE(report->Get(*expected_video.codec_id)); |
1740 } | 1742 } |
1741 | 1743 |
1742 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { | 1744 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { |
1743 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1745 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
1744 cricket::VoiceChannel voice_channel( | 1746 cricket::VoiceChannel voice_channel( |
1745 test_->worker_thread(), test_->network_thread(), nullptr, | 1747 test_->worker_thread(), test_->network_thread(), |
1746 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1748 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
1747 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1749 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1748 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1750 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
1749 cricket::VideoChannel video_channel( | 1751 cricket::VideoChannel video_channel( |
1750 test_->worker_thread(), test_->network_thread(), nullptr, | 1752 test_->worker_thread(), test_->network_thread(), |
1751 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1753 test_->signaling_thread(), video_media_channel, "VideoContentName", |
1752 kDefaultSrtpRequired); | 1754 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
1753 | 1755 |
1754 cricket::VoiceMediaInfo voice_media_info; | 1756 cricket::VoiceMediaInfo voice_media_info; |
1755 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1757 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
1756 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1758 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
1757 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1759 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
1758 voice_media_info.senders[0].packets_sent = 2; | 1760 voice_media_info.senders[0].packets_sent = 2; |
1759 voice_media_info.senders[0].bytes_sent = 3; | 1761 voice_media_info.senders[0].bytes_sent = 3; |
1760 voice_media_info.senders[0].rtt_ms = -1; | 1762 voice_media_info.senders[0].rtt_ms = -1; |
1761 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1763 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
1762 | 1764 |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2011 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; | 2013 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; |
2012 }; | 2014 }; |
2013 | 2015 |
2014 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { | 2016 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { |
2015 collector_->VerifyThreadUsageAndResultsMerging(); | 2017 collector_->VerifyThreadUsageAndResultsMerging(); |
2016 } | 2018 } |
2017 | 2019 |
2018 } // namespace | 2020 } // namespace |
2019 | 2021 |
2020 } // namespace webrtc | 2022 } // namespace webrtc |
OLD | NEW |