Enum DSCPValue
- java.lang.Object
-
- java.lang.Enum<DSCPValue>
-
- org.kurento.client.DSCPValue
-
- All Implemented Interfaces:
Serializable
,Comparable<DSCPValue>
public enum DSCPValue extends Enum<DSCPValue>
Possible DSCP valuesWebRTC recommended values are taken from RFC 8837 https://datatracker.ietf.org/doc/html/rfc8837#section-5 , These are the values from AUDIO_VERYLOW to DATA_HIGH. First element in the name indicates kind of traffic that it should apply to, the second indicates relative priority. For video, a third field would indicate if the traffic is intended for high throughput or not. As indicated on RFC 8837 section 5 diagram: +=======================+==========+=====+============+============+ | Flow Type | Very Low | Low | Medium | High | +=======================+==========+=====+============+============+ | Audio | LE (1) | DF | EF (46) | EF (46) | | | | (0) | | | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Interactive Video | LE (1) | DF | AF42, AF43 | AF41, AF42 | | with or without Audio | | (0) | (36, 38) | (34, 36) | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Non-Interactive Video | LE (1) | DF | AF32, AF33 | AF31, AF32 | | with or without Audio | | (0) | (28, 30) | (26, 28) | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Data | LE (1) | DF | AF11 | AF21 | | | | (0) | | | +-----------------------+----------+-----+------------+------------+ As indicated also in RFC, non interactive video is not considered
Apart from the WebRTC recommended values, we also include all possible values are referenced in http://www.iana.org/assignments/dscp-registry/dscp-registry.xml of course some of those values are synonyms for the WebRTC recommended ones, they are included mainly for completeness
And as a last point, we include a shorthand for Chrome supported markings for low (CS0), very low (CS1), medium (CS7) and high (CS7) priorities in priority property for RTCRtpSender parameters. See https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/setParameters
This only covers outgoing network packets from KMS, to complete the solution, DSCP must be also requested on client, unfortunately for traffic on the other direction, this must be requested to the browser or client. On browser, the client application needs to use the following API https://www.w3.org/TR/webrtc-priority/
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AF11
AF12
AF13
AF21
AF22
AF23
AF31
AF32
AF33
AF41
AF42
AF43
AUDIO_HIGH
AUDIO_LOW
AUDIO_MEDIUM
AUDIO_VERYLOW
CHROME_HIGH
CHROME_LOW
CHROME_MEDIUM
CHROME_VERYLOW
CS0
CS1
CS2
CS3
CS4
CS5
CS6
CS7
DATA_HIGH
DATA_LOW
DATA_MEDIUM
DATA_VERYLOW
EF
LE
NO_DSCP
NO_VALUE
VIDEO_HIGH
VIDEO_HIGH_THROUGHPUT
VIDEO_LOW
VIDEO_MEDIUM
VIDEO_MEDIUM_THROUGHPUT
VIDEO_VERYLOW
VOICEADMIT
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DSCPValue
valueOf(String name)
Returns the enum constant of this type with the specified name.static DSCPValue[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
NO_DSCP
public static final DSCPValue NO_DSCP
-
NO_VALUE
public static final DSCPValue NO_VALUE
-
AUDIO_VERYLOW
public static final DSCPValue AUDIO_VERYLOW
-
AUDIO_LOW
public static final DSCPValue AUDIO_LOW
-
AUDIO_MEDIUM
public static final DSCPValue AUDIO_MEDIUM
-
AUDIO_HIGH
public static final DSCPValue AUDIO_HIGH
-
VIDEO_VERYLOW
public static final DSCPValue VIDEO_VERYLOW
-
VIDEO_LOW
public static final DSCPValue VIDEO_LOW
-
VIDEO_MEDIUM
public static final DSCPValue VIDEO_MEDIUM
-
VIDEO_MEDIUM_THROUGHPUT
public static final DSCPValue VIDEO_MEDIUM_THROUGHPUT
-
VIDEO_HIGH
public static final DSCPValue VIDEO_HIGH
-
VIDEO_HIGH_THROUGHPUT
public static final DSCPValue VIDEO_HIGH_THROUGHPUT
-
DATA_VERYLOW
public static final DSCPValue DATA_VERYLOW
-
DATA_LOW
public static final DSCPValue DATA_LOW
-
DATA_MEDIUM
public static final DSCPValue DATA_MEDIUM
-
DATA_HIGH
public static final DSCPValue DATA_HIGH
-
CHROME_HIGH
public static final DSCPValue CHROME_HIGH
-
CHROME_MEDIUM
public static final DSCPValue CHROME_MEDIUM
-
CHROME_LOW
public static final DSCPValue CHROME_LOW
-
CHROME_VERYLOW
public static final DSCPValue CHROME_VERYLOW
-
CS0
public static final DSCPValue CS0
-
CS1
public static final DSCPValue CS1
-
CS2
public static final DSCPValue CS2
-
CS3
public static final DSCPValue CS3
-
CS4
public static final DSCPValue CS4
-
CS5
public static final DSCPValue CS5
-
CS6
public static final DSCPValue CS6
-
CS7
public static final DSCPValue CS7
-
AF11
public static final DSCPValue AF11
-
AF12
public static final DSCPValue AF12
-
AF13
public static final DSCPValue AF13
-
AF21
public static final DSCPValue AF21
-
AF22
public static final DSCPValue AF22
-
AF23
public static final DSCPValue AF23
-
AF31
public static final DSCPValue AF31
-
AF32
public static final DSCPValue AF32
-
AF33
public static final DSCPValue AF33
-
AF41
public static final DSCPValue AF41
-
AF42
public static final DSCPValue AF42
-
AF43
public static final DSCPValue AF43
-
EF
public static final DSCPValue EF
-
VOICEADMIT
public static final DSCPValue VOICEADMIT
-
LE
public static final DSCPValue LE
-
-
Method Detail
-
values
public static DSCPValue[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (DSCPValue c : DSCPValue.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static DSCPValue valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
-