From 25fce9adc5dd0b5d7098af60ad4e202429e62e12 Mon Sep 17 00:00:00 2001 From: "sprang@webrtc.org" Date: Wed, 16 Oct 2013 13:29:14 +0000 Subject: [PATCH] Fixed issue with how MTU is calculated. BUG= R=holmer@google.com, stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2410004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4976 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/video_engine/internal/video_send_stream.cc | 4 ++-- webrtc/video_engine/new_include/video_send_stream.h | 3 +-- webrtc/video_engine/test/send_stream_tests.cc | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/webrtc/video_engine/internal/video_send_stream.cc b/webrtc/video_engine/internal/video_send_stream.cc index a0a99e076f..55921c2ca7 100644 --- a/webrtc/video_engine/internal/video_send_stream.cc +++ b/webrtc/video_engine/internal/video_send_stream.cc @@ -166,8 +166,8 @@ VideoSendStream::VideoSendStream(newapi::Transport* transport, assert(network_ != NULL); network_->RegisterSendTransport(channel_, transport_adapter_); - network_->SetMTU(channel_, config_.rtp.max_packet_size + - VideoSendStream::Config::kDefaultPacketOverheader); + // 28 to match packet overhead in ModuleRtpRtcpImpl. + network_->SetMTU(channel_, config_.rtp.max_packet_size + 28); if (config.encoder) { external_codec_ = ViEExternalCodec::GetInterface(video_engine); diff --git a/webrtc/video_engine/new_include/video_send_stream.h b/webrtc/video_engine/new_include/video_send_stream.h index 9ae78bd40c..5c0ec32738 100644 --- a/webrtc/video_engine/new_include/video_send_stream.h +++ b/webrtc/video_engine/new_include/video_send_stream.h @@ -84,8 +84,7 @@ class VideoSendStream { start_state(NULL) {} VideoCodec codec; - static const size_t kDefaultPacketOverheader = 20 + 20; // IPv4 + TCP - static const size_t kDefaultMaxPacketSize = 1500 - kDefaultPacketOverheader; + static const size_t kDefaultMaxPacketSize = 1500 - 40; // TCP over IPv4. struct Rtp { Rtp() : mode(newapi::kRtcpReducedSize), max_packet_size(kDefaultMaxPacketSize) {} diff --git a/webrtc/video_engine/test/send_stream_tests.cc b/webrtc/video_engine/test/send_stream_tests.cc index 1c9f32d9ae..69923a704a 100644 --- a/webrtc/video_engine/test/send_stream_tests.cc +++ b/webrtc/video_engine/test/send_stream_tests.cc @@ -443,7 +443,7 @@ TEST_F(VideoSendStreamTest, MaxPacketSize) { EXPECT_TRUE( rtp_header_parser_->Parse(packet, static_cast(length), &header)); - EXPECT_TRUE(length <= max_length_); + EXPECT_LE(length, max_length_); accumulated_size_ += length;