do not set rtp datachannel b=AS for SCTP
the limit is ignored anyway. Also rename rtp datachannel
bandwidth limit constant.
BUG=webrtc:6625
Change-Id: If7b26691ced8148955e98c86b9bed692b2e55e8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189972
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32479}
diff --git a/media/base/media_constants.cc b/media/base/media_constants.cc
index 5abb744..8c2c3bc 100644
--- a/media/base/media_constants.cc
+++ b/media/base/media_constants.cc
@@ -14,7 +14,7 @@
const int kVideoCodecClockrate = 90000;
const int kDataCodecClockrate = 90000;
-const int kDataMaxBandwidth = 30720; // bps
+const int kRtpDataMaxBandwidth = 30720; // bps
const float kHighSystemCpuThreshold = 0.85f;
const float kLowSystemCpuThreshold = 0.65f;
diff --git a/media/base/media_constants.h b/media/base/media_constants.h
index 37e177a..ec656a9 100644
--- a/media/base/media_constants.h
+++ b/media/base/media_constants.h
@@ -21,7 +21,7 @@
extern const int kVideoCodecClockrate;
extern const int kDataCodecClockrate;
-extern const int kDataMaxBandwidth; // bps
+extern const int kRtpDataMaxBandwidth; // bps
// Default CPU thresholds.
extern const float kHighSystemCpuThreshold;
diff --git a/media/base/rtp_data_engine.cc b/media/base/rtp_data_engine.cc
index 0303cd3..f05dffa 100644
--- a/media/base/rtp_data_engine.cc
+++ b/media/base/rtp_data_engine.cc
@@ -62,7 +62,7 @@
void RtpDataMediaChannel::Construct() {
sending_ = false;
receiving_ = false;
- send_limiter_.reset(new rtc::DataRateLimiter(kDataMaxBandwidth / 8, 1.0));
+ send_limiter_.reset(new rtc::DataRateLimiter(kRtpDataMaxBandwidth / 8, 1.0));
}
RtpDataMediaChannel::~RtpDataMediaChannel() {
@@ -245,7 +245,7 @@
bool RtpDataMediaChannel::SetMaxSendBandwidth(int bps) {
if (bps <= 0) {
- bps = kDataMaxBandwidth;
+ bps = kRtpDataMaxBandwidth;
}
send_limiter_.reset(new rtc::DataRateLimiter(bps / 8, 1.0));
RTC_LOG(LS_INFO) << "RtpDataMediaChannel::SetSendBandwidth to " << bps
diff --git a/pc/media_session.cc b/pc/media_session.cc
index 8c757cd..558cf32 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -2377,7 +2377,7 @@
return false;
}
- data->set_bandwidth(kDataMaxBandwidth);
+ data->set_bandwidth(kRtpDataMaxBandwidth);
SetMediaProtocol(secure_transport, data.get());
desc->AddContent(media_description_options.mid, MediaProtocolType::kRtp,
media_description_options.stopped, std::move(data));
@@ -2773,8 +2773,8 @@
return false;
}
- if (!rejected) {
- data_answer->set_bandwidth(kDataMaxBandwidth);
+ if (!rejected && session_options.data_channel_type == DCT_RTP) {
+ data_answer->set_bandwidth(kRtpDataMaxBandwidth);
} else {
// RFC 3264
// The answer MUST contain the same number of m-lines as the offer.
diff --git a/pc/media_session_unittest.cc b/pc/media_session_unittest.cc
index e1ff313..5a9002b 100644
--- a/pc/media_session_unittest.cc
+++ b/pc/media_session_unittest.cc
@@ -958,7 +958,7 @@
EXPECT_EQ(MEDIA_TYPE_DATA, dcd->type());
EXPECT_EQ(f1_.rtp_data_codecs(), dcd->codecs());
EXPECT_EQ(0U, dcd->first_ssrc()); // no sender is attached.
- EXPECT_EQ(cricket::kDataMaxBandwidth,
+ EXPECT_EQ(cricket::kRtpDataMaxBandwidth,
dcd->bandwidth()); // default bandwidth (auto)
EXPECT_TRUE(dcd->rtcp_mux()); // rtcp-mux defaults on
ASSERT_CRYPTO(dcd, 1U, kDefaultSrtpCryptoSuite);
@@ -2483,7 +2483,7 @@
ASSERT_EQ(1U, data_streams[1].ssrcs.size());
EXPECT_NE(0U, data_streams[1].ssrcs[0]);
- EXPECT_EQ(cricket::kDataMaxBandwidth,
+ EXPECT_EQ(cricket::kRtpDataMaxBandwidth,
dcd->bandwidth()); // default bandwidth (auto)
EXPECT_TRUE(dcd->rtcp_mux()); // rtcp-mux defaults on
ASSERT_CRYPTO(dcd, 1U, kDefaultSrtpCryptoSuite);
@@ -2843,7 +2843,7 @@
ASSERT_EQ(1U, data_streams[1].ssrcs.size());
EXPECT_NE(0U, data_streams[1].ssrcs[0]);
- EXPECT_EQ(cricket::kDataMaxBandwidth,
+ EXPECT_EQ(cricket::kRtpDataMaxBandwidth,
dcd->bandwidth()); // default bandwidth (auto)
EXPECT_TRUE(dcd->rtcp_mux()); // rtcp-mux defaults on
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index 2f9b631..9643dcc 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -3044,11 +3044,11 @@
// the first place and provides another way to get around the limitation.
if (media_type == cricket::MEDIA_TYPE_DATA &&
cricket::IsRtpProtocol(protocol) &&
- (b > cricket::kDataMaxBandwidth / 1000 ||
+ (b > cricket::kRtpDataMaxBandwidth / 1000 ||
bandwidth_type == kTransportSpecificBandwidth)) {
rtc::StringBuilder description;
description << "RTP-based data channels may not send more than "
- << cricket::kDataMaxBandwidth / 1000 << "kbps.";
+ << cricket::kRtpDataMaxBandwidth / 1000 << "kbps.";
return ParseFailed(line, description.str(), error);
}
// Convert values. Prevent integer overflow.