Chromium Code Reviews| 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..5348ff6586f186802d4d0f5df763b62fb13f0a7a 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc |
| @@ -444,6 +444,20 @@ int32_t ModuleRtpRtcpImpl::SetTransportOverhead( |
| return 0; |
| } |
| +void ModuleRtpRtcpImpl::SetTransportOverhead( |
| + int transport_overhead_per_packet_byte) { |
| + if (transport_overhead_per_packet_byte == packet_overhead_) { |
|
the sun
2016/10/24 08:35:35
Is there a valid range for the input, which you ca
the sun
2016/10/24 08:35:35
Is this optimization really necessary?
michaelt
2016/10/24 09:15:26
Yes added DCHECKS
michaelt
2016/10/24 09:15:26
We can remove it. SetTransportOverhead should not
|
| + // Ok same as before. |
| + return; |
| + } |
| + |
| + size_t mtu = rtp_sender_.MaxPayloadLength() + packet_overhead_; |
| + size_t max_payload_length = mtu - transport_overhead_per_packet_byte; |
| + packet_overhead_ = transport_overhead_per_packet_byte; |
| + 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; |