OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 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 |
11 #include <map> | 11 #include <map> |
12 #include <memory> | 12 #include <memory> |
13 #include <string> | 13 #include <string> |
14 #include <utility> | 14 #include <utility> |
15 #include <vector> | 15 #include <vector> |
16 | 16 |
17 #include "webrtc/call/call.h" | 17 #include "webrtc/call/call.h" |
| 18 #include "webrtc/logging/rtc_event_log/events/rtc_event_audio_network_adaptation
.h" |
| 19 #include "webrtc/logging/rtc_event_log/events/rtc_event_audio_playout.h" |
| 20 #include "webrtc/logging/rtc_event_log/events/rtc_event_audio_receive_stream_con
fig.h" |
| 21 #include "webrtc/logging/rtc_event_log/events/rtc_event_audio_send_stream_config
.h" |
| 22 #include "webrtc/logging/rtc_event_log/events/rtc_event_bwe_update_delay_based.h
" |
| 23 #include "webrtc/logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h" |
| 24 #include "webrtc/logging/rtc_event_log/events/rtc_event_logging_started.h" |
| 25 #include "webrtc/logging/rtc_event_log/events/rtc_event_logging_stopped.h" |
| 26 #include "webrtc/logging/rtc_event_log/events/rtc_event_probe_cluster_created.h" |
| 27 #include "webrtc/logging/rtc_event_log/events/rtc_event_probe_result_failure.h" |
| 28 #include "webrtc/logging/rtc_event_log/events/rtc_event_probe_result_success.h" |
| 29 #include "webrtc/logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h" |
| 30 #include "webrtc/logging/rtc_event_log/events/rtc_event_rtcp_packet_outgoing.h" |
| 31 #include "webrtc/logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h" |
| 32 #include "webrtc/logging/rtc_event_log/events/rtc_event_rtp_packet_outgoing.h" |
| 33 #include "webrtc/logging/rtc_event_log/events/rtc_event_video_receive_stream_con
fig.h" |
| 34 #include "webrtc/logging/rtc_event_log/events/rtc_event_video_send_stream_config
.h" |
18 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" | 35 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" |
19 #include "webrtc/logging/rtc_event_log/rtc_event_log_parser.h" | 36 #include "webrtc/logging/rtc_event_log/rtc_event_log_parser.h" |
20 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h" | 37 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h" |
21 #include "webrtc/logging/rtc_event_log/rtc_stream_config.h" | 38 #include "webrtc/logging/rtc_event_log/rtc_stream_config.h" |
22 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ
k_adaptor.h" | 39 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ
k_adaptor.h" |
23 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" | 40 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" |
24 #include "webrtc/modules/rtp_rtcp/include/rtp_header_extension_map.h" | 41 #include "webrtc/modules/rtp_rtcp/include/rtp_header_extension_map.h" |
25 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" | 42 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" |
26 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.h" | 43 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.h" |
27 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" | 44 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 size_t bwe_delay_written = 0; | 384 size_t bwe_delay_written = 0; |
368 size_t recv_configs_written = 0; | 385 size_t recv_configs_written = 0; |
369 size_t send_configs_written = 0; | 386 size_t send_configs_written = 0; |
370 | 387 |
371 for (size_t i = 0; i < event_types.size(); i++) { | 388 for (size_t i = 0; i < event_types.size(); i++) { |
372 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 389 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
373 if (i == event_types.size() / 2) | 390 if (i == event_types.size() / 2) |
374 log_dumper->StartLogging(temp_filename, 10000000); | 391 log_dumper->StartLogging(temp_filename, 10000000); |
375 switch (event_types[i]) { | 392 switch (event_types[i]) { |
376 case EventType::INCOMING_RTP: | 393 case EventType::INCOMING_RTP: |
377 log_dumper->LogIncomingRtpHeader( | 394 log_dumper->Log(rtc::MakeUnique<RtcEventRtpPacketIncoming>( |
378 incoming_rtp_packets[incoming_rtp_written++]); | 395 incoming_rtp_packets[incoming_rtp_written++])); |
379 break; | 396 break; |
380 case EventType::OUTGOING_RTP: | 397 case EventType::OUTGOING_RTP: { |
381 log_dumper->LogOutgoingRtpHeader( | 398 constexpr int kNotAProble = PacedPacketInfo::kNotAProbe; // Compiler... |
382 outgoing_rtp_packets[outgoing_rtp_written++], | 399 log_dumper->Log(rtc::MakeUnique<RtcEventRtpPacketOutgoing>( |
383 PacedPacketInfo::kNotAProbe); | 400 outgoing_rtp_packets[outgoing_rtp_written++], kNotAProble)); |
384 break; | 401 break; |
| 402 } |
385 case EventType::INCOMING_RTCP: | 403 case EventType::INCOMING_RTCP: |
386 log_dumper->LogIncomingRtcpPacket( | 404 log_dumper->Log(rtc::MakeUnique<RtcEventRtcpPacketIncoming>( |
387 incoming_rtcp_packets[incoming_rtcp_written++]); | 405 incoming_rtcp_packets[incoming_rtcp_written++])); |
388 break; | 406 break; |
389 case EventType::OUTGOING_RTCP: | 407 case EventType::OUTGOING_RTCP: |
390 log_dumper->LogOutgoingRtcpPacket( | 408 log_dumper->Log(rtc::MakeUnique<RtcEventRtcpPacketOutgoing>( |
391 outgoing_rtcp_packets[outgoing_rtcp_written++]); | 409 outgoing_rtcp_packets[outgoing_rtcp_written++])); |
392 break; | 410 break; |
393 case EventType::AUDIO_PLAYOUT: | 411 case EventType::AUDIO_PLAYOUT: |
394 log_dumper->LogAudioPlayout(playout_ssrcs[playouts_written++]); | 412 log_dumper->Log(rtc::MakeUnique<RtcEventAudioPlayout>( |
| 413 playout_ssrcs[playouts_written++])); |
395 break; | 414 break; |
396 case EventType::BWE_LOSS_UPDATE: | 415 case EventType::BWE_LOSS_UPDATE: |
397 log_dumper->LogLossBasedBweUpdate( | 416 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateLossBased>( |
398 bwe_loss_updates[bwe_loss_written].bitrate_bps, | 417 bwe_loss_updates[bwe_loss_written].bitrate_bps, |
399 bwe_loss_updates[bwe_loss_written].fraction_loss, | 418 bwe_loss_updates[bwe_loss_written].fraction_loss, |
400 bwe_loss_updates[bwe_loss_written].total_packets); | 419 bwe_loss_updates[bwe_loss_written].total_packets)); |
401 bwe_loss_written++; | 420 bwe_loss_written++; |
402 break; | 421 break; |
403 case EventType::BWE_DELAY_UPDATE: | 422 case EventType::BWE_DELAY_UPDATE: |
404 log_dumper->LogDelayBasedBweUpdate( | 423 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateDelayBased>( |
405 bwe_delay_updates[bwe_delay_written].first, | 424 bwe_delay_updates[bwe_delay_written].first, |
406 bwe_delay_updates[bwe_delay_written].second); | 425 bwe_delay_updates[bwe_delay_written].second)); |
407 bwe_delay_written++; | 426 bwe_delay_written++; |
408 break; | 427 break; |
409 case EventType::VIDEO_RECV_CONFIG: | 428 case EventType::VIDEO_RECV_CONFIG: |
410 log_dumper->LogVideoReceiveStreamConfig( | 429 log_dumper->Log(rtc::MakeUnique<RtcEventVideoReceiveStreamConfig>( |
411 receiver_configs[recv_configs_written++]); | 430 rtc::MakeUnique<rtclog::StreamConfig>( |
| 431 receiver_configs[recv_configs_written++]))); |
412 break; | 432 break; |
413 case EventType::VIDEO_SEND_CONFIG: | 433 case EventType::VIDEO_SEND_CONFIG: |
414 log_dumper->LogVideoSendStreamConfig( | 434 log_dumper->Log(rtc::MakeUnique<RtcEventVideoSendStreamConfig>( |
415 sender_configs[send_configs_written++]); | 435 rtc::MakeUnique<rtclog::StreamConfig>( |
| 436 sender_configs[send_configs_written++]))); |
416 break; | 437 break; |
417 case EventType::AUDIO_RECV_CONFIG: | 438 case EventType::AUDIO_RECV_CONFIG: |
418 // Not implemented | 439 // Not implemented |
419 RTC_NOTREACHED(); | 440 RTC_NOTREACHED(); |
420 break; | 441 break; |
421 case EventType::AUDIO_SEND_CONFIG: | 442 case EventType::AUDIO_SEND_CONFIG: |
422 // Not implemented | 443 // Not implemented |
423 RTC_NOTREACHED(); | 444 RTC_NOTREACHED(); |
424 break; | 445 break; |
425 case EventType::AUDIO_NETWORK_ADAPTATION: | 446 case EventType::AUDIO_NETWORK_ADAPTATION: |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 // filename. | 754 // filename. |
734 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 755 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
735 const std::string temp_filename = | 756 const std::string temp_filename = |
736 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 757 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
737 | 758 |
738 // Add RTP, start logging, add RTCP and then stop logging | 759 // Add RTP, start logging, add RTCP and then stop logging |
739 rtc::ScopedFakeClock fake_clock; | 760 rtc::ScopedFakeClock fake_clock; |
740 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 761 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
741 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 762 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
742 | 763 |
743 log_dumper->LogIncomingRtpHeader(rtp_packet); | 764 log_dumper->Log(rtc::MakeUnique<RtcEventRtpPacketIncoming>(rtp_packet)); |
744 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 765 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
745 | 766 |
746 log_dumper->StartLogging(temp_filename, 10000000); | 767 log_dumper->StartLogging(temp_filename, 10000000); |
747 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 768 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
748 | 769 |
749 log_dumper->LogOutgoingRtcpPacket(rtcp_packet); | 770 log_dumper->Log(rtc::MakeUnique<RtcEventRtcpPacketOutgoing>(rtcp_packet)); |
750 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 771 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
751 | 772 |
752 log_dumper->StopLogging(); | 773 log_dumper->StopLogging(); |
753 | 774 |
754 // Read the generated file from disk. | 775 // Read the generated file from disk. |
755 ParsedRtcEventLog parsed_log; | 776 ParsedRtcEventLog parsed_log; |
756 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 777 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
757 | 778 |
758 // Verify that what we read back from the event log is the same as | 779 // Verify that what we read back from the event log is the same as |
759 // what we wrote down. | 780 // what we wrote down. |
(...skipping 26 matching lines...) Expand all Loading... |
786 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 807 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
787 const std::string temp_filename = | 808 const std::string temp_filename = |
788 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 809 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
789 | 810 |
790 // Start logging, add the packet loss event and then stop logging. | 811 // Start logging, add the packet loss event and then stop logging. |
791 rtc::ScopedFakeClock fake_clock; | 812 rtc::ScopedFakeClock fake_clock; |
792 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 813 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
793 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 814 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
794 log_dumper->StartLogging(temp_filename, 10000000); | 815 log_dumper->StartLogging(temp_filename, 10000000); |
795 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 816 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
796 log_dumper->LogLossBasedBweUpdate(bitrate, fraction_lost, total_packets); | 817 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateLossBased>( |
| 818 bitrate, fraction_lost, total_packets)); |
797 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 819 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
798 log_dumper->StopLogging(); | 820 log_dumper->StopLogging(); |
799 | 821 |
800 // Read the generated file from disk. | 822 // Read the generated file from disk. |
801 ParsedRtcEventLog parsed_log; | 823 ParsedRtcEventLog parsed_log; |
802 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 824 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
803 | 825 |
804 // Verify that what we read back from the event log is the same as | 826 // Verify that what we read back from the event log is the same as |
805 // what we wrote down. | 827 // what we wrote down. |
806 EXPECT_EQ(3u, parsed_log.GetNumberOfEvents()); | 828 EXPECT_EQ(3u, parsed_log.GetNumberOfEvents()); |
(...skipping 19 matching lines...) Expand all Loading... |
826 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 848 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
827 const std::string temp_filename = | 849 const std::string temp_filename = |
828 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 850 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
829 | 851 |
830 // Start logging, add the packet delay events and then stop logging. | 852 // Start logging, add the packet delay events and then stop logging. |
831 rtc::ScopedFakeClock fake_clock; | 853 rtc::ScopedFakeClock fake_clock; |
832 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 854 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
833 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 855 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
834 log_dumper->StartLogging(temp_filename, 10000000); | 856 log_dumper->StartLogging(temp_filename, 10000000); |
835 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 857 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
836 log_dumper->LogDelayBasedBweUpdate(bitrate1, BandwidthUsage::kBwNormal); | 858 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateDelayBased>( |
| 859 bitrate1, BandwidthUsage::kBwNormal)); |
837 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 860 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
838 log_dumper->LogDelayBasedBweUpdate(bitrate2, BandwidthUsage::kBwOverusing); | 861 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateDelayBased>( |
| 862 bitrate2, BandwidthUsage::kBwOverusing)); |
839 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 863 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
840 log_dumper->LogDelayBasedBweUpdate(bitrate3, BandwidthUsage::kBwUnderusing); | 864 log_dumper->Log(rtc::MakeUnique<RtcEventBweUpdateDelayBased>( |
| 865 bitrate3, BandwidthUsage::kBwUnderusing)); |
841 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 866 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
842 log_dumper->StopLogging(); | 867 log_dumper->StopLogging(); |
843 | 868 |
844 // Read the generated file from disk. | 869 // Read the generated file from disk. |
845 ParsedRtcEventLog parsed_log; | 870 ParsedRtcEventLog parsed_log; |
846 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 871 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
847 | 872 |
848 // Verify that what we read back from the event log is the same as | 873 // Verify that what we read back from the event log is the same as |
849 // what we wrote down. | 874 // what we wrote down. |
850 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); | 875 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); |
(...skipping 27 matching lines...) Expand all Loading... |
878 // filename. | 903 // filename. |
879 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 904 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
880 const std::string temp_filename = | 905 const std::string temp_filename = |
881 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 906 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
882 | 907 |
883 rtc::ScopedFakeClock fake_clock; | 908 rtc::ScopedFakeClock fake_clock; |
884 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 909 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
885 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 910 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
886 | 911 |
887 log_dumper->StartLogging(temp_filename, 10000000); | 912 log_dumper->StartLogging(temp_filename, 10000000); |
888 log_dumper->LogProbeClusterCreated(0, bitrate_bps0, min_probes0, min_bytes0); | 913 log_dumper->Log(rtc::MakeUnique<RtcEventProbeClusterCreated>( |
| 914 0, bitrate_bps0, min_probes0, min_bytes0)); |
889 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 915 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
890 log_dumper->LogProbeClusterCreated(1, bitrate_bps1, min_probes1, min_bytes1); | 916 log_dumper->Log(rtc::MakeUnique<RtcEventProbeClusterCreated>( |
| 917 1, bitrate_bps1, min_probes1, min_bytes1)); |
891 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 918 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
892 log_dumper->LogProbeClusterCreated(2, bitrate_bps2, min_probes2, min_bytes2); | 919 log_dumper->Log(rtc::MakeUnique<RtcEventProbeClusterCreated>( |
| 920 2, bitrate_bps2, min_probes2, min_bytes2)); |
893 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 921 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
894 log_dumper->StopLogging(); | 922 log_dumper->StopLogging(); |
895 | 923 |
896 // Read the generated file from disk. | 924 // Read the generated file from disk. |
897 ParsedRtcEventLog parsed_log; | 925 ParsedRtcEventLog parsed_log; |
898 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 926 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
899 | 927 |
900 // Verify that what we read back from the event log is the same as | 928 // Verify that what we read back from the event log is the same as |
901 // what we wrote down. | 929 // what we wrote down. |
902 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); | 930 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); |
(...skipping 21 matching lines...) Expand all Loading... |
924 // filename. | 952 // filename. |
925 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 953 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
926 const std::string temp_filename = | 954 const std::string temp_filename = |
927 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 955 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
928 | 956 |
929 rtc::ScopedFakeClock fake_clock; | 957 rtc::ScopedFakeClock fake_clock; |
930 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 958 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
931 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 959 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
932 | 960 |
933 log_dumper->StartLogging(temp_filename, 10000000); | 961 log_dumper->StartLogging(temp_filename, 10000000); |
934 log_dumper->LogProbeResultSuccess(0, bitrate_bps0); | 962 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultSuccess>(0, bitrate_bps0)); |
935 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 963 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
936 log_dumper->LogProbeResultSuccess(1, bitrate_bps1); | 964 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultSuccess>(1, bitrate_bps1)); |
937 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 965 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
938 log_dumper->LogProbeResultSuccess(2, bitrate_bps2); | 966 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultSuccess>(2, bitrate_bps2)); |
939 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 967 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
940 log_dumper->StopLogging(); | 968 log_dumper->StopLogging(); |
941 | 969 |
942 // Read the generated file from disk. | 970 // Read the generated file from disk. |
943 ParsedRtcEventLog parsed_log; | 971 ParsedRtcEventLog parsed_log; |
944 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 972 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
945 | 973 |
946 // Verify that what we read back from the event log is the same as | 974 // Verify that what we read back from the event log is the same as |
947 // what we wrote down. | 975 // what we wrote down. |
948 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); | 976 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); |
(...skipping 17 matching lines...) Expand all Loading... |
966 // filename. | 994 // filename. |
967 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); | 995 auto test_info = ::testing::UnitTest::GetInstance()->current_test_info(); |
968 const std::string temp_filename = | 996 const std::string temp_filename = |
969 test::OutputPath() + test_info->test_case_name() + test_info->name(); | 997 test::OutputPath() + test_info->test_case_name() + test_info->name(); |
970 | 998 |
971 rtc::ScopedFakeClock fake_clock; | 999 rtc::ScopedFakeClock fake_clock; |
972 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); | 1000 fake_clock.SetTimeMicros(prng.Rand<uint32_t>()); |
973 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); | 1001 std::unique_ptr<RtcEventLog> log_dumper(RtcEventLog::Create()); |
974 | 1002 |
975 log_dumper->StartLogging(temp_filename, 10000000); | 1003 log_dumper->StartLogging(temp_filename, 10000000); |
976 log_dumper->LogProbeResultFailure( | 1004 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultFailure>( |
977 0, ProbeFailureReason::kInvalidSendReceiveInterval); | 1005 0, ProbeFailureReason::kInvalidSendReceiveInterval)); |
978 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 1006 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
979 log_dumper->LogProbeResultFailure( | 1007 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultFailure>( |
980 1, ProbeFailureReason::kInvalidSendReceiveRatio); | 1008 1, ProbeFailureReason::kInvalidSendReceiveRatio)); |
981 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 1009 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
982 log_dumper->LogProbeResultFailure(2, ProbeFailureReason::kTimeout); | 1010 log_dumper->Log(rtc::MakeUnique<RtcEventProbeResultFailure>( |
| 1011 2, ProbeFailureReason::kTimeout)); |
983 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); | 1012 fake_clock.AdvanceTimeMicros(prng.Rand(1, 1000)); |
984 log_dumper->StopLogging(); | 1013 log_dumper->StopLogging(); |
985 | 1014 |
986 // Read the generated file from disk. | 1015 // Read the generated file from disk. |
987 ParsedRtcEventLog parsed_log; | 1016 ParsedRtcEventLog parsed_log; |
988 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); | 1017 ASSERT_TRUE(parsed_log.ParseFile(temp_filename)); |
989 | 1018 |
990 // Verify that what we read back from the event log is the same as | 1019 // Verify that what we read back from the event log is the same as |
991 // what we wrote down. | 1020 // what we wrote down. |
992 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); | 1021 EXPECT_EQ(5u, parsed_log.GetNumberOfEvents()); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 } | 1083 } |
1055 Random prng; | 1084 Random prng; |
1056 }; | 1085 }; |
1057 | 1086 |
1058 class AudioReceiveConfigReadWriteTest : public ConfigReadWriteTest { | 1087 class AudioReceiveConfigReadWriteTest : public ConfigReadWriteTest { |
1059 public: | 1088 public: |
1060 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { | 1089 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { |
1061 GenerateAudioReceiveConfig(extensions, &config, &prng); | 1090 GenerateAudioReceiveConfig(extensions, &config, &prng); |
1062 } | 1091 } |
1063 void LogConfig(RtcEventLog* event_log) override { | 1092 void LogConfig(RtcEventLog* event_log) override { |
1064 event_log->LogAudioReceiveStreamConfig(config); | 1093 event_log->Log(rtc::MakeUnique<RtcEventAudioReceiveStreamConfig>( |
| 1094 rtc::MakeUnique<rtclog::StreamConfig>(config))); |
1065 } | 1095 } |
1066 void VerifyConfig(const ParsedRtcEventLog& parsed_log, | 1096 void VerifyConfig(const ParsedRtcEventLog& parsed_log, |
1067 size_t index) override { | 1097 size_t index) override { |
1068 RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig(parsed_log, index, | 1098 RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig(parsed_log, index, |
1069 config); | 1099 config); |
1070 } | 1100 } |
1071 rtclog::StreamConfig config; | 1101 rtclog::StreamConfig config; |
1072 }; | 1102 }; |
1073 | 1103 |
1074 class AudioSendConfigReadWriteTest : public ConfigReadWriteTest { | 1104 class AudioSendConfigReadWriteTest : public ConfigReadWriteTest { |
1075 public: | 1105 public: |
1076 AudioSendConfigReadWriteTest() {} | 1106 AudioSendConfigReadWriteTest() {} |
1077 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { | 1107 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { |
1078 GenerateAudioSendConfig(extensions, &config, &prng); | 1108 GenerateAudioSendConfig(extensions, &config, &prng); |
1079 } | 1109 } |
1080 void LogConfig(RtcEventLog* event_log) override { | 1110 void LogConfig(RtcEventLog* event_log) override { |
1081 event_log->LogAudioSendStreamConfig(config); | 1111 event_log->Log(rtc::MakeUnique<RtcEventAudioSendStreamConfig>( |
| 1112 rtc::MakeUnique<rtclog::StreamConfig>(config))); |
1082 } | 1113 } |
1083 void VerifyConfig(const ParsedRtcEventLog& parsed_log, | 1114 void VerifyConfig(const ParsedRtcEventLog& parsed_log, |
1084 size_t index) override { | 1115 size_t index) override { |
1085 RtcEventLogTestHelper::VerifyAudioSendStreamConfig(parsed_log, index, | 1116 RtcEventLogTestHelper::VerifyAudioSendStreamConfig(parsed_log, index, |
1086 config); | 1117 config); |
1087 } | 1118 } |
1088 rtclog::StreamConfig config; | 1119 rtclog::StreamConfig config; |
1089 }; | 1120 }; |
1090 | 1121 |
1091 class VideoReceiveConfigReadWriteTest : public ConfigReadWriteTest { | 1122 class VideoReceiveConfigReadWriteTest : public ConfigReadWriteTest { |
1092 public: | 1123 public: |
1093 VideoReceiveConfigReadWriteTest() {} | 1124 VideoReceiveConfigReadWriteTest() {} |
1094 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { | 1125 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { |
1095 GenerateVideoReceiveConfig(extensions, &config, &prng); | 1126 GenerateVideoReceiveConfig(extensions, &config, &prng); |
1096 } | 1127 } |
1097 void LogConfig(RtcEventLog* event_log) override { | 1128 void LogConfig(RtcEventLog* event_log) override { |
1098 event_log->LogVideoReceiveStreamConfig(config); | 1129 event_log->Log(rtc::MakeUnique<RtcEventVideoReceiveStreamConfig>( |
| 1130 rtc::MakeUnique<rtclog::StreamConfig>(config))); |
1099 } | 1131 } |
1100 void VerifyConfig(const ParsedRtcEventLog& parsed_log, | 1132 void VerifyConfig(const ParsedRtcEventLog& parsed_log, |
1101 size_t index) override { | 1133 size_t index) override { |
1102 RtcEventLogTestHelper::VerifyVideoReceiveStreamConfig(parsed_log, index, | 1134 RtcEventLogTestHelper::VerifyVideoReceiveStreamConfig(parsed_log, index, |
1103 config); | 1135 config); |
1104 } | 1136 } |
1105 rtclog::StreamConfig config; | 1137 rtclog::StreamConfig config; |
1106 }; | 1138 }; |
1107 | 1139 |
1108 class VideoSendConfigReadWriteTest : public ConfigReadWriteTest { | 1140 class VideoSendConfigReadWriteTest : public ConfigReadWriteTest { |
1109 public: | 1141 public: |
1110 VideoSendConfigReadWriteTest() {} | 1142 VideoSendConfigReadWriteTest() {} |
1111 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { | 1143 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { |
1112 GenerateVideoSendConfig(extensions, &config, &prng); | 1144 GenerateVideoSendConfig(extensions, &config, &prng); |
1113 } | 1145 } |
1114 void LogConfig(RtcEventLog* event_log) override { | 1146 void LogConfig(RtcEventLog* event_log) override { |
1115 event_log->LogVideoSendStreamConfig(config); | 1147 event_log->Log(rtc::MakeUnique<RtcEventVideoSendStreamConfig>( |
| 1148 rtc::MakeUnique<rtclog::StreamConfig>(config))); |
1116 } | 1149 } |
1117 void VerifyConfig(const ParsedRtcEventLog& parsed_log, | 1150 void VerifyConfig(const ParsedRtcEventLog& parsed_log, |
1118 size_t index) override { | 1151 size_t index) override { |
1119 RtcEventLogTestHelper::VerifyVideoSendStreamConfig(parsed_log, index, | 1152 RtcEventLogTestHelper::VerifyVideoSendStreamConfig(parsed_log, index, |
1120 config); | 1153 config); |
1121 } | 1154 } |
1122 rtclog::StreamConfig config; | 1155 rtclog::StreamConfig config; |
1123 }; | 1156 }; |
1124 | 1157 |
1125 class AudioNetworkAdaptationReadWriteTest : public ConfigReadWriteTest { | 1158 class AudioNetworkAdaptationReadWriteTest : public ConfigReadWriteTest { |
1126 public: | 1159 public: |
1127 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { | 1160 void GenerateConfig(const RtpHeaderExtensionMap& extensions) override { |
1128 GenerateAudioNetworkAdaptation(extensions, &config, &prng); | 1161 GenerateAudioNetworkAdaptation(extensions, &config, &prng); |
1129 } | 1162 } |
1130 void LogConfig(RtcEventLog* event_log) override { | 1163 void LogConfig(RtcEventLog* event_log) override { |
1131 event_log->LogAudioNetworkAdaptation(config); | 1164 event_log->Log(rtc::MakeUnique<RtcEventAudioNetworkAdaptation>( |
| 1165 rtc::MakeUnique<AudioEncoderRuntimeConfig>(config))); |
1132 } | 1166 } |
1133 void VerifyConfig(const ParsedRtcEventLog& parsed_log, | 1167 void VerifyConfig(const ParsedRtcEventLog& parsed_log, |
1134 size_t index) override { | 1168 size_t index) override { |
1135 RtcEventLogTestHelper::VerifyAudioNetworkAdaptation(parsed_log, index, | 1169 RtcEventLogTestHelper::VerifyAudioNetworkAdaptation(parsed_log, index, |
1136 config); | 1170 config); |
1137 } | 1171 } |
1138 AudioEncoderRuntimeConfig config; | 1172 AudioEncoderRuntimeConfig config; |
1139 }; | 1173 }; |
1140 | 1174 |
1141 TEST(RtcEventLogTest, LogAudioReceiveConfig) { | 1175 TEST(RtcEventLogTest, LogAudioReceiveConfig) { |
(...skipping 15 matching lines...) Expand all Loading... |
1157 VideoSendConfigReadWriteTest test; | 1191 VideoSendConfigReadWriteTest test; |
1158 test.DoTest(); | 1192 test.DoTest(); |
1159 } | 1193 } |
1160 | 1194 |
1161 TEST(RtcEventLogTest, LogAudioNetworkAdaptation) { | 1195 TEST(RtcEventLogTest, LogAudioNetworkAdaptation) { |
1162 AudioNetworkAdaptationReadWriteTest test; | 1196 AudioNetworkAdaptationReadWriteTest test; |
1163 test.DoTest(); | 1197 test.DoTest(); |
1164 } | 1198 } |
1165 | 1199 |
1166 } // namespace webrtc | 1200 } // namespace webrtc |
OLD | NEW |