IRC log of webrtc on 2024-02-20

Timestamps are in UTC.

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