14:31:48 RRSAgent has joined #webrtc 14:31:48 logging to https://www.w3.org/2022/07/19-webrtc-irc 14:59:50 fippo has joined #webrtc 15:05:47 Present: Bernard, Jan-Ivar, Philipp, Florent, Carine, Dom, TimP 15:06:26 Recording is starting 15:06:26 Recording: https://www.youtube.com/watch?v=k0IN7_zMBo8 15:06:26 Meeting: WebRTC July 2022 meeting 15:06:32 Chair: Bernard, Jan-Ivar 15:06:43 Regrets: Harald, Elad 15:07:18 Agenda: https://www.w3.org/2011/04/webrtc/wiki/Main_Page 15:07:57 Slideset: https://lists.w3.org/Archives/Public/www-archive/2022Jul/att-0002/WEBRTCWG-2022-07-19.pdf 15:08:50 Topic: WebRTC Extensions 15:09:06 Subtopic: -> https://github.com/w3c/webrtc-extensions/issues/71 Add SCTP rate control params to RTCPeerConnection constructor 15:09:14 [slide 11] 15:09:45 Bernard: filed by someone writing a terminal app - would apply to a PC or the cloud 15:09:51 s/PC or/PC in/ 15:10:10 ... problems with exponential RTO backoffs 15:10:57 ... can we give developer control to these values which are tricky to get right? 15:11:36 ... typically apps would use unreliable unordered transport and deal with this themselves 15:12:16 ... not clear we need to allow this. any objection to "won't fix"? 15:12:35 TimP: it's not clear the values that were picked were "right" in the context we are 15:12:57 ... but I don't think we have a good API or good ultimate settings 15:13:43 ... having a low-latency / fail-faster config would be good 15:13:58 ... instead of noodling with precise numbers of RTO 15:14:23 Bernard: this sounds like an interesting idea, but probably as a different issue; this could be useful for media too 15:15:00 Jan-Ivar: what would this low-latency look like? couldn't JS timeout faster based on whatever timing they want? 15:15:10 Bernard: with unordered / unreliable, yes 15:16:02 ... with maxlifetime and maxretransmit 15:17:23 Florent: it feels like there may be several features behind this request 15:18:16 Bernard: sounds like consensus for "won't fix", with possibility of raising a different issue on low latency 15:18:41 Subtopic: -> https://github.com/w3c/webrtc-extensions/issues/107 Issue 107: maxFramerate probably should not be allowed in addTransceiver/setParameters for audio senders 15:18:44 [slide 12] 15:18:58 Bernard: any objection to move forward with a pull request? 15:19:01 [none expressed] 15:19:20 Subtopic: -> https://github.com/w3c/webrtc-extensions/issues/110 Issue 110: getDataChannels() method on RTCPeerConnection 15:19:23 [slide 13] 15:21:24 Florent: if no objection, I'll submit a PR 15:21:37 Jan-Ivar: +1 - will also help with garbage collection 15:22:12 ... it fits nicely with the model that the PC keeps data channels open and references to them 15:22:29 RESOLVED: getDataChannels() method on RTCPeerConnection ready for PR 15:23:46 Florent: I think closed data channels shouldn't be part of the return values; probably matching the garbage collection algo of the spec 15:23:58 Topic: WebRTC 15:24:16 Subtopic: -> https://github.com/w3c/webrtc-pc/issues/2735 Issue 2735: webrtc-pc specifies using ‘~’ in a=simulcast, but does not support RFC 7728 (RTP pause) 15:24:31 Repository: https://github.com/w3c/webrtc-pc/ 15:24:35 [slide 17] 15:25:41 Jan-Ivar: +1 15:26:26 Florent: we should probably add some language that ~ SHOULD NOT be supported for the said reasons 15:27:15 Philip: the proposal is to not include in browser-generated O/A, and ignore it when received 15:28:58 Dom: needs to check what JSEP says too 15:31:23 Philipp: I'll work on Pull Request 15:31:29 s/Philip:/Philipp/ 15:32:02 Subtopic: #2746: Enum RTCIceCredentialType with only one value 15:32:27 Florent: given no implementation plan of using RTCIceCredentialType extension, see no reason to keep it 15:32:56 Jan-Ivar: +1 on removing it until once we change our plans 15:34:34 Dom: we could move the enum to webrtc-extensions 15:35:22 Florent: I can work on a PR for both webrtc-pc & webrtc-extensions 15:35:59 Subtopic: Issue #2743: SLD/SRD (answer) trips over itself when narrowing simulcast envelope 15:36:10 [slide 19] 15:36:17 i/Florent: given/[slide 18] 15:38:26 Jan-Ivar: hopefully this is a non-controversial fix: fix the prose that it continues to allow answers to reject simulcast / layers on the initial offer 15:38:48 [slide 20] 15:39:05 [no objection voiced] 15:39:31 Bernard: so we'll label this issue as ready for PR 15:40:16 Subtopic: #2751 Intended outcome when modifying direction in have-local-offer 15:40:21 [slide 21] 15:43:33 Jan-Ivar: any objection to reverting the change brought in #2033? 15:43:37 [none voice] 15:43:50 s/voice/Voiced 15:44:00 Topic: WebRTC Simulcast issues 15:44:32 Bernard: #2722, #2723 and #2724 concern potential contradictions with RFC 8853 15:44:47 [slide 22] 15:45:01 Subtopic: Issue #2722: sRD(offer) completely overwrites pre-existing transceiver.[[Sender]].[[SendEncodings]] 15:45:06 [slide 23] 15:47:19 Bernard: the problem was added in PR #2155 - do we agree this was wrong? 15:47:35 Jan-Ivar: the intent of that PR was to allow simulcast offers to populate the layers from an initial offer 15:47:43 ... the question is what to allow on subsequent offers 15:48:03 ... I'm hoping my slide on #2724 might help job people's memories around this 15:48:28 Subtopic: Issue #2724: The language around setting a description appears to prohibit renegotiation of RIDs 15:48:34 [slide 28] 15:49:29 RRSAgent, draft minutes 15:49:29 I have made the request to generate https://www.w3.org/2022/07/19-webrtc-minutes.html dom 15:51:44 jan-ivar: trying to assess what our intent was here, in particular with regard to how SFU behave 15:52:20 ... the first question is whether subsequent identical offer/answer should succeed because the net result is the same 15:52:27 [no disagreement] 15:53:22 ... part of the more advanced questions is whether failing would violate RFC8853 15:53:59 ... how rigid should we after initial negotiation 15:54:25 ... should narrowing the simulcast envelop be allowed? 15:56:16 ... after having been narrowed, should it be allowed to expand back into the initial offer? 15:57:10 florent: the latter could work, but not sure there is much point to it 15:57:28 jan-ivar: there are 2 forms of rejection we might be talking about: reducing layers, and failing sRD 15:58:35 florent: rejecting should be fine when asking for an expansion 15:59:18 jan-ivar: so we could set an upper layer number based on the number of layers requested in the initial layer 15:59:33 ... what about limiting based on the number of layers accepted in the initial answer? 16:00:12 bernard: the initial idea was to signal the maximum number of layers the peers can support with a minimal SDP surface 16:01:02 jan-ivar: is the simulcast envelop is defined in the initial offer, or the combination of offer and answer? 16:01:08 Bernard: I believe the latter 16:01:10 florent: +1 16:01:51 jan-ivar: but unclear how it interacts with sLD 16:02:02 bernard: we need to avoid complicated error conditions 16:02:15 jan-ivar: not clear that many apps handles well error in sLD / sRD 16:02:30 ... I'm hearing consensus on codifying the 1st one 16:02:54 ... while allowing future answers that match the initial offer provided they match the initial one 16:03:15 ... no appetite to fail on reducing the envelop; possibly even allowing it to expand back into the initial envelop 16:04:07 Bernard: re RFC8853, it doesn't deal with the simulcast envelop - it allows things we don't to allow 16:04:27 jan-ivar: it's mostly looking at initial offers 16:05:20 [carine departs] 16:07:57 Bernard: there are 2 concepts: the envelop in setParameters (the only one we mention in webrtc); then this notion in O/A of what is allowed 16:08:11 Dom: is this more of an IETF matter? 16:08:19 jan-ivar: this is specific to the PeerConnection client 16:08:25 Bernard: JSEP doesn't say a thing about it 16:10:42 Jan-ivar: we know that our current limitation is too strict - so we should loosen it a bit to match reality 16:11:00 Bernard: and it's aligning it more with RFC8853 in any case 16:11:41 Jan-Ivar: I'll work on a PR and check with Byron 16:12:17 Florent: if we allow to renegotiate rids at the SDP level, we don't have a JS API to match 16:12:27 ... setParameters doesn't allow renegotiation 16:12:47 ... is that something we'll want in the future? allowing changing layers? 16:12:55 Bernard: what would be the use case? 16:13:19 Florent: if we allow it to happen at the SDP level, people will want to do it, and I would prefer we don't encourage SDP munging 16:13:41 Bernard: still not sure that justifies its usefulness 16:13:57 Subtopic: #2722 16:15:23 [slide 23] 16:16:04 jan-ivar: we need to add an exception on not stomping on addTransceiver 16:16:23 Bernard: Byron had 2 suggestions: should we allow sRD(offer) to remove RIDs? 16:16:31 Jan-Ivar: sounds like "no" based on our previous discussion 16:17:38 ... an already associated transceiver should not stomp on existing sendencodings 16:17:49 [no disagreement voiced] 16:18:01 Bernard: so let's mark #2722 as ready for PR 16:18:21 Subtopic: Issue #2723: The prose around "simulcast envelope" falsely implies that simulcast encodings can never be removed 16:20:13 [slide 26] 16:20:24 [slide 25] 16:25:30 Jan-Ivar: the original "simulcast envelope" was defined through addTransceivers; but does it make sense when the SFU enforces the offer? 16:28:38 Bernard: we probably need a different term than "simulcast envelope" - this sounds like the right term for negotiation 16:28:51 ... but maybe not for interactions of addTransceivers / setParameters 16:30:37 jan-ivar: we probably need to iterate based on the first loosening we have identified 16:34:06 [slide 27] 16:34:21 Bernard: clearly our langauge on simulcast envelop is confusing 16:34:25 Jan-Ivar: I'll work on a PR 16:35:30 RRSAgent, draft minutes 16:35:30 I have made the request to generate https://www.w3.org/2022/07/19-webrtc-minutes.html dom 16:37:29 Topic: TPAC 16:37:39 Bernard: next meeting at TPAC - reminder to register https://www.w3.org/register/tpac2022 16:37:43 RRSAgent, draft minutes 16:37:43 I have made the request to generate https://www.w3.org/2022/07/19-webrtc-minutes.html dom 16:37:56 RRSAgent, make log public