Index: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
index c219cb1e001bb793e0461399e774dfcbc9aeade1..b6b9761c1b72921ce6d128b4142b26c926ad4b5e 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
@@ -444,6 +444,17 @@ int32_t ModuleRtpRtcpImpl::SetTransportOverhead( |
return 0; |
} |
+void ModuleRtpRtcpImpl::SetTransportOverhead( |
+ int transport_overhead_per_packet) { |
+ RTC_DCHECK_GT(transport_overhead_per_packet, 0); |
+ int mtu = rtp_sender_.MaxPayloadLength() + packet_overhead_; |
+ RTC_DCHECK_LT(transport_overhead_per_packet, mtu); |
+ size_t max_payload_length = mtu - transport_overhead_per_packet; |
+ packet_overhead_ = transport_overhead_per_packet; |
+ rtcp_sender_.SetMaxPayloadLength(max_payload_length); |
+ rtp_sender_.SetMaxPayloadLength(max_payload_length); |
+} |
+ |
int32_t ModuleRtpRtcpImpl::SetMaxTransferUnit(uint16_t mtu) { |
RTC_DCHECK_LE(mtu, IP_PACKET_SIZE) << "MTU too large: " << mtu; |
RTC_DCHECK_GT(mtu, packet_overhead_) << "MTU too small: " << mtu; |