Change network_priority from a double to an enum.

It can only be one of four possible values, so it never made sense
for it to be a double. Other than the fact that its neighbor
bitrate_priority is a double, and they're both defined as the same enum
in the web spec. However, while bitrate_priority being a double
offers more flexibility than the web spec, network_priority being a
double is only confusing.

Bug: webrtc:5658
Change-Id: I0784c116f3260c4b3a8b99a3cd85c8d66017e46f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168840
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Taylor <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30685}
This commit is contained in:
Taylor Brandstetter
2020-02-27 11:59:23 -08:00
committed by Commit Bot
parent 14e5f0b2cb
commit 3f1aee3cbb
9 changed files with 88 additions and 106 deletions

View File

@ -91,12 +91,11 @@ enum class DegradationPreference {
RTC_EXPORT extern const double kDefaultBitratePriority;
// TODO(deadbeef): Switch to an enum class.
struct RTC_EXPORT Priority {
static const double kVeryLow;
static const double kLow;
static const double kMedium;
static const double kHigh;
enum class Priority {
kVeryLow,
kLow,
kMedium,
kHigh,
};
struct RTC_EXPORT RtcpFeedback {
@ -401,7 +400,9 @@ struct RTC_EXPORT RtpEncodingParameters {
// we follow chromium's translation of the allowed string enum values for
// this field to 1.0, 0.5, et cetera, similar to bitrate_priority above.
// TODO(http://crbug.com/webrtc/8630): Implement this per encoding parameter.
double network_priority = Priority::kLow;
// TODO(http://crbug.com/webrtc/11379): TCP connections should use a single
// DSCP value even if shared by multiple senders; this is not implemented.
Priority network_priority = Priority::kLow;
// If set, this represents the Transport Independent Application Specific
// maximum bandwidth defined in RFC3890. If unset, there is no maximum