16:00:38 RRSAgent has joined #webrtc 16:00:42 logging to https://www.w3.org/2024/02/20-webrtc-irc 16:00:42 Zakim has joined #webrtc 16:00:52 Meeting: WebRTC February 2024 meeting 16:00:52 Agenda: https://www.w3.org/2011/04/webrtc/wiki/February_20_2024 16:00:52 Slideset: https://lists.w3.org/Archives/Public/www-archive/2024Feb/att-0008/WEBRTCWG-2024-02-20.pdf 16:00:52 Chairs: HTA, Jan-Ivar, Bernard 16:02:17 Present+ Bernard, Harald, Peter, Youenn, Fippo, Guido, Jan-Ivar, Carine, Dom, TimP, SunShin 16:03:52 Recording is starting 16:04:22 Present+ PatrickRockhill 16:04:54 Scribe+ 16:06:17 Topic: -> https://github.com/w3c/webrtc-pc/ WebRTC API 16:06:17 Subtopic: Issues with receive-only codecs #22 16:06:17 [slide 11] 16:06:40 Bernard: not a WebRTC issue - it came up in IETF AVTCORE wrt receive-only codecs 16:06:47 Present+ Elad 16:08:04 s|#22|https://github.com/aboba/hevc-webrtc/issues/22 16:08:31 Subtopic: Modify the codec description model to ease describing changes #2925 #2935 16:08:31 [slide 12] 16:11:17 [slide 13] 16:12:24 [slide 14] 16:13:08 Harald: is this a reasonable direction to go in? 16:13:37 Bernard: it is; the more I read, the more current situation doesn't make sense, with too much unspecified, so this is a good step forward 16:13:55 Present+ Florent 16:14:19 Jan-Ivar: overall it makes sense to add more details to it and it will help having a more neutral baseline 16:14:40 ... we need to keep track of fingerprinting concerns, but we should be aligning with Media Capabilities in any case 16:14:46 ... this looks like an improvement to me 16:15:14 Bernard: Media Capabilities doesn't have any way to look at directionality except encoder/decoder - not sure if it's a good match 16:15:37 Harald: you have to make two calls to media capabilities to figure what you can send/received 16:16:06 bernard: so you're confident that encoder/decoder matches send/receive? we should test it too 16:16:25 Harald: hearing no push back, we'll bring this as candidate to merge at the editors meeting on Thursday 16:16:32 Subtopic: Should media capabilities influence what is exposed in what is exposed in WebRTC offers and answers #2929 16:16:32 [slide 15] 16:17:04 Youenn: more and more codecs get exposed on the Web and in WebRTC 16:17:46 ... for playback, media capabilities allow to control how much information gets exposed to the web site 16:17:58 ... for WebRTC, everything gets exposed via getCapabilities or via SDP 16:18:16 ... this is a fingerprinting issue, but also has an impact on the number of allocated payload types 16:18:47 Harald: not all codecs get exposed, but they can be discovered through setLocalDescription 16:19:09 Youenn: getCapabilities was initially designed to expose everything supported, but it would be best to deprecate it 16:19:19 ... can we move to use media capabilities as a replacement? 16:19:24 [slide 16] 16:21:32 Youenn: please chime in in #2929 too 16:22:08 Bernard: this makes sense for the simpler codecs à la VP8, VP9, AV1, but e.g. HEVC raises weird situations 16:23:05 ... say I query a common level that can be used for encoding/decoding, how would this impact the whole offer/answer negotiation? 16:23:25 Youenn: the idea would be that media capabilities would give you WebRTC-specific data that could be plugged into the WebRTC API 16:24:10 Bernard: but for these send-only or receive-only situations across levels... 16:24:25 Youenn: SDP can't express all these situations 16:24:38 ... this wouldn't be an improvement, but it doesn't make things worse 16:24:57 ... and at least, the web app would know what's not available e.g. on the decoding side 16:25:06 TimP: I like this - it feels overdue 16:25:25 ... the UA-to-UA disadvantage doesn't feel too serious 16:25:49 ... the only issue I have is how precise the query would have to be e.g. on which submode of which profile of a codec 16:26:04 ... esp since UA are known to lie on some of these questions 16:26:42 Bernard: indeed, e.g. with H264 and 265 16:26:53 Youenn: this profile complexity would be in scope indeed 16:27:19 Harald: it's probably good to link webrtc and media capabilities codec more closely 16:27:41 ... Youenn has a PR to have media capabilities return a WebRTC shape for doecs when queried 16:27:53 ... to ensure it is inspectable and usable in WebRTC land 16:28:07 ... it's good to have the default set of codecs be implementation defined 16:28:27 ... if we have a codec that is universally supported by a given platform, it doesn't expose much fingerpriting surface to expose it 16:28:32 s/pri/prin/ 16:28:55 Youenn: I'll revive the Media Capabilities proposal 16:29:25 Jan-Ivar: I'm also supportive; reducing fingerprinting surface feels good, or at least reducing the list to a default list 16:30:15 Youenn: I'll work on an API proposal to tie Media Capabilities and WebRTC - not sure yet if it's at the transceiver level, please bring input on the issue 16:30:26 Harald: the codec model description will help as well for this 16:30:40 Subtopic: Existing setCodecPreferences NOTE is wrong and should be deleted #2933 16:30:41 [slide 17] 16:31:57 Fippo: if no objection, I'll bring a PR and a WPT test 16:32:06 Bernard: I agree it's extraneous 16:32:14 Subtopic: setCodecPreferences to deal with both send and recv codecs #2939 16:32:14 [slide 18] 16:33:31 [slide 19] 16:35:15 Bernard: I'm not sure this is entirely right given that it's based on a JSEP paragraph that looks like it may be wrong 16:35:55 ... sendrecv, sendonly, recvonly are 3 separate sets that setCodecPreferences gives order to 16:36:06 ... when changing direction, you're shifting to a different set 16:36:30 ... it's not clear that the preferences can survive such a shift 16:36:38 Fippo: JSEP is confusing in that area 16:36:51 ... it only talks about sendrecv, not the two other sets you're alluding to 16:37:06 ... it may be challenging to change this in terms of web compatibility though 16:37:47 Jan-Ivar: regardless of what JSEP says, it would be desirable if we kept sCP and direction change orthogonal 16:38:31 ... this could be addressed by having a super list that is filtered; if the filter ends up with an empty list, I'm a bit wary about throwing, although this does feel like a mistake 16:39:10 Harald: changing direction after you have configured the codec influences the set of codecs available 16:40:23 ... if we require at least one sendrecv codec, we are safe, and adding recvonly codecs is also safe 16:40:57 ... this is a painful aspect of SDP - we should just admit failure on the sendonly case and figure out the least painful approach to deal with - maybe the last option 16:41:21 Fippo: if we have nothing in common, the regular approach would be to reject the m-line, hence my preference for the 3rd option 16:41:42 ... should we wait for a JSEP change in this space? 16:41:53 Bernard: I think we should come up with a proposal for JSEP 16:42:57 Fippo: OK, will bring this back at the next meeting after more off-line discussions 16:43:08 Topic: -> https://github.com/w3c/mediacapture-screen-share/ Screen Capture 16:43:08 [slide 22] 16:43:38 Bernard: the WPT results for Screen Capture shows little adoption for capture controller 16:44:07 Jan-Ivar: lots of green (getDisplayMedia works in all browsers), the red parts are for the new capture controller API 16:44:19 ... some red on iframe delegation, but the big difference is capture controller 16:44:35 ... it's not controversial, but hasn't been implemented outside of Chrome yet 16:44:47 ... it's not on FF's short term roadmap 16:44:54 Youenn: likewise for Safari 16:45:23 ... we discussed a similar issue in Media WG - moving to CR would still be beneficial 16:45:28 Jan-Ivar: +1 16:45:55 Subtopic: Issue triage and milestones 16:45:59 [slide 24] 16:47:54 Jan-Ivar: please chime in if you feel the assignment of issues to milestones need adjustment 16:48:04 Subtopic: Should we have a screenshare extension spec? #297 16:48:07 [slide 25] 16:50:14 Youenn: I think it makes sense; in the Media WG, it was advised that an extension spec is more complex and needs more work for editors, but from the point of view for web developers, it clarifies what is mature and what isn't 16:50:40 ... if it's not useful for developers, then maybe a forever CR would be a better model 16:51:53 TimP: do we think realistically it will help? are the 12 enhancements really blocking? are the 19 issues solvable in a reasonable timeframe? 16:52:08 Jan-Ivar: I think it will help because the enhancement are real additional features 16:52:20 Elad: +1 if it helps with making progress on issues 16:52:52 TimP: but do we thinkg the 19 CR issues are solvable in a sensible timeframe? 16:53:11 Jan-Ivar: yes 16:53:23 Elad: there may also be issues that shouldn't be considered as CR blocking 16:54:14 Jan-Ivar: getDisplayMedia mostly works, and separating what's additional value would help 16:54:35 Bernard: +1 that they're addressable, and they would allow to get e.g. more focus on privacy issues 16:54:47 Jan-Ivar: hearing mostly agreement this would be the right path forward 16:55:23 Elad: when do we want to lock the list of issues as CR-blocking? 16:55:51 Jan-Ivar: I think we can start moving issues over to the new repo right away, and move them back if needed 16:56:07 ... and then we have to do the work to close the 19 issues 16:56:13 Subtopic: Distinguish cancellations from absent OS permissions #281 16:56:16 [slide 26] 16:59:21 Elad: this is a problem worth solving; this sounds like a possible solution, wonder if we could improve it 16:59:38 ... i.e. the spec isn't explicit on this, would be useful to make it so 17:00:06 ... also not sure NotFoundError isn't the most explicit expression 17:01:23 ... e.g. we could define a new error with a more specific type 17:01:23 Jan-Ivar: in general, there is generally pushback against defining new custom errors 17:01:23 ... and prefer re-using existing DOM errors even if they're not a perfect fit 17:01:47 ... I'm not too concerned about this imperfect fit 17:02:23 Youenn: NotFoundError feels like a reasonable minimal API already in use; in terms of ergonomics, I think it's ok as long as the spec is very explicit about this interpretation of NotFoundError 17:02:50 Jan-Ivar: +1 to making this explicit in the spec 17:04:21 Elad: can we make it that NotFoundError be restricted to this? e.g. in a situation where constraints would limit shareable surfaces? 17:04:48 Jan-Ivar: it sounds like NotFoundError would still be a reasonable fit for that situation, but that feels like an edge case 17:04:56 Elad: fair, we can leave that question aisde 17:05:00 s/ais/asi/ 17:05:57 ... could we still allow UA-dependent subclassing? 17:06:36 Dom: that would lead to non-interoperable behavior 17:07:02 Youenn: re OS permissions, I'm not sure that's a well-defined concept for the platform 17:07:17 ... we should check what's being used e.g. in HTML or Permissions 17:07:58 Jan-Ivar: maybe this is a clarification to bring to mediacapture-main on "no sources of type T are available" with a parenthesis that describes these examples 17:09:04 s/main/screenshare 17:09:43 Jan-Ivar: would we want to apply to this mic/cameras? knowing that they could be distinguished from no hardware with enumerateDevices() 17:09:58 Guido: for OS permissions in camera/mic, we use notallowederror with a different message 17:10:47 Elad: enumerateDevices() isn't 100% robust to make the distinction given that users can plug/unplug devices 17:11:08 RESOLVED: Move forward with a PR to clarify that NotFoundError would apply for OS permissions in screen-capture 17:11:22 Jan-Ivar: I'll file an issue for a follow up discussion on mediacapture-main 17:11:51 Elad: aligning the two would be best (although not fully required) 17:13:17 Topic: -> https://github.com/w3c/mediacapture-record/ MediaStream Recording 17:13:17 [slide 29] 17:13:43 Bernard: WPT shows tests with limited support 17:14:30 Youenn: Safari doesn't support webm recording; not sure about mp4 17:14:55 dom: I don't think there are codecs requirements in recording - if so, codec specific tests should be marked as optional 17:15:29 [slide 30] 17:16:06 Jan-Ivar: overall numbers are looking pretty good 17:16:34 Youenn: not sure why there are codec/format-specific tests e.g. for stop() 17:17:05 [slide 31] 17:20:01 Bernard: I support this; WebCodecs is indeed the way forward for many of the requested enhancements for recorder 17:21:35 [no objection raised to proceeding with that plan] 17:21:43 [slide 32] 17:22:30 Bernard: this could simply quote media capabilities spec 17:22:52 Jan-Ivar: we could return a fixed list as Youenn suggested earlier in the webrtc case 17:23:02 ... this would solve the privacy issue neatly here 17:23:06 Bernard: wfm 17:23:08 Youenn: +1 17:24:20 Dom: it needs to stay in the spec for web compat, but should be described as returning fixed answers and its usage discouraged 17:24:35 Topic: Media Capture specs 17:24:35 Subtopic: Issue triage and milestones of Media Capture and Streams 17:24:35 [slide 35] 17:25:41 Jan-Ivar: we would like to see more activity in this spec to accelerate progress towards Rec 17:26:11 Subtopic: -> https://github.com/w3c/mediacapture-fromelement/issues/65 captureStream on OffscreenCanvas on 17:26:11 [slide 37] 17:28:55 Youenn: no objection - but feels like low priority, not sure there is much web developer demand for this 17:29:29 Harald: offscreencavas has usages, not all of them in workers 17:29:45 ... this isn't related to mediacapture-main though? 17:30:31 ... the only relation is the availability on MediaStream on workers 17:31:03 Jan-Ivar: yes, that's the next issue I wanted to discuss, since answering yes to this would give an answer to this 17:31:17 Jan-Ivar: not hearing objection, nor much interest either 17:31:37 Subtopic: -> https://github.com/w3c/mediacapture-extensions/pull/26 Expose MediaStream in Workers 17:31:37 [slide 38] 17:33:41 Jan-Ivar: not hearing objection on this either 17:33:47 Dom: (but not much excitement either) 17:33:56 Subtopic: -> https://github.com/w3c/mediacapture-main/issues/974 How should MediaStreamTrack interact with BFCache? 17:33:56 [slide 39] 17:37:27 Youenn: +1 to this proposal; not just because that's Safari current behavior, but also because it will help with getting web sites handle device failure situations better 17:37:56 ... would like us to be more proactive on pushing outreach for this 17:38:33 Harald: I've had a lot of discussions on BF-cache in the context of peerconnection where we're trying to make WebRTC more BF-cache friendly 17:39:00 ... This sounds nice, but I think I'll want to think this through some more 17:39:13 Youenn: this is indeed also worth discussing for WebRTC-PC 17:39:53 Harald: let's keep discussing this in the issue, want to hear from Guido 17:40:11 Guido: +1 17:40:56 Youenn: I'll file an issue in webrtc-pc on BF-cache friendliness 17:41:10 Subtopic: -> https://github.com/w3c/mediacapture-main/pull/988 Add guidance for defining a new source of MediaStreamTrack 17:41:10 [slide 40] 17:41:46 Jan-Ivar: this PR adds clarifications to what muted and ended for other sources of tracks 17:44:32 [slide 41] 17:44:59 Guido: +1 on the generic guidance; the mic/camera language needs more discussion 17:46:39 Youenn: proposed language sounds good to me; we should review our source-defining specs to make sure they're consistent with that guidance 17:47:07 Jan-Ivar: yes, let's file these issues before landing that PR 17:47:40 ... will get that done before the next Editrs meeting 17:47:48 RRSAgent, draft minutes 17:47:49 I have made the request to generate https://www.w3.org/2024/02/20-webrtc-minutes.html dom 17:49:34 RRSAgent, make log public 19:27:19 Zakim has left #webrtc