New api struct BitrateSettings.
Replaces both BitrateConstraintsMask and
PeerConnectionInterface::BitrateParameters. The latter is kept
temporarily for backwards compatibility.
Bug: None
Change-Id: Ibe1d043f2a76e56ff67809774e9c0f5e0ec9e00f
Reviewed-on: https://webrtc-review.googlesource.com/74020
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23148}
diff --git a/pc/peerconnection.cc b/pc/peerconnection.cc
index ea76e3d..54de56c 100644
--- a/pc/peerconnection.cc
+++ b/pc/peerconnection.cc
@@ -3019,33 +3019,33 @@
}
}
-RTCError PeerConnection::SetBitrate(const BitrateParameters& bitrate) {
+RTCError PeerConnection::SetBitrate(const BitrateSettings& bitrate) {
if (!worker_thread()->IsCurrent()) {
return worker_thread()->Invoke<RTCError>(
- RTC_FROM_HERE, rtc::Bind(&PeerConnection::SetBitrate, this, bitrate));
+ RTC_FROM_HERE, [&](){ return SetBitrate(bitrate); });
}
- const bool has_min = static_cast<bool>(bitrate.min_bitrate_bps);
- const bool has_current = static_cast<bool>(bitrate.current_bitrate_bps);
- const bool has_max = static_cast<bool>(bitrate.max_bitrate_bps);
+ const bool has_min = bitrate.min_bitrate_bps.has_value();
+ const bool has_start = bitrate.start_bitrate_bps.has_value();
+ const bool has_max = bitrate.max_bitrate_bps.has_value();
if (has_min && *bitrate.min_bitrate_bps < 0) {
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_PARAMETER,
"min_bitrate_bps <= 0");
}
- if (has_current) {
- if (has_min && *bitrate.current_bitrate_bps < *bitrate.min_bitrate_bps) {
+ if (has_start) {
+ if (has_min && *bitrate.start_bitrate_bps < *bitrate.min_bitrate_bps) {
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_PARAMETER,
- "current_bitrate_bps < min_bitrate_bps");
- } else if (*bitrate.current_bitrate_bps < 0) {
+ "start_bitrate_bps < min_bitrate_bps");
+ } else if (*bitrate.start_bitrate_bps < 0) {
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_PARAMETER,
"curent_bitrate_bps < 0");
}
}
if (has_max) {
- if (has_current &&
- *bitrate.max_bitrate_bps < *bitrate.current_bitrate_bps) {
+ if (has_start &&
+ *bitrate.max_bitrate_bps < *bitrate.start_bitrate_bps) {
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_PARAMETER,
- "max_bitrate_bps < current_bitrate_bps");
+ "max_bitrate_bps < start_bitrate_bps");
} else if (has_min && *bitrate.max_bitrate_bps < *bitrate.min_bitrate_bps) {
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_PARAMETER,
"max_bitrate_bps < min_bitrate_bps");
@@ -3055,13 +3055,8 @@
}
}
- BitrateConstraintsMask mask;
- mask.min_bitrate_bps = bitrate.min_bitrate_bps;
- mask.start_bitrate_bps = bitrate.current_bitrate_bps;
- mask.max_bitrate_bps = bitrate.max_bitrate_bps;
-
RTC_DCHECK(call_.get());
- call_->GetTransportControllerSend()->SetClientBitratePreferences(mask);
+ call_->GetTransportControllerSend()->SetClientBitratePreferences(bitrate);
return RTCError::OK();
}