From 9526187dde1e93389b1d9077287eade974f9acfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Fri, 10 Apr 2015 11:58:49 +0200 Subject: [PATCH] Default enable abs send time bwe for CallTest Using the single stream bwe is really bad for the screenshare test case in particular, but would probably help in other cases as well so enabling it by default in CallTest setup. BUG= R=pbos@webrtc.org, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/43089004 Cr-Commit-Position: refs/heads/master@{#8971} --- webrtc/test/call_test.cc | 5 +++++ webrtc/test/call_test.h | 1 + webrtc/video/rampup_tests.cc | 1 + webrtc/video/video_send_stream_tests.cc | 9 ++++----- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/webrtc/test/call_test.cc b/webrtc/test/call_test.cc index 9e78e82d7f..5d611432f4 100644 --- a/webrtc/test/call_test.cc +++ b/webrtc/test/call_test.cc @@ -94,6 +94,8 @@ void CallTest::CreateSendConfig(size_t num_streams) { send_config_.encoder_settings.encoder = &fake_encoder_; send_config_.encoder_settings.payload_name = "FAKE"; send_config_.encoder_settings.payload_type = kFakeSendPayloadType; + send_config_.rtp.extensions.push_back( + RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); encoder_config_.streams = test::CreateVideoStreams(num_streams); for (size_t i = 0; i < num_streams; ++i) send_config_.rtp.ssrcs.push_back(kSendSsrcs[i]); @@ -107,6 +109,8 @@ void CallTest::CreateMatchingReceiveConfigs() { assert(allocated_decoders_.empty()); VideoReceiveStream::Config config; config.rtp.local_ssrc = kReceiverLocalSsrc; + for (const RtpExtension& extension : send_config_.rtp.extensions) + config.rtp.extensions.push_back(extension); for (size_t i = 0; i < send_config_.rtp.ssrcs.size(); ++i) { VideoReceiveStream::Decoder decoder = test::CreateMatchingDecoder(send_config_.encoder_settings); @@ -162,6 +166,7 @@ const uint32_t CallTest::kSendRtxSsrcs[kNumSsrcs] = {0xBADCAFD, 0xBADCAFE, const uint32_t CallTest::kSendSsrcs[kNumSsrcs] = {0xC0FFED, 0xC0FFEE, 0xC0FFEF}; const uint32_t CallTest::kReceiverLocalSsrc = 0x123456; const int CallTest::kNackRtpHistoryMs = 1000; +const int CallTest::kAbsSendTimeExtensionId = 7; BaseTest::BaseTest(unsigned int timeout_ms) : RtpRtcpObserver(timeout_ms) { } diff --git a/webrtc/test/call_test.h b/webrtc/test/call_test.h index 4771dee59d..b8d13c4fd9 100644 --- a/webrtc/test/call_test.h +++ b/webrtc/test/call_test.h @@ -42,6 +42,7 @@ class CallTest : public ::testing::Test { static const uint32_t kSendSsrcs[kNumSsrcs]; static const uint32_t kReceiverLocalSsrc; static const int kNackRtpHistoryMs; + static const int kAbsSendTimeExtensionId; protected: void RunBaseTest(BaseTest* test); diff --git a/webrtc/video/rampup_tests.cc b/webrtc/video/rampup_tests.cc index 35d3297f39..7d8f98143b 100644 --- a/webrtc/video/rampup_tests.cc +++ b/webrtc/video/rampup_tests.cc @@ -380,6 +380,7 @@ void RampUpTest::RunRampUpTest(bool rtx, } CreateSendConfig(num_streams); + send_config_.rtp.extensions.clear(); rtc::scoped_ptr rbe_factory; RateControlType control_type; diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc index 61e3d5b795..5624e45f80 100644 --- a/webrtc/video/video_send_stream_tests.cc +++ b/webrtc/video/video_send_stream_tests.cc @@ -155,6 +155,7 @@ TEST_F(VideoSendStreamTest, SupportsAbsoluteSendTime) { void ModifyConfigs(VideoSendStream::Config* send_config, std::vector* receive_configs, VideoEncoderConfig* encoder_config) override { + send_config->rtp.extensions.clear(); send_config->rtp.extensions.push_back( RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); } @@ -593,11 +594,9 @@ void VideoSendStreamTest::TestPacketFragmentationSize(VideoFormat format, send_config->rtp.max_packet_size = kMaxPacketSize; send_config->post_encode_callback = this; - // Add an extension header, to make the RTP header larger than the base - // length of 12 bytes. - static const uint8_t kAbsSendTimeExtensionId = 13; - send_config->rtp.extensions.push_back( - RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); + // Make sure there is at least one extension header, to make the RTP + // header larger than the base length of 12 bytes. + EXPECT_FALSE(send_config->rtp.extensions.empty()); } void PerformTest() override {