Codec Capability Options #277

Closed
robin-raymond opened this Issue Nov 11, 2015 · 1 comment

Projects

None yet

2 participants

@robin-raymond
Contributor

The text in 9.3.2 Codec capability options correctly reads:
If a defined codec option is unset when returned from RTCRtpReceiver/Sender.getCapabilities(), then the engine does not allow adjusting the option. If set when returned from RTCRtpReceiver/Sender.getCapabilities() then the default value for the engine is given.

But then in the table we have:

Property Name   Values  Receiver/Sender Notes
complexity  boolean Sender  Indicates whether the sender supports configuring the encoder's computational comiplexity (if true) or not (if false).
signal  boolean Sender  Indicates whether the sender supports configuring the type of signal being encoded (if true) or not (if false).
application boolean Sender  Indicates whether the sender supports configuring the encoder's intended application (if true) or not (if false).
packetLossPerc  boolean Sender  Indicates whether the sender supports configuring the encoder's expected packet loss percentage (if true) or not (if false).
predictionDisabled  boolean Sender  Indicates whether the sender supports configuring whether prediction is disabled (if true) or not (if false).

Each property being a boolean value indicating if it's supported or not. This

The settings in the Opus Codec Parameters however have the correct information for the entries above:

complexity  unsigned long   Sender  Configures the encoder's computational comiplexity. The supported range is 0-10 with 10 representing the highest complexity.
signal  DOMString   Sender  Configures the type of signal being encoded. Possible values are "auto", "music" and "voice".
application DOMString   Sender  Configures the encoder's intended application. Possible values are "voip", "audio" and "lowdelay".
packetLossPerc  unsigned long   Sender  Configures the encoder's expected packet loss percentage. Possible values are 0-100.
predictionDisabled  boolean Sender  Configures whether prediction is disabled, making frames almost complete independent (if true) or not (if false).

NOTE: The reason why the first table has the wrong values is a historical remainder. This was before deciding that "unset" means the setting is supported/not supported. So at the time they needed a property to indicate the value was valid/not valid. But now we have "unset" so they instead should indicate the default value for the engine as described in the text.

@aboba
Contributor
aboba commented Nov 16, 2015

But what values do the capability options contain? The default values for those options?

@aboba aboba closed this Dec 20, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment