| 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 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 new FakeVideoTrackSourceForStats( | 308 new FakeVideoTrackSourceForStats( |
| 309 VideoTrackSourceInterface::Stats())); | 309 VideoTrackSourceInterface::Stats())); |
| 310 } | 310 } |
| 311 } | 311 } |
| 312 | 312 |
| 313 class RTCStatsCollectorTestHelper : public SetSessionDescriptionObserver { | 313 class RTCStatsCollectorTestHelper : public SetSessionDescriptionObserver { |
| 314 public: | 314 public: |
| 315 RTCStatsCollectorTestHelper() | 315 RTCStatsCollectorTestHelper() |
| 316 : worker_thread_(rtc::Thread::Current()), | 316 : worker_thread_(rtc::Thread::Current()), |
| 317 network_thread_(rtc::Thread::Current()), | 317 network_thread_(rtc::Thread::Current()), |
| 318 signaling_thread_(rtc::Thread::Current()), |
| 318 media_engine_(new cricket::FakeMediaEngine()), | 319 media_engine_(new cricket::FakeMediaEngine()), |
| 319 channel_manager_( | 320 channel_manager_(new cricket::ChannelManager(media_engine_, |
| 320 new cricket::ChannelManager(media_engine_, | 321 worker_thread_, |
| 321 worker_thread_, | 322 network_thread_)), |
| 322 network_thread_)), | |
| 323 media_controller_( | 323 media_controller_( |
| 324 MediaControllerInterface::Create(cricket::MediaConfig(), | 324 MediaControllerInterface::Create(cricket::MediaConfig(), |
| 325 worker_thread_, | 325 worker_thread_, |
| 326 channel_manager_.get(), | 326 channel_manager_.get(), |
| 327 &event_log_)), | 327 &event_log_)), |
| 328 session_(media_controller_.get()), | 328 session_(media_controller_.get()), |
| 329 pc_() { | 329 pc_() { |
| 330 // Default return values for mocks. | 330 // Default return values for mocks. |
| 331 EXPECT_CALL(pc_, local_streams()).WillRepeatedly(Return(nullptr)); | 331 EXPECT_CALL(pc_, local_streams()).WillRepeatedly(Return(nullptr)); |
| 332 EXPECT_CALL(pc_, remote_streams()).WillRepeatedly(Return(nullptr)); | 332 EXPECT_CALL(pc_, remote_streams()).WillRepeatedly(Return(nullptr)); |
| 333 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); | 333 EXPECT_CALL(pc_, session()).WillRepeatedly(Return(&session_)); |
| 334 EXPECT_CALL(pc_, GetSenders()).WillRepeatedly(Return( | 334 EXPECT_CALL(pc_, GetSenders()).WillRepeatedly(Return( |
| 335 std::vector<rtc::scoped_refptr<RtpSenderInterface>>())); | 335 std::vector<rtc::scoped_refptr<RtpSenderInterface>>())); |
| 336 EXPECT_CALL(pc_, GetReceivers()).WillRepeatedly(Return( | 336 EXPECT_CALL(pc_, GetReceivers()).WillRepeatedly(Return( |
| 337 std::vector<rtc::scoped_refptr<RtpReceiverInterface>>())); | 337 std::vector<rtc::scoped_refptr<RtpReceiverInterface>>())); |
| 338 EXPECT_CALL(pc_, sctp_data_channels()).WillRepeatedly( | 338 EXPECT_CALL(pc_, sctp_data_channels()).WillRepeatedly( |
| 339 ReturnRef(data_channels_)); | 339 ReturnRef(data_channels_)); |
| 340 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); | 340 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); |
| 341 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); | 341 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); |
| 342 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(ReturnNull()); | 342 EXPECT_CALL(session_, GetStats(_)).WillRepeatedly(ReturnNull()); |
| 343 EXPECT_CALL(session_, GetLocalCertificate(_, _)).WillRepeatedly( | 343 EXPECT_CALL(session_, GetLocalCertificate(_, _)).WillRepeatedly( |
| 344 Return(false)); | 344 Return(false)); |
| 345 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) | 345 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) |
| 346 .WillRepeatedly(Return(nullptr)); | 346 .WillRepeatedly(Return(nullptr)); |
| 347 } | 347 } |
| 348 | 348 |
| 349 rtc::ScopedFakeClock& fake_clock() { return fake_clock_; } | 349 rtc::ScopedFakeClock& fake_clock() { return fake_clock_; } |
| 350 rtc::Thread* worker_thread() { return worker_thread_; } | 350 rtc::Thread* worker_thread() { return worker_thread_; } |
| 351 rtc::Thread* network_thread() { return network_thread_; } | 351 rtc::Thread* network_thread() { return network_thread_; } |
| 352 rtc::Thread* signaling_thread() { return signaling_thread_; } |
| 352 cricket::FakeMediaEngine* media_engine() { return media_engine_; } | 353 cricket::FakeMediaEngine* media_engine() { return media_engine_; } |
| 353 MockWebRtcSession& session() { return session_; } | 354 MockWebRtcSession& session() { return session_; } |
| 354 MockPeerConnection& pc() { return pc_; } | 355 MockPeerConnection& pc() { return pc_; } |
| 355 std::vector<rtc::scoped_refptr<DataChannel>>& data_channels() { | 356 std::vector<rtc::scoped_refptr<DataChannel>>& data_channels() { |
| 356 return data_channels_; | 357 return data_channels_; |
| 357 } | 358 } |
| 358 | 359 |
| 359 // SetSessionDescriptionObserver overrides. | 360 // SetSessionDescriptionObserver overrides. |
| 360 void OnSuccess() override {} | 361 void OnSuccess() override {} |
| 361 void OnFailure(const std::string& error) override { | 362 void OnFailure(const std::string& error) override { |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 EXPECT_CALL(pc_, GetReceivers()).WillRepeatedly(Return( | 436 EXPECT_CALL(pc_, GetReceivers()).WillRepeatedly(Return( |
| 436 std::vector<rtc::scoped_refptr<RtpReceiverInterface>>({ | 437 std::vector<rtc::scoped_refptr<RtpReceiverInterface>>({ |
| 437 rtc::scoped_refptr<RtpReceiverInterface>(receiver.get()) }))); | 438 rtc::scoped_refptr<RtpReceiverInterface>(receiver.get()) }))); |
| 438 } | 439 } |
| 439 | 440 |
| 440 private: | 441 private: |
| 441 rtc::ScopedFakeClock fake_clock_; | 442 rtc::ScopedFakeClock fake_clock_; |
| 442 RtcEventLogNullImpl event_log_; | 443 RtcEventLogNullImpl event_log_; |
| 443 rtc::Thread* const worker_thread_; | 444 rtc::Thread* const worker_thread_; |
| 444 rtc::Thread* const network_thread_; | 445 rtc::Thread* const network_thread_; |
| 446 rtc::Thread* const signaling_thread_; |
| 445 cricket::FakeMediaEngine* media_engine_; | 447 cricket::FakeMediaEngine* media_engine_; |
| 446 std::unique_ptr<cricket::ChannelManager> channel_manager_; | 448 std::unique_ptr<cricket::ChannelManager> channel_manager_; |
| 447 std::unique_ptr<MediaControllerInterface> media_controller_; | 449 std::unique_ptr<MediaControllerInterface> media_controller_; |
| 448 MockWebRtcSession session_; | 450 MockWebRtcSession session_; |
| 449 MockPeerConnection pc_; | 451 MockPeerConnection pc_; |
| 450 | 452 |
| 451 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; | 453 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; |
| 452 }; | 454 }; |
| 453 | 455 |
| 454 class RTCTestStats : public RTCStats { | 456 class RTCTestStats : public RTCStats { |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 690 })); | 692 })); |
| 691 | 693 |
| 692 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 694 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
| 693 ExpectReportContainsCertificateInfo(report, *local_certinfo); | 695 ExpectReportContainsCertificateInfo(report, *local_certinfo); |
| 694 ExpectReportContainsCertificateInfo(report, *remote_certinfo); | 696 ExpectReportContainsCertificateInfo(report, *remote_certinfo); |
| 695 } | 697 } |
| 696 | 698 |
| 697 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { | 699 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { |
| 698 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 700 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
| 699 cricket::VoiceChannel voice_channel( | 701 cricket::VoiceChannel voice_channel( |
| 700 test_->worker_thread(), test_->network_thread(), nullptr, | 702 test_->worker_thread(), test_->network_thread(), |
| 701 test_->media_engine(), voice_media_channel, "VoiceContentName", | 703 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
| 702 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 704 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 703 | 705 |
| 704 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 706 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
| 705 cricket::VideoChannel video_channel( | 707 cricket::VideoChannel video_channel( |
| 706 test_->worker_thread(), test_->network_thread(), nullptr, | 708 test_->worker_thread(), test_->network_thread(), |
| 707 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 709 test_->signaling_thread(), video_media_channel, "VideoContentName", |
| 708 kDefaultSrtpRequired); | 710 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 709 | 711 |
| 710 // Audio | 712 // Audio |
| 711 cricket::VoiceMediaInfo voice_media_info; | 713 cricket::VoiceMediaInfo voice_media_info; |
| 712 | 714 |
| 713 RtpCodecParameters inbound_audio_codec; | 715 RtpCodecParameters inbound_audio_codec; |
| 714 inbound_audio_codec.payload_type = 1; | 716 inbound_audio_codec.payload_type = 1; |
| 715 inbound_audio_codec.mime_type = "opus"; | 717 inbound_audio_codec.mime_type = "opus"; |
| 716 inbound_audio_codec.clock_rate = 1337; | 718 inbound_audio_codec.clock_rate = 1337; |
| 717 voice_media_info.receive_codecs.insert( | 719 voice_media_info.receive_codecs.insert( |
| 718 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); | 720 std::make_pair(inbound_audio_codec.payload_type, inbound_audio_codec)); |
| (...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1543 expected_remote_video_track.frame_height = 4321; | 1545 expected_remote_video_track.frame_height = 4321; |
| 1544 ASSERT_TRUE(report->Get(expected_remote_video_track.id())); | 1546 ASSERT_TRUE(report->Get(expected_remote_video_track.id())); |
| 1545 EXPECT_EQ(expected_remote_video_track, | 1547 EXPECT_EQ(expected_remote_video_track, |
| 1546 report->Get(expected_remote_video_track.id())->cast_to< | 1548 report->Get(expected_remote_video_track.id())->cast_to< |
| 1547 RTCMediaStreamTrackStats>()); | 1549 RTCMediaStreamTrackStats>()); |
| 1548 } | 1550 } |
| 1549 | 1551 |
| 1550 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { | 1552 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { |
| 1551 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1553 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
| 1552 cricket::VoiceChannel voice_channel( | 1554 cricket::VoiceChannel voice_channel( |
| 1553 test_->worker_thread(), test_->network_thread(), nullptr, | 1555 test_->worker_thread(), test_->network_thread(), |
| 1554 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1556 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
| 1555 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1557 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1556 | 1558 |
| 1557 test_->SetupRemoteTrackAndReceiver( | 1559 test_->SetupRemoteTrackAndReceiver( |
| 1558 cricket::MEDIA_TYPE_AUDIO, "RemoteAudioTrackID", 1); | 1560 cricket::MEDIA_TYPE_AUDIO, "RemoteAudioTrackID", 1); |
| 1559 | 1561 |
| 1560 cricket::VoiceMediaInfo voice_media_info; | 1562 cricket::VoiceMediaInfo voice_media_info; |
| 1561 | 1563 |
| 1562 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); | 1564 voice_media_info.receivers.push_back(cricket::VoiceReceiverInfo()); |
| 1563 voice_media_info.receivers[0].local_stats.push_back( | 1565 voice_media_info.receivers[0].local_stats.push_back( |
| 1564 cricket::SsrcReceiverInfo()); | 1566 cricket::SsrcReceiverInfo()); |
| 1565 voice_media_info.receivers[0].local_stats[0].ssrc = 1; | 1567 voice_media_info.receivers[0].local_stats[0].ssrc = 1; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1622 EXPECT_EQ(audio, expected_audio); | 1624 EXPECT_EQ(audio, expected_audio); |
| 1623 | 1625 |
| 1624 EXPECT_TRUE(report->Get(*expected_audio.media_track_id)); | 1626 EXPECT_TRUE(report->Get(*expected_audio.media_track_id)); |
| 1625 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); | 1627 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); |
| 1626 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); | 1628 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); |
| 1627 } | 1629 } |
| 1628 | 1630 |
| 1629 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { | 1631 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { |
| 1630 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1632 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
| 1631 cricket::VideoChannel video_channel( | 1633 cricket::VideoChannel video_channel( |
| 1632 test_->worker_thread(), test_->network_thread(), nullptr, | 1634 test_->worker_thread(), test_->network_thread(), |
| 1633 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1635 test_->signaling_thread(), video_media_channel, "VideoContentName", |
| 1634 kDefaultSrtpRequired); | 1636 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1635 | 1637 |
| 1636 test_->SetupRemoteTrackAndReceiver( | 1638 test_->SetupRemoteTrackAndReceiver( |
| 1637 cricket::MEDIA_TYPE_VIDEO, "RemoteVideoTrackID", 1); | 1639 cricket::MEDIA_TYPE_VIDEO, "RemoteVideoTrackID", 1); |
| 1638 | 1640 |
| 1639 cricket::VideoMediaInfo video_media_info; | 1641 cricket::VideoMediaInfo video_media_info; |
| 1640 | 1642 |
| 1641 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); | 1643 video_media_info.receivers.push_back(cricket::VideoReceiverInfo()); |
| 1642 video_media_info.receivers[0].local_stats.push_back( | 1644 video_media_info.receivers[0].local_stats.push_back( |
| 1643 cricket::SsrcReceiverInfo()); | 1645 cricket::SsrcReceiverInfo()); |
| 1644 video_media_info.receivers[0].local_stats[0].ssrc = 1; | 1646 video_media_info.receivers[0].local_stats[0].ssrc = 1; |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1707 EXPECT_EQ(video, expected_video); | 1709 EXPECT_EQ(video, expected_video); |
| 1708 | 1710 |
| 1709 EXPECT_TRUE(report->Get(*expected_video.media_track_id)); | 1711 EXPECT_TRUE(report->Get(*expected_video.media_track_id)); |
| 1710 EXPECT_TRUE(report->Get(*expected_video.transport_id)); | 1712 EXPECT_TRUE(report->Get(*expected_video.transport_id)); |
| 1711 EXPECT_TRUE(report->Get(*video.codec_id)); | 1713 EXPECT_TRUE(report->Get(*video.codec_id)); |
| 1712 } | 1714 } |
| 1713 | 1715 |
| 1714 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { | 1716 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { |
| 1715 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1717 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
| 1716 cricket::VoiceChannel voice_channel( | 1718 cricket::VoiceChannel voice_channel( |
| 1717 test_->worker_thread(), test_->network_thread(), nullptr, | 1719 test_->worker_thread(), test_->network_thread(), |
| 1718 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1720 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
| 1719 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1721 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1720 | 1722 |
| 1721 test_->SetupLocalTrackAndSender( | 1723 test_->SetupLocalTrackAndSender( |
| 1722 cricket::MEDIA_TYPE_AUDIO, "LocalAudioTrackID", 1); | 1724 cricket::MEDIA_TYPE_AUDIO, "LocalAudioTrackID", 1); |
| 1723 | 1725 |
| 1724 cricket::VoiceMediaInfo voice_media_info; | 1726 cricket::VoiceMediaInfo voice_media_info; |
| 1725 | 1727 |
| 1726 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1728 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
| 1727 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1729 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
| 1728 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1730 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
| 1729 voice_media_info.senders[0].packets_sent = 2; | 1731 voice_media_info.senders[0].packets_sent = 2; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1780 EXPECT_EQ(audio, expected_audio); | 1782 EXPECT_EQ(audio, expected_audio); |
| 1781 | 1783 |
| 1782 EXPECT_TRUE(report->Get(*expected_audio.media_track_id)); | 1784 EXPECT_TRUE(report->Get(*expected_audio.media_track_id)); |
| 1783 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); | 1785 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); |
| 1784 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); | 1786 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); |
| 1785 } | 1787 } |
| 1786 | 1788 |
| 1787 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { | 1789 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { |
| 1788 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1790 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
| 1789 cricket::VideoChannel video_channel( | 1791 cricket::VideoChannel video_channel( |
| 1790 test_->worker_thread(), test_->network_thread(), nullptr, | 1792 test_->worker_thread(), test_->network_thread(), |
| 1791 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1793 test_->signaling_thread(), video_media_channel, "VideoContentName", |
| 1792 kDefaultSrtpRequired); | 1794 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1793 | 1795 |
| 1794 test_->SetupLocalTrackAndSender( | 1796 test_->SetupLocalTrackAndSender( |
| 1795 cricket::MEDIA_TYPE_VIDEO, "LocalVideoTrackID", 1); | 1797 cricket::MEDIA_TYPE_VIDEO, "LocalVideoTrackID", 1); |
| 1796 | 1798 |
| 1797 cricket::VideoMediaInfo video_media_info; | 1799 cricket::VideoMediaInfo video_media_info; |
| 1798 | 1800 |
| 1799 video_media_info.senders.push_back(cricket::VideoSenderInfo()); | 1801 video_media_info.senders.push_back(cricket::VideoSenderInfo()); |
| 1800 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1802 video_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
| 1801 video_media_info.senders[0].local_stats[0].ssrc = 1; | 1803 video_media_info.senders[0].local_stats[0].ssrc = 1; |
| 1802 video_media_info.senders[0].firs_rcvd = 2; | 1804 video_media_info.senders[0].firs_rcvd = 2; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1863 EXPECT_EQ(video, expected_video); | 1865 EXPECT_EQ(video, expected_video); |
| 1864 | 1866 |
| 1865 EXPECT_TRUE(report->Get(*expected_video.media_track_id)); | 1867 EXPECT_TRUE(report->Get(*expected_video.media_track_id)); |
| 1866 EXPECT_TRUE(report->Get(*expected_video.transport_id)); | 1868 EXPECT_TRUE(report->Get(*expected_video.transport_id)); |
| 1867 EXPECT_TRUE(report->Get(*expected_video.codec_id)); | 1869 EXPECT_TRUE(report->Get(*expected_video.codec_id)); |
| 1868 } | 1870 } |
| 1869 | 1871 |
| 1870 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { | 1872 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { |
| 1871 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 1873 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
| 1872 cricket::VoiceChannel voice_channel( | 1874 cricket::VoiceChannel voice_channel( |
| 1873 test_->worker_thread(), test_->network_thread(), nullptr, | 1875 test_->worker_thread(), test_->network_thread(), |
| 1874 test_->media_engine(), voice_media_channel, "VoiceContentName", | 1876 test_->signaling_thread(), test_->media_engine(), voice_media_channel, |
| 1875 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); | 1877 "VoiceContentName", kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1876 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 1878 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
| 1877 cricket::VideoChannel video_channel( | 1879 cricket::VideoChannel video_channel( |
| 1878 test_->worker_thread(), test_->network_thread(), nullptr, | 1880 test_->worker_thread(), test_->network_thread(), |
| 1879 video_media_channel, "VideoContentName", kDefaultRtcpMuxRequired, | 1881 test_->signaling_thread(), video_media_channel, "VideoContentName", |
| 1880 kDefaultSrtpRequired); | 1882 kDefaultRtcpMuxRequired, kDefaultSrtpRequired); |
| 1881 | 1883 |
| 1882 cricket::VoiceMediaInfo voice_media_info; | 1884 cricket::VoiceMediaInfo voice_media_info; |
| 1883 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); | 1885 voice_media_info.senders.push_back(cricket::VoiceSenderInfo()); |
| 1884 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); | 1886 voice_media_info.senders[0].local_stats.push_back(cricket::SsrcSenderInfo()); |
| 1885 voice_media_info.senders[0].local_stats[0].ssrc = 1; | 1887 voice_media_info.senders[0].local_stats[0].ssrc = 1; |
| 1886 voice_media_info.senders[0].packets_sent = 2; | 1888 voice_media_info.senders[0].packets_sent = 2; |
| 1887 voice_media_info.senders[0].bytes_sent = 3; | 1889 voice_media_info.senders[0].bytes_sent = 3; |
| 1888 voice_media_info.senders[0].rtt_ms = -1; | 1890 voice_media_info.senders[0].rtt_ms = -1; |
| 1889 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); | 1891 voice_media_info.senders[0].codec_payload_type = rtc::Optional<int>(42); |
| 1890 | 1892 |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2140 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; | 2142 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; |
| 2141 }; | 2143 }; |
| 2142 | 2144 |
| 2143 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { | 2145 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { |
| 2144 collector_->VerifyThreadUsageAndResultsMerging(); | 2146 collector_->VerifyThreadUsageAndResultsMerging(); |
| 2145 } | 2147 } |
| 2146 | 2148 |
| 2147 } // namespace | 2149 } // namespace |
| 2148 | 2150 |
| 2149 } // namespace webrtc | 2151 } // namespace webrtc |
| OLD | NEW |