- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Tue, 15 Dec 2020 19:28:50 +0000
- To: public-webrtc-logs@w3.org
> But if the user of this API has to do a dance of calling negotiation methods before getCapabilities() works, then we can no longer "abstract away negotiation" from the application
`createOffer`, unlike `setLocalDescription`, doesn't change signaling state, so it shouldn't interfere with negotiation, should it? Using my polyfill [above](https://github.com/w3c/webrtc-pc/pull/2617#pullrequestreview-551961464) to illustrate a workaround:
```
// Setup code.
await RTCRtpSender.getCapabilitiesAsync();
pc.onnegotiationneeded = (perfect negotiation pattern);
// Application code.
const transceiver = pc.addTransceiver("video");
transceiver.setCodecPreferences(getCodecsWithH264First(RTCRtpSender.getCapabilities().codecs));
```
> there is also nothing suggesting that I have to call createOffer() in order for getCapabilities() to work
True, though I don't think this impacts interpretation, since specs are written for implementers, not users. And following it leads us here. We could add a second note saying we messed up, and here's a workaround.
--
GitHub Notification of comment by jan-ivar
Please view or discuss this issue at https://github.com/w3c/webrtc-pc/pull/2617#issuecomment-745514908 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 15 December 2020 19:28:53 UTC