Skip to content

Commit adaec45

Browse files
Erik SprångCommit Bot
authored andcommitted
Removes RepairedRtpStreamId from overhead calculation.
In https://webrtc-review.googlesource.com/c/src/+/173704 the overhead calculations were made more static, so that "volatile" extensions (those that are not set on every packet) are ignored. The intent, as the comments specify, was to ignore RepairedRtpStreamId since that is only used on RTX packets. This CL makes us actually count that extension as volatile. Bug: webrtc:10809 Change-Id: If42ae84e4c09ff9112e93f8d872ee890c6253a23 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175010 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31246}
1 parent da76ad3 commit adaec45

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

modules/rtp_rtcp/source/rtp_sender.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ bool IsNonVolatile(RTPExtensionType type) {
110110
case kRtpExtensionTransportSequenceNumber02:
111111
case kRtpExtensionFrameMarking:
112112
case kRtpExtensionRtpStreamId:
113-
case kRtpExtensionRepairedRtpStreamId:
114113
case kRtpExtensionMid:
115114
case kRtpExtensionGenericFrameDescriptor00:
116115
case kRtpExtensionGenericFrameDescriptor02:
@@ -121,6 +120,7 @@ bool IsNonVolatile(RTPExtensionType type) {
121120
case kRtpExtensionPlayoutDelay:
122121
case kRtpExtensionVideoContentType:
123122
case kRtpExtensionVideoTiming:
123+
case kRtpExtensionRepairedRtpStreamId:
124124
case kRtpExtensionColorSpace:
125125
return false;
126126
case kRtpExtensionNone:

modules/rtp_rtcp/source/rtp_sender_unittest.cc

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2032,6 +2032,30 @@ TEST_P(RtpSenderTest, CountMidOnlyUntilAcked) {
20322032
EXPECT_EQ(rtp_sender()->ExpectedPerPacketOverhead(), 12u);
20332033
}
20342034

2035+
TEST_P(RtpSenderTest, DontCountVolatileExtensionsIntoOverhead) {
2036+
RtpRtcp::Configuration config;
2037+
config.clock = &fake_clock_;
2038+
config.outgoing_transport = &transport_;
2039+
config.local_media_ssrc = kSsrc;
2040+
config.retransmission_rate_limiter = &retransmission_rate_limiter_;
2041+
rtp_sender_context_ = std::make_unique<RtpSenderContext>(config);
2042+
2043+
// Base RTP overhead is 12B.
2044+
EXPECT_EQ(rtp_sender()->ExpectedPerPacketOverhead(), 12u);
2045+
2046+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionInbandComfortNoise, 1);
2047+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteCaptureTime, 2);
2048+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionVideoRotation, 3);
2049+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionPlayoutDelay, 4);
2050+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionVideoContentType, 5);
2051+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionVideoTiming, 6);
2052+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionRepairedRtpStreamId, 7);
2053+
rtp_sender()->RegisterRtpHeaderExtension(kRtpExtensionColorSpace, 8);
2054+
2055+
// Still only 12B counted since can't count on above being sent.
2056+
EXPECT_EQ(rtp_sender()->ExpectedPerPacketOverhead(), 12u);
2057+
}
2058+
20352059
TEST_P(RtpSenderTest, SendPacketMatchesVideo) {
20362060
std::unique_ptr<RtpPacketToSend> packet =
20372061
BuildRtpPacket(kPayload, true, 0, fake_clock_.TimeInMilliseconds());

0 commit comments

Comments
 (0)