Chromium Code Reviews| Index: webrtc/call/rtc_event_log_unittest.cc |
| diff --git a/webrtc/call/rtc_event_log_unittest.cc b/webrtc/call/rtc_event_log_unittest.cc |
| index a4fdd13512f50e2dbb03eb233380ebf2aec80a66..e0faf26bcdd676e29e71679d1798465e9bcc662e 100644 |
| --- a/webrtc/call/rtc_event_log_unittest.cc |
| +++ b/webrtc/call/rtc_event_log_unittest.cc |
| @@ -11,6 +11,7 @@ |
| #ifdef ENABLE_RTC_EVENT_LOG |
| #include <stdio.h> |
| +#include <string.h> |
|
ivoc
2015/11/02 10:51:18
Is this used anywhere?
terelius
2015/11/05 18:01:18
You're right. It was used to access memcpy in a pr
|
| #include <string> |
| #include <vector> |
| @@ -21,6 +22,7 @@ |
| #include "webrtc/base/thread.h" |
| #include "webrtc/call.h" |
| #include "webrtc/call/rtc_event_log.h" |
| +#include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" |
| #include "webrtc/system_wrappers/include/clock.h" |
| #include "webrtc/test/test_suite.h" |
| @@ -138,9 +140,6 @@ void VerifyReceiveStreamConfig(const rtclog::Event& event, |
| else |
| EXPECT_EQ(rtclog::VideoReceiveConfig::RTCP_REDUCEDSIZE, |
| receiver_config.rtcp_mode()); |
| - ASSERT_TRUE(receiver_config.has_receiver_reference_time_report()); |
| - EXPECT_EQ(config.rtp.rtcp_xr.receiver_reference_time_report, |
| - receiver_config.receiver_reference_time_report()); |
| ASSERT_TRUE(receiver_config.has_remb()); |
| EXPECT_EQ(config.rtp.remb, receiver_config.remb()); |
| // Check RTX map. |
| @@ -214,9 +213,6 @@ void VerifySendStreamConfig(const rtclog::Event& event, |
| ASSERT_TRUE(sender_config.has_rtx_payload_type()); |
| EXPECT_EQ(config.rtp.rtx.payload_type, sender_config.rtx_payload_type()); |
| } |
| - // Check CNAME. |
| - ASSERT_TRUE(sender_config.has_c_name()); |
| - EXPECT_EQ(config.rtp.c_name, sender_config.c_name()); |
| // Check encoder. |
| ASSERT_TRUE(sender_config.has_encoder()); |
| ASSERT_TRUE(sender_config.encoder().has_name()); |
| @@ -230,7 +226,7 @@ void VerifySendStreamConfig(const rtclog::Event& event, |
| void VerifyRtpEvent(const rtclog::Event& event, |
| bool incoming, |
| MediaType media_type, |
| - uint8_t* header, |
| + const uint8_t* header, |
| size_t header_size, |
| size_t total_size) { |
| ASSERT_TRUE(IsValidBasicEvent(event)); |
| @@ -252,7 +248,7 @@ void VerifyRtpEvent(const rtclog::Event& event, |
| void VerifyRtcpEvent(const rtclog::Event& event, |
| bool incoming, |
| MediaType media_type, |
| - uint8_t* packet, |
| + const uint8_t* packet, |
| size_t total_size) { |
| ASSERT_TRUE(IsValidBasicEvent(event)); |
| ASSERT_EQ(rtclog::Event::RTCP_EVENT, event.type()); |
| @@ -337,10 +333,19 @@ size_t GenerateRtpPacket(uint32_t extensions_bitvector, |
| return header_size; |
| } |
| -void GenerateRtcpPacket(uint8_t* packet, size_t packet_size) { |
| - for (size_t i = 0; i < packet_size; i++) { |
| - packet[i] = rand(); |
| - } |
| +rtc::scoped_ptr<rtcp::RawPacket> GenerateRtcpPacket() { |
| + rtcp::ReportBlock report_block; |
| + report_block.To(rand()); // kRemoteSsrc |
|
åsapersson
2015/11/02 09:31:12
// remote SSRC
terelius
2015/11/05 18:01:18
Done.
|
| + report_block.WithFractionLost(rand()%50); |
|
åsapersson
2015/11/02 09:31:12
nit: add spaces before and after %
terelius
2015/11/05 18:01:18
Done.
|
| + |
| + rtcp::SenderReport sender_report; |
| + sender_report.From(rand()); // kSenderSsrc |
|
åsapersson
2015/11/02 09:31:12
// sender SSRC
terelius
2015/11/05 18:01:18
Done.
|
| + sender_report.WithNtpSec(rand()); |
| + sender_report.WithNtpFrac(rand()); |
| + sender_report.WithPacketCount(rand()); |
| + sender_report.WithReportBlock(report_block); |
| + |
| + return sender_report.Build(); |
| } |
| void GenerateVideoReceiveConfig(uint32_t extensions_bitvector, |
| @@ -356,7 +361,6 @@ void GenerateVideoReceiveConfig(uint32_t extensions_bitvector, |
| // Add extensions and settings for RTCP. |
| config->rtp.rtcp_mode = |
| rand() % 2 ? RtcpMode::kCompound : RtcpMode::kReducedSize; |
| - config->rtp.rtcp_xr.receiver_reference_time_report = (rand() % 2 == 1); |
| config->rtp.remb = (rand() % 2 == 1); |
| // Add a map from a payload type to a new ssrc and a new payload type for RTX. |
| VideoReceiveStream::Config::Rtp::Rtx rtx_pair; |
| @@ -382,8 +386,6 @@ void GenerateVideoSendConfig(uint32_t extensions_bitvector, |
| // Add a map from a payload type to new ssrcs and a new payload type for RTX. |
| config->rtp.rtx.ssrcs.push_back(rand()); |
| config->rtp.rtx.payload_type = rand(); |
| - // Add a CNAME. |
| - config->rtp.c_name = "some.user@some.host"; |
| // Add header extensions. |
| for (unsigned i = 0; i < kNumExtensions; i++) { |
| if (extensions_bitvector & (1u << i)) { |
| @@ -404,7 +406,7 @@ void LogSessionAndReadBack(size_t rtp_count, |
| ASSERT_LE(rtcp_count, rtp_count); |
| ASSERT_LE(playout_count, rtp_count); |
| std::vector<rtc::Buffer> rtp_packets; |
| - std::vector<rtc::Buffer> rtcp_packets; |
| + std::vector<rtc::scoped_ptr<rtcp::RawPacket> > rtcp_packets; |
| std::vector<size_t> rtp_header_sizes; |
| std::vector<uint32_t> playout_ssrcs; |
| @@ -423,9 +425,7 @@ void LogSessionAndReadBack(size_t rtp_count, |
| } |
| // Create rtcp_count RTCP packets containing random data. |
| for (size_t i = 0; i < rtcp_count; i++) { |
| - size_t packet_size = 1000 + rand() % 64; |
| - rtcp_packets.push_back(rtc::Buffer(packet_size)); |
| - GenerateRtcpPacket(rtcp_packets[i].data(), packet_size); |
| + rtcp_packets.push_back(GenerateRtcpPacket()); |
| } |
| // Create playout_count random SSRCs to use when logging AudioPlayout events. |
| for (size_t i = 0; i < playout_count; i++) { |
| @@ -458,8 +458,8 @@ void LogSessionAndReadBack(size_t rtp_count, |
| log_dumper->LogRtcpPacket( |
| rtcp_index % 2 == 0, // Every second packet is incoming |
| rtcp_index % 3 == 0 ? MediaType::AUDIO : MediaType::VIDEO, |
| - rtcp_packets[rtcp_index - 1].data(), |
| - rtcp_packets[rtcp_index - 1].size()); |
| + rtcp_packets[rtcp_index - 1]->Buffer(), |
| + rtcp_packets[rtcp_index - 1]->Length()); |
| rtcp_index++; |
| } |
| if (i * playout_count >= playout_index * rtp_count) { |
| @@ -497,8 +497,8 @@ void LogSessionAndReadBack(size_t rtp_count, |
| VerifyRtcpEvent(parsed_stream.stream(event_index), |
| rtcp_index % 2 == 0, // Every second packet is incoming. |
| rtcp_index % 3 == 0 ? MediaType::AUDIO : MediaType::VIDEO, |
| - rtcp_packets[rtcp_index - 1].data(), |
| - rtcp_packets[rtcp_index - 1].size()); |
| + rtcp_packets[rtcp_index - 1]->Buffer(), |
| + rtcp_packets[rtcp_index - 1]->Length()); |
| event_index++; |
| rtcp_index++; |
| } |
| @@ -556,8 +556,8 @@ void DropOldEvents(uint32_t extensions_bitvector, |
| unsigned int random_seed) { |
| rtc::Buffer old_rtp_packet; |
| rtc::Buffer recent_rtp_packet; |
| - rtc::Buffer old_rtcp_packet; |
| - rtc::Buffer recent_rtcp_packet; |
| + rtc::scoped_ptr<rtcp::RawPacket> old_rtcp_packet; |
| + rtc::scoped_ptr<rtcp::RawPacket> recent_rtcp_packet; |
| VideoReceiveStream::Config receiver_config(nullptr); |
| VideoSendStream::Config sender_config(nullptr); |
| @@ -575,12 +575,8 @@ void DropOldEvents(uint32_t extensions_bitvector, |
| extensions_bitvector, csrcs_count, recent_rtp_packet.data(), packet_size); |
| // Create two RTCP packets containing random data. |
| - packet_size = 1000 + rand() % 64; |
| - old_rtcp_packet.SetSize(packet_size); |
| - GenerateRtcpPacket(old_rtcp_packet.data(), packet_size); |
| - packet_size = 1000 + rand() % 64; |
| - recent_rtcp_packet.SetSize(packet_size); |
| - GenerateRtcpPacket(recent_rtcp_packet.data(), packet_size); |
| + old_rtcp_packet = GenerateRtcpPacket(); |
| + recent_rtcp_packet = GenerateRtcpPacket(); |
| // Create configurations for the video streams. |
| GenerateVideoReceiveConfig(extensions_bitvector, &receiver_config); |
| @@ -601,16 +597,16 @@ void DropOldEvents(uint32_t extensions_bitvector, |
| log_dumper->LogVideoSendStreamConfig(sender_config); |
| log_dumper->LogRtpHeader(false, MediaType::AUDIO, old_rtp_packet.data(), |
| old_rtp_packet.size()); |
| - log_dumper->LogRtcpPacket(true, MediaType::AUDIO, old_rtcp_packet.data(), |
| - old_rtcp_packet.size()); |
| + log_dumper->LogRtcpPacket(true, MediaType::AUDIO, old_rtcp_packet->Buffer(), |
| + old_rtcp_packet->Length()); |
| // Sleep 55 ms to let old events be removed from the queue. |
| rtc::Thread::SleepMs(55); |
| log_dumper->StartLogging(temp_filename, 10000000); |
| log_dumper->LogRtpHeader(true, MediaType::VIDEO, recent_rtp_packet.data(), |
| recent_rtp_packet.size()); |
| log_dumper->LogRtcpPacket(false, MediaType::VIDEO, |
| - recent_rtcp_packet.data(), |
| - recent_rtcp_packet.size()); |
| + recent_rtcp_packet->Buffer(), |
| + recent_rtcp_packet->Length()); |
| } |
| // Read the generated file from disk. |
| @@ -628,7 +624,7 @@ void DropOldEvents(uint32_t extensions_bitvector, |
| recent_rtp_packet.data(), recent_header_size, |
| recent_rtp_packet.size()); |
| VerifyRtcpEvent(parsed_stream.stream(4), false, MediaType::VIDEO, |
| - recent_rtcp_packet.data(), recent_rtcp_packet.size()); |
| + recent_rtcp_packet->Buffer(), recent_rtcp_packet->Length()); |
| // Clean up temporary file - can be pretty slow. |
| remove(temp_filename.c_str()); |