15:47:21 RRSAgent has joined #webrtc 15:47:25 logging to https://www.w3.org/2024/09/24-webrtc-irc 15:47:25 Zakim has joined #webrtc 15:47:33 Meeting: WebRTC WG Meeting at TPAC 2024 15:48:30 Present+ Fippo, Joachim, Markus, Harald, Dom, Fredrik 15:48:41 Aged 15:48:44 Agenda: https://www.w3.org/2011/04/webrtc/wiki/September_24_2024 15:48:46 s/Aged// 15:48:56 Chair: Harald, Jan-Ivar, Bernard 15:49:21 Slideset: https://docs.google.com/presentation/d/1dFntwgSd9MrLnd1Sf58eBHstkodUd30WSKGIaK5K2CM/ 15:55:36 Present+ Younn, MarkFoltz, MartinT 15:56:32 Present+ Cullen, Tove 15:57:15 Present+ Bernard 15:57:32 Present+ Florent 15:57:42 Present+ Guido 15:58:32 Present+ ErikC 15:59:06 Present+ HenrikB 15:59:49 okin has joined #webrtc 16:01:55 scribe+ 16:02:08 joachimr has joined #webrtc 16:02:13 youenn has joined #webrtc 16:02:30 Present+ Sameer, GabrielBrito 16:02:49 rahsin-msft has joined #webrtc 16:02:57 hta has joined #webrtc 16:03:35 solis has joined #webrtc 16:03:57 Present+ Jan-Ivar 16:04:12 SteveBecker has joined #webrtc 16:04:30 ericc has joined #webrtc 16:04:44 s/kC/cC 16:05:53 fluffy has joined #webrtc 16:05:53 Recording is starting 16:07:17 Present+ Sun 16:08:32 markafoltz has joined #webrtc 16:08:38 Present+ Mark_Foltz 16:08:44 peter has joined #webrtc 16:08:49 henbos has joined #webrtc 16:08:50 handellm has joined #webrtc 16:08:59 Hello world 16:09:06 jib has joined #webrtc 16:09:23 Topic: State of the WG 16:09:23 [slide 10] 16:09:26 Present+ Elad 16:09:26 I'm actually lost on how we get in the speaker Q. 16:09:45 "raise hand"? 16:09:49 steely-glint has joined #webrtc 16:10:08 +queue? 16:10:12 You can use "raise hand" on zoom? I thought the slide said IRC was required. 16:10:14 q+ 16:10:16 q- 16:10:21 q-? 16:10:24 thx 16:10:30 Present+ TimP 16:10:39 Present+ Carine 16:10:57 Present+ JasperHugo 16:11:04 Present+ jib 16:11:39 [slide 11] 16:11:45 RRSAgent, draft minutes 16:11:46 I have made the request to generate https://www.w3.org/2024/09/24-webrtc-minutes.html dom 16:11:58 RRSAgent, make minutes public 16:11:58 I'm logging. I don't understand 'make minutes public', dom. Try /msg RRSAgent help 16:12:09 RRSAgent, make log public 16:12:50 [slide 12] 16:13:32 [slide 13] 16:14:41 [slide 14] 16:15:49 q+ 16:15:57 ack jib 16:15:59 youenn has joined #webrtc 16:16:32 jib: Firefox 132 is now shipping (in nightly) with a more private enumerateDevices, an important step towards moving forward to Rec 16:16:46 ... progress on implementing in mediacapture-transform in FF and Safari 16:16:52 ... and some progress in webrtc-trancsform as well 16:16:53 q? 16:16:54 q? 16:17:03 Topic: -> https://github.com/w3c/webrtc-pc/issues/3001 Updating the W3C Recommendation 16:17:03 [slide 17] 16:17:09 q- 16:22:03 mjwilson has joined #webrtc 16:22:09 youenn: heavyweight process. Why not simplify the process? 16:22:50 dom: some amendments are not implemented twice, that is the main filter for amendments that can move forward and other amendments. 16:23:18 baboba has joined #webrtc 16:23:35 vr000m has joined #webrtc 16:23:48 youenn: how do we tracks not fully implemented amendments 16:23:56 dom: there is a page with the list. 16:24:13 kota has joined #webrtc 16:24:16 dom: going through the list of amendments that can move forward. 16:25:21 q+ 16:27:22 fluffy: are we tracking changes that could trigger backward incompatibility? 16:28:30 dom: this is something that is being discussed for each amendment. New API is ok. Other changes might be related to clarifications/alignment of implementations are unlikely to have backward incompatibility. 16:28:45 q- 16:29:04 bernard: for some issues, backward compatibility concerns have been raised (which number???) 16:30:28 [slide 18] 16:30:31 [slide 19] 16:30:34 [slide 20] 16:30:36 [slide 21] 16:31:01 Youenn: for any new amendment for behavior, we should file engine bugs and keep link in the github issues 16:31:31 which browsers should we file bugs on ? 16:31:33 q+ 16:31:40 Dom: this could be even enforced automatically through the amendment process 16:31:51 Youenn: maybe let's first ask editors to keep that in mind 16:32:05 HTA: WPT can attach bugs to failing tests 16:32:16 ack hta 16:32:46 Huge THANK YOU to Dom 16:33:23 HTA: any objection to proceed with that plan? 16:33:38 RESOLVED: Proceed with publishing proposed amendments as described 16:33:53 Topic: Codec Issues 16:33:53 Subtopic: Making Codecs Transceiver-specific 16:33:53 [slide 24] 16:35:05 q+ Bernard 16:35:19 Present+ Randell 16:36:05 [slide 25] 16:36:45 Just don't use "sendrecv" :) 16:36:57 FYI I _think_ RTCCertificate.expires change _is_ observable via base64Certificate stats - I'd be happy to work with someone to implement a test... 16:37:39 [slide 26] 16:38:34 q+ 16:39:35 Bernard: the question of what a codec means has been raised; e.g. for H265 not all profiles are necessarily meant to be supported 16:40:10 Henrik: in terms of negotiating payload types, this is a side problem - that I'm ignoring for now 16:40:36 q? 16:40:49 ack Bernard 16:40:51 ack Peter 16:41:05 Peter: what about saying "don't use sendrecv"? 16:41:12 [slide 27] 16:42:20 q+ 16:42:49 ack fluffy 16:43:16 fluffy: why would you mark something as sendrecv if you can't send & receive? 16:43:24 bernard: this may also lead to offering wrong profiles 16:43:57 fluffy: what is the motivation for this? 16:44:26 henrik: we have been living so far in a world where most codecs were sendrecv 16:44:40 fluffy: the codecs are almost never symetric 16:45:18 q- 16:45:19 [slide 28] 16:46:13 henrik: proposal A is the least powerful option, and may not be backwards compatible given what I hear about profiles 16:47:36 ... I would lean towards B among A, B, C 16:47:47 ... D is about relaxing the RFC expectations 16:48:41 Harald: the RFC language is ambiguous - "indicate codecs" can be interpreted in 2 ways 16:48:42 q+ 16:48:57 ... the codec number is included in the m-line, or it is included in an rtpmap line 16:49:31 ... if you get a payload type suggestion for a codec, you can certainly include that codec in your answer and say you're willing to receive it by including it in your m-line 16:49:41 ... but SDP has been unclear about allowing to do this 16:49:53 +q 16:49:54 Henrik: I like it for this reason, but there is no API to check the rtpmap line 16:50:09 ... but it still ends up excluding anything not in the preference lists 16:50:12 s/lists/list 16:50:12 +q 16:50:29 q+ 16:50:31 q+ 16:50:45 Peter: my proposal E: if you want recvonky codecs, you create a recvonly transceiver 16:50:58 Henrik: that's proposal A - it avoids the footgun 16:51:01 ack peter 16:51:04 ack baboba 16:51:18 joachimr has joined #webrtc 16:51:20 Bernard: I also like A - it gives significant clarity 16:51:44 q+ 16:51:45 ... e.g. going through profiles, you'd indicate the highest profile you can encode and decode in the sendrecv line 16:51:57 ... avoids the long laundry list of profiles 16:52:12 ... it feels like the simplest 16:52:16 ack youenn 16:52:33 youenn: +1 to proposal A as the default behavior 16:52:53 ... I'm OK with having a different API to include sendonly codecs 16:53:04 ... maybe setCodecPreferences could be used to extend the default? 16:53:31 Henrik: it does make sense with a conservative place and expand with a use case for this 16:54:30 Sameer has joined #webrtc 16:54:34 jib: I like B - the only issue is if the other side removes the supported codec 16:54:49 markafoltz has joined #webrtc 16:54:50 ... I would like to get away from having the directionality matter so much 16:55:12 ... I'm not opposed to A, but I don't see that much problem with B 16:55:30 Henrik: with B, you say what you prefer to receive, not what you prefer to send 16:56:05 fluffy: say you send H264 and H265 16:56:30 ... the other party may want to remove H264 to select only the most recent codec 16:56:44 ... proposal B cannot be expressed reliably in O/A SDP 16:57:13 Henrik: the only path to removing H264 would be via a unidirectional transceiver then? 16:57:37 Fluffy: yes - I don't see how B, C and D would interop with O/A SDP 16:58:05 ... proposal B feels like it relies on magic out of band info 16:58:10 Bernard: the AVT Core WG gave the same feedback 16:58:17 q? 16:58:31 ack fluffy 16:58:34 ack jib 16:58:52 Henrik: proposal A may be the path of least confusion 16:58:59 HTA: I agree A is the least confusing 16:59:12 ... do we care about what happen when you change the direction of a transceiver? 16:59:20 jib: that's what I wanted to avoid 16:59:28 markafoltz_ has joined #webrtc 17:00:05 HTA: once you have allocated the payload type on the transport, that payload cannot be changed per RTP rules 17:00:15 markafoltz_ has left #webrtc 17:00:25 markafoltz_ has joined #webrtc 17:00:44 Bernard: changing direction and with a different level id doesn't require a new payload type, but a different profile does IIRC 17:01:27 HTA: so if you have sendonly set to H264 High, and change to sendrecv and can only support constrained, you either to allocate a new payload type or you re-use the payload type and hope it doesn't break 17:02:04 Henrik: is there any reason not to use a new payload type since you have to renegotiate any way? 17:02:49 HTA: with my chair hat on, I see convergence towards proposal A, with more fancy options available through unidrectional transceivers 17:03:00 PROPOSED: Consensus to use approach Proposal A 17:03:36 RESOLVED: Consensus to use approach Proposal A 17:03:58 Orphis: backwards-compatible? 17:04:33 Henrik: it's conservative so should be good, but it may that people have been relying on having all codecs sent to sendrecv? 17:05:06 JIB: I think proposal B likely is closer to what current browser need 17:05:10 HTA: we will need tests 17:05:15 Orphis has joined #webrtc 17:05:17 Dom: and real world compatibility checks 17:05:22 Topic: -> https://github.com/w3c/webrtc-extensions/ IceTransport Extensions 17:05:22 SUbtopic: Issue #209 App control over ICE checks 17:05:22 [slide 31] 17:05:41 RahulS has joined #webrtc 17:06:27 [slide 32] 17:08:20 [slide 33] 17:10:06 +q 17:11:08 q+ 17:11:26 Bernard: once you've nominated with traditional ICE, you can't do this 17:11:40 sameer: we have an API that allows to cancel nomination 17:11:47 ... and another one to select a different pair 17:11:59 ... we could switch across different pairs during a session 17:12:16 Bernard: "canceling" a nomination normally happens through an ICE restart 17:12:27 sameer: once nomination has come through, you would do an ICE restart 17:12:49 Peter: one way to think about this is that it allows to do better ICE 17:13:03 ... even without the renomination attribute 17:13:06 q+ 17:13:14 Bernard: pre-nomination, this makes sense 17:13:18 ack baboba 17:13:25 resakai has joined #webrtc 17:13:39 ack hta 17:13:49 hta: nomination was probably a bad idea in this context 17:14:03 q+ 17:14:14 jib: it seems a bit hackish to defer nomination for ever - if that's indeed the idea? 17:14:16 q+ 17:14:42 ... why is restart ICE prohibitive, since it allows seamless continuity 17:14:54 Sameer: restart requires redoing checks, etc 17:15:18 jib: but given that this is tied to a change in situation, wouldn't it better to do a restart? 17:15:37 +q 17:15:41 sameer: unless a new network has come up, this would be a lot faster and lighter than a full restart 17:15:42 ack jib 17:15:44 ack fluffy 17:15:45 q- 17:16:11 fluffy: is it more to save power (not wake up the cellular radio) or to save bandwidth? 17:16:14 q+ 17:16:25 ... I'm not seeing much saving here 17:17:07 q? 17:17:12 Sameer: preventing ICE checks is mostly about saving power with the radio (since waking it up has a lasting effect) 17:17:34 youenn has joined #webrtc 17:17:47 ... it takes 15 to 20s to go back to low power 17:18:11 fluffy: the consent checks is to limit the DDOS attack window - so there is a trade-off here 17:18:42 ... an ICE agent could remember previous successful checks to accelerate ICE start 17:19:02 ... a number of apps rely on nomination happening 17:19:05 q- 17:19:16 baboba: we now have APIs in the browser to minimize power usage 17:19:34 ... they give an event to tell you when you're already in high power state to avoid waking up the modem 17:19:54 ... ICE mobility allows to keep connectivity no matter what by doing restart in the background 17:20:18 q+ 17:20:18 ... I'm concerned with the power management issue if you don't have the right event structure to tell you when to do the ICE checks 17:20:38 jesup has joined #webrtc 17:20:54 sameer: this doesn't necessarily block you to use other approaches for more efficient process 17:21:22 Youenn: Bernard, are you saying the UA would be better positioned to optimize this? I agree with that 17:21:26 jib: +1 17:21:31 ack jib 17:21:53 ... it would be best if the JS could simply instruct the browser to use the lightweight approach instead of having to deal with them 17:21:56 ack baboba 17:22:13 Sameer: we could have configurations that let the app guide the UA ICE Agent 17:22:17 q- 17:22:21 ... but it's not clear how many options this would require 17:22:39 I don't think it's possible to express everyting an app would want to do as a configuration. 17:22:43 ... this proposal is simpler than having lots of configuration options that need to be consistent with each other 17:23:05 Peter: these are not theoretical things - they are being used in mobile apps, and libwebrtc supports these techniques 17:23:17 ... right now, this can't be done in Web apps 17:23:29 +q 17:23:34 -= 17:23:35 -q 17:23:39 TimP: on the nomination front, getting rid of it loses some security strength 17:23:47 ack steely-glint 17:24:08 ... DDOS against DTLS is prevented by the current nomination behavior 17:24:37 ... I do see the necessity for this sort of API: you can't totally leave it to the UA because the UA won't necessarily make the right decision 17:25:03 ... e.g. retaining connectivity is seen as the end goal, when in fact you might prefer a bit of a gap and stay on the much quicker network 17:25:26 Just because the JS *can* disable nomination doesn't mean it has to. 17:25:27 q- 17:25:42 And if we want to add support for renomination, we can. It's already widely implemented. 17:25:54 sameer: it's still up to the app to decide to remove nominations in this proposal 17:26:04 ack hta 17:26:56 hta: I presented NICEr to IETF in July 21; the feedback was that the browser would not know the right thing to do 17:27:27 mt has joined #webrtc 17:27:30 ... we've had multiple discussions about the value of doing things in the app rather than the browser - let's not revisit it 17:28:05 youenn: re mobile apps doing that - which API are they using? is this similar to what is being proposed? what algorithm/input are they using to make that choice? 17:28:13 https://www.ietf.org/archive/id/draft-oreland-dispatch-ice-nicer-00.html 17:28:28 ... if my laptop is connecting through my phone, the Web page wouldn't know that and might make choices that would be poor 17:28:39 ... and we will never be in a position to expose this to a Web page 17:29:07 Peter: they're doing what Sameer is describing with a backup candidate pair, by keeping the backup with checks at a lower rate 17:29:39 ... you're right that we're not exposing the nature of the connection to Web pages, which indeed is an issue for parity with native apps 17:29:40 q? 17:29:42 ack youenn 17:30:01 q+ 17:30:29 youenn: would webrtc stats allow to make a good choice? 17:30:43 sameer: it's not only the type of network interface 17:30:45 ack hta 17:31:30 hta: one scenario: you're talking on the phone via a WebRTC app, and getting close to a known wifi network, with a coverage gap 17:31:52 ... the signal you need to make this happen smoothly is the quality of the connection, not their type 17:32:59 RRSAgent, draft minutes 17:33:00 I have made the request to generate https://www.w3.org/2024/09/24-webrtc-minutes.html dom 17:33:51 fluffy4 has joined #webrtc 17:57:55 dom has joined #webrtc 17:58:49 Fwiw, there is a massive power outage in the venue, so we won't be able to restart on time. No clear ETA to power resumption atm 18:02:26 henbos has joined #webrtc 18:04:09 I've relayed the info on the Zoom chat 18:04:32 hta has joined #webrtc 18:05:15 The resident chair had decided that the break is extended until the hotel has power again. 18:05:20 jib has joined #webrtc 18:05:33 Apparently the whole block is out. 18:16:03 dom has joined #webrtc 18:20:06 https://www.meetecho.com/blog/moq-webrtc/ 18:42:40 fluffy has joined #webrtc 18:42:46 test 18:44:04 RahulS has joined #webrtc 18:47:06 hta has joined #webrtc 18:49:46 Rest of session now officially cancelled. We will resume the agenda at a later meeting. Sorry about that! 18:49:51 PeterThatcher has joined #webrtc 18:54:03 Any ETA on power coming back ? 18:56:58 dom has joined #webrtc 19:09:29 renki has joined #webrtc 19:57:19 Zakim has left #webrtc 19:58:19 markafoltz has joined #webrtc 20:04:03 PeterThatcher has joined #webrtc 20:10:20 joachimr has joined #webrtc 20:17:45 dom has joined #webrtc 20:28:31 youenn has joined #webrtc 20:38:06 markafoltz has joined #webrtc 20:46:45 RRSAgent, bye 20:46:45 I see no action items