[webrtc-extensions] Allow codec-specific encoder configuration (#122)

murillo128 has just created a new issue for https://github.com/w3c/webrtc-extensions:

== Allow codec-specific encoder configuration ==
Currently the only way of configure the underlying encoding settings is via `setParameters` and we have been removing attributes from it, so at the end the only the `maxBitrate` and `scaleResolutionDownBy` are supported.

There are several issues with the `setParameters` api, we have this complex get/set mechanism and we need to specify how all the parameters works across all codecs even if they are codec-specific.

The webcodecs api in the other hand is easier to use/understand/define:
https://www.w3.org/TR/webcodecs/#dom-audioencoder-configure

The interesting piece is that it allows codec-specific configurations to be defined, for example this one is for OPUS:

https://github.com/w3c/webcodecs/pull/594/files

```
dictionary OpusEncoderConfig {
  OpusBitstreamFormat format = "opus";
  [EnforceRange] unsigned long frameDuration = 20;
  [EnforceRange] unsigned long complexity;
  [EnforceRange] unsigned long packetlossperc = 0;
  boolean useinbandfec = false;
  boolean usedtx = false;
};

```

It would be great if we could have the same of fine grained control over the webrtc encoders. Not sure if this could be applicable to `setParameters` api  or if it would be better to introduce a new api so we are closer to the WebCodecs specs and expose a new `encoder` object with a `congigure` methods.

```
transcevier.sender.encoder.configure({usedtx:true})
```







Please view or discuss this issue at https://github.com/w3c/webrtc-extensions/issues/122 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 24 October 2022 09:14:13 UTC