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 cae2a202e0e090835032b99a51ec1ff33d50936d..3e6a863034350d7f31edb14c9c05ad0183bc2a22 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> |
#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_sender.h" |
#include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" |
#include "webrtc/system_wrappers/interface/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()); |
@@ -337,10 +333,61 @@ 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(); |
+void GenerateRtcpPacket(rtc::Buffer* packet) { |
åsapersson
2015/10/28 14:16:43
To generate rtcp packets, the RtcpPacket class cou
terelius
2015/10/30 11:17:18
Thanks for the suggestion; the new code is much cl
|
+ class OnePacketTransport : public Transport, public NullRtpData { |
+ public: |
+ OnePacketTransport(rtc::Buffer* packet) { packet_ = packet; } |
+ |
+ bool SendRtp(const uint8_t* /*data*/, |
+ size_t /*len*/, |
+ const PacketOptions& /*options*/) override { |
+ return false; |
+ } |
+ bool SendRtcp(const uint8_t* data, size_t len) override { |
+ packet_->AppendData(data, len); |
+ return true; |
+ } |
+ int OnReceivedPayloadData(const uint8_t* /*payload_data*/, |
+ const size_t /*payload_size*/, |
+ const WebRtcRTPHeader* /*rtp_header*/) override { |
+ return 0; |
+ } |
+ rtc::Buffer* packet_; |
+ }; |
+ |
+ packet->EnsureCapacity(IP_PACKET_SIZE); |
+ packet->SetSize(0); |
+ OnePacketTransport transport(packet); |
+ SimulatedClock clock(1335900000); |
+ rtc::scoped_ptr<ReceiveStatistics> receive_statistics( |
+ ReceiveStatistics::Create(&clock)); |
+ RTCPSender::FeedbackState feedback_state; |
+ RTCPSender rtcp_sender(false, // audio |
+ &clock, // clock |
+ receive_statistics.get(), // Used to generate RR |
+ nullptr, // packet_type_counter_observer |
+ &transport); |
+ rtcp_sender.SetSSRC(rand()); // kSenderSsrc |
+ rtcp_sender.SetRemoteSSRC(rand()); // kRemoteSsrc |
+ |
+ // Insert packets in receive statistics |
+ for (int i = 0; i < 5; i++) { |
+ RTPHeader header; |
+ header.ssrc = rand(); |
+ header.sequenceNumber = rand(); |
+ header.timestamp = rand(); |
+ header.headerLength = 12; |
+ size_t kPacketLength = 100 + rand() % 100; |
+ receive_statistics->IncomingPacket(header, kPacketLength, false); |
} |
+ |
+ rtcp_sender.SetRTCPStatus(RtcpMode::kCompound); |
+ rtcp_sender.SendRTCP(feedback_state, kRtcpRr); |
+ |
+ // assert(transport.packet.size() <= packet_size); |
+ // packet_size = transport.packet.size(); |
+ // memcpy(packet, transport.packet.data(), packet_size); |
+ // return packet_size; |
stefan-webrtc
2015/10/28 13:37:12
Should this code be removed?
terelius
2015/10/30 11:17:18
Yes. Done.
|
} |
void GenerateVideoReceiveConfig(uint32_t extensions_bitvector, |
@@ -356,7 +403,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 +428,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)) { |
@@ -423,9 +467,8 @@ 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(rtc::Buffer()); |
+ GenerateRtcpPacket(&(rtcp_packets[i])); |
} |
// Create playout_count random SSRCs to use when logging AudioPlayout events. |
for (size_t i = 0; i < playout_count; i++) { |
@@ -575,12 +618,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); |
+ GenerateRtcpPacket(&old_rtcp_packet); |
+ GenerateRtcpPacket(&recent_rtcp_packet); |
// Create configurations for the video streams. |
GenerateVideoReceiveConfig(extensions_bitvector, &receiver_config); |