- From: Dominique Hazael-Massieux <dom@w3.org>
- Date: Tue, 25 Oct 2022 19:17:31 +0200
- To: "public-webrtc@w3.org" <public-webrtc@w3.org>
Le 25/10/2022 Γ 18:39, Harald Alvestrand a Γ©crit : > The recording of the October 18 WG meeting is here: > https://youtu.be/cbLpKnU6RoI And the minutes (which incorporate the video) at https://www.w3.org/2022/10/18-webrtc-minutes.html (copied as text below). Dom WebRTC October 2022 meeting 18 October 2022 [2]Agenda. [3]IRC log. [2] https://www.w3.org/2011/04/webrtc/wiki/October_18_2022 [3] https://www.w3.org/2022/10/18-webrtc-irc Attendees Present Ben, Bernard, Dom, Elad, fippo, Florent, Harald, Henrik, Jan-Ivar, MikeEnglish, PatrickRockhill, Tony, Tove, Varun, Youenn Regrets - Chair Bernard, HTA, Jan-Ivar Scribe dom Contents 1. [4]Encoded Transform - Overflow from TPAC 1. [5]Issue [6]#109 & [7]#119 Depacketization order 2. [8]Issue [9]#143 generateKeyFrame 3. [10]Issue [11]#158 / [12]PR #140: add mimeType to metadata 4. [13]Issue [14]#154: add rtp seqNum to inbound audio 5. [15]Issue [16]#131: Packetization API 2. [17]Media Capture Extensions 1. [18]PR #77: Add MediaStreamTrack framesCaptured and framesEmitted 3. [19]WebRTC & Simulcast 1. [20]Issue [21]#2732: Inconsistent rules for rid in RTCRtpEncodingParameters 2. [22]Issue [23]#2764: What is the intended behavior of rollback of remote simulcast offer? 3. [24]Issue [25]#2737 / [26]PR #2788: Modifications to [[SendEncodings]] from setParameters and sLD/sRD can be racy 4. [27]Issue [28]#2762: Simulcast: Implementations do not fail (and that seems good) 4. [29]WebRTC Extensions: Data Channels 1. [30]Issue [31]#114: RTCDataChannel transfer and maxMessageSize 2. [32]Issue [33]#115: Need to specify behavior of detached RTCDataChannel objects 5. [34]Capture Handle 6. [35]Summary of resolutions [6] https://github.com/w3c/mediacapture-handle/issues/109 [7] https://github.com/w3c/mediacapture-handle/issues/119 [9] https://github.com/w3c/mediacapture-handle/issues/143 [11] https://github.com/w3c/mediacapture-handle/issues/158 [12] https://github.com/w3c/mediacapture-handle/pull/140 [14] https://github.com/w3c/mediacapture-handle/issues/154 [16] https://github.com/w3c/mediacapture-handle/issues/131 [18] https://github.com/w3c/mediacapture-handle/pull/77 [21] https://github.com/w3c/mediacapture-handle/issues/2732 [23] https://github.com/w3c/mediacapture-handle/issues/2764 [25] https://github.com/w3c/mediacapture-handle/issues/2737 [26] https://github.com/w3c/mediacapture-handle/pull/2788 [28] https://github.com/w3c/mediacapture-handle/issues/2762 [31] https://github.com/w3c/mediacapture-handle/issues/114 [33] https://github.com/w3c/mediacapture-handle/issues/115 Meeting minutes Recording: [36]https://youtu.be/cbLpKnU6RoI [36] https://youtu.be/cbLpKnU6RoI IFRAME: [37]https://www.youtube.com/embed/cbLpKnU6RoI?enablejsapi=1&rel =0&modestbranding=1 [37] https://www.youtube.com/embed/cbLpKnU6RoI?enablejsapi=1&rel=0&modestbranding=1 Slideset: [38]https://lists.w3.org/Archives/Public/www-archive/ 2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf [38] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf [39]Encoded Transform - Overflow from TPAC [40]ποΈ [39] https://github.com/w3c/webrtc-encoded-transform [40] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=152 Harald: during TPAc, we discussed the concept of a packet API, with an explainer, use cases and architecture - not yet done β¦ other issues didn't get covered Issue [41]#109 & [42]#119 Depacketization order [43]ποΈ [41] https://github.com/w3c/webrtc-encoded-transform/issues/109 [42] https://github.com/w3c/webrtc-encoded-transform/issues/119 [43] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=202 [44][Slide 12] [44] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=12 Harald: packets don't arrive order on the network (they get lost or retransmitted) β¦ frames need to be in order for the decoder β¦ in general, a transformation is simpler when happening in decoding order β¦ this requires a jitter buffer in front of the decoder β¦ if the transformer itself introduces jitter, it doesn't get compensated β¦ currently Chromium has the jitter after the transformer Bernard: this isn't the only place where we're encoutnering this problem β¦ are you imagining an explicit API for jitter buffer - e.g. a jitter buffer provided as a transform stream? Harald: we could say "frames arrive in the order they arrive in", vs "the UA reorder them, incl waiting for frames" (probably not good), with a flag allowing one or the other Youenn: I recall we discussed this previously β¦ iirc, we thought that in-order matched the Web developers expectations β¦ it may make it harder to implement for UA β¦ we should look at use cases where having out-of-order would be a benefit β¦ it's a possible footgun; if there are good use cases for it, then we should look for a solution, but otherwise, we should stick with in-order as in the spec Bernard: for the crypto use case, is out-of-order even doable? Youenn: for SFrame yes β¦ the counter may not be monotonic in that situation β¦ which would lead to dropped frames β¦ but it shouldn't be an issue from a decryption perspective Bernard: so is out-of-order a speed concern? hta: my worry about is in-order is in the case of lost frames β¦ without nack, rtx - you have to give up at some point β¦ if we accept in-order frames, we accept that lost frames will cause delays of some magnitude dom: the wait-for-loss delay could be provided by the developer? youenn: having both options would create complexity for developers β¦ if the transform is taking sometimes 2ms and sometimes much longer, a jitter buffer would then be beneficial β¦ for decryption or metadata passing, it should be fairly stable β¦ not sure of the value of a jitter buffer positioned after hta: sounds like we need more time on use cases Tony: moving the jitter buffer earlier means increased packet loss (given that it removes the processing time from the jitter buffer) β¦ there will be delays introduced from operating in a worker (rather than say a real time worklet) youenn: currently chrome & safari implementations do out-of-order, which don't match the spec β¦ is Chrome planning to move to in-order? if implementations don't intent to align with the spec, that's also a consideration hta: switching to in-order would require a compelling argument jib: unless the transform has side effects (time-dependent), it shouldn't matter too much β¦ use cases would be helpful β¦ out-of-order seems a footgun - why should developers worry about that? hta: if delay matters, in-order is a footgun youenn: so we should use cases for both in-order and out-of-order Issue [45]#143 generateKeyFrame [46]ποΈ [45] https://github.com/w3c/webrtc-encoded-transform/issues/143 [46] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=984 [47][Slide 13] [47] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=13 [48]TPAC discussion [48] https://www.w3.org/2022/09/13-webrtc-minutes.html#t07 Fippo: I wanted to suggest a 4th proposal - an empty return value, but allow the app to pass any subset of the rids to generate keyframes β¦ some encoders can generate keyframes from individual rids, others can't - it depends on the codecs hta: the argument list API would thus be strictly more powerful without additional implementor burden youenn: at TPAC our conclusion was one rid was good & simple enough; we didn't have use cases for 2 layers hitting the same frame β¦ an encoder-behavior dependent API isn't so helpful, but I agree it isn't a big burden to add either hta: medium objection to single value, no strong objection to array - should we go with the array args? RESOLUTION: pass an array arguments to generateKeyframes fippo: I'll do the PR Issue [49]#158 / [50]PR #140: add mimeType to metadata [51]ποΈ [49] https://github.com/w3c/webrtc-encoded-transform/issues/158 [50] https://github.com/w3c/webrtc-encoded-transform/pull/140 [51] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=1282 [52][Slide 14] [52] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=14 HTA: figuring the meaning of a payload requires parsing the SDP to figure out what was negotiated β¦ the UA already knows which mime type is associated with which payload type Fippo: another argument for it is that we don't specific how the data is structured β¦ being able to specify it as depending on the mime type would be good youenn: thanks, this provides a good use case β¦ I think that's a pattern we already apply elsewhere Fippo: in stats, indeed Florent: isn't that available via getParameters? that exposes the list of payload types HTA: but only if you have the PC Fippo: that's harder in workers RESOLUTION: Add mimeType to metadata Issue [53]#154: add rtp seqNum to inbound audio [54]ποΈ [53] https://github.com/w3c/webrtc-encoded-transform/issues/154 [54] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=1451 [55][Slide 15] [55] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=15 Fippo: we have a custom decoder that relies on the rtp sequence number to detect loss in the audio β¦ relatively easy to add to incoming frames for audio β¦ more complicated for video, or for outgoing frames HTA: for incoming audio, you have one packet resulting in one set of samples youenn: coming back to in/out-of order, this would expose that β¦ if we're not doing in-order, this may create confusion Fippo: in our use case, we have our custom JS jitter buffer; we don't reenqueue the frame into the pipeline HTA: so that's also a use case for out-of-order: bring your own jitter buffer Fippo: I can that written up as input to the other discussion HTA: are we happy to expose this only for audio incoming frames, as a non required dictionary? jib: I think it would still be interesting to understand better this one-ended use cases HTA: ok, so let's wait for the use cases before proceeding then Issue [56]#131: Packetization API [57]ποΈ [56] https://github.com/w3c/webrtc-encoded-transform/issues/131 [57] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=1717 [58][Slide 16] [58] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=16 HTA: any more comment on the packetization API beyond what was discussed at TPAC? Youenn: we could start with things like MTU HTA: in the frame API? Fippo: MTU is mostly an issue for audio; I don't think we hit that threshold even with redundancy β¦ it becomes an issue with transform that changes size largely Youenn: I don't think adding the MTU to the frame API would make sense - more at the context level, with changes signaled via events β¦ the frame is coming from the encoder, that's not where the MTU info lives [59]Media Capture Extensions [60]ποΈ [59] https://github.com/w3c/mediacapture-extensions/ [60] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=1878 [61]PR #77: Add MediaStreamTrack framesCaptured and framesEmitted [62]ποΈ [61] https://github.com/w3c/mediacapture-extensions/pull/77 [62] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=1884 [63][Slide 18] [63] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=18 Henrik: `track.getSettings().frameRate` tells the configured, but not actual frame rate β¦ knowing the actual frame rate and the dropped frames would be useful β¦ some of that are exposed in stats, or in media playback metrics β¦ but the measurements are happening later in the pipeline - e.g. if the frame is dropped as soon as it is produced, it won't show up β¦ and we shouldn't force a webrtc PC to get track specific info [64][Slide 19] [64] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=19 henrik: my proposal is to add a frame counter to track API, with a `getStats()` method youenn: all APIs that are using an MST will allow you to get the number of frames that you're actually receiving β¦ Media capture transform gives you the count of frames, likewise for WebRTC & HTMLMediaElement β¦ what you want is focused between the sink & the source β¦ not sure I understand the diff between emitted and captured - that feels a bit specific to a specific pipeline β¦ in our model, it's not clear it would be easy to specific an interoperable way to distinguish captured from emitted β¦ so maybe focusing first on captured? henrik: that makes sense; captured is the main gap in any case jan-ivar: framesCaptured makes sense with a low-lighting camera use case (although we could revisit the constraint model for that) β¦ share Youenn's concerns for emitted, which feels implementation dependent β¦ I'm not sure about `getStats()` vs a constraint Bernard: next step? Henrik: I'm hearing support for framesCaptured in some form, and leave emitted for later HTA: framesEmitted makes sense for consistency, but I see the argument that it may be redundant β¦ so let's start with framesCaptured as accepted RESOLUTION: move forward with framesCaptured only for now [65]WebRTC & Simulcast [66]ποΈ [65] https://github.com/w3c/webrtc-pc/ [66] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=2373 Issue [67]#2732: Inconsistent rules for rid in RTCRtpEncodingParameters [68]ποΈ [67] https://github.com/w3c/webrtc-pc/issues/2732 [68] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=2377 [69][Slide 23] [69] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=23 jib: following up to our discussions started in TPAC about rid length β¦ limiting RID length to 16 characters would help with web compat β¦ an errata has been published on RFC8851 removing - and _ characters β¦ feedback on restricting the length would be hard as an erratum, but could be done in a -bis hta: note that the empty string is outlawed by the BNF dom: if we wait for -bis, are implementations going to be updated to match the allowed lengths? florent: it should be possible to update chrome in that direction if we think if it's a good idea hta: we don't know of any use case where 17 characters are necessary youenn: we could limit to 16 characters with a note mentioning ongoing IETF discussion jib: we could also have a separate decision on addTransceiver vs accepting incoming offers and answers dom: I don't think it goes against the protocol to limit what the API accepts to generate rids (we should definitely accept any valid rid in O/A) jib: but then you have an API that doesn't let you set values that you accept from a remote description Issue [70]#2764: What is the intended behavior of rollback of remote simulcast offer? [71]ποΈ [70] https://github.com/w3c/webrtc-pc/issues/2764 [71] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=2850 [72][Slide 25] [72] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=25 RESOLUTION: proceed with the proposed clarification Issue [73]#2737 / [74]PR #2788: Modifications to [[SendEncodings]] from setParameters and sLD/sRD can be racy [75]ποΈ [73] https://github.com/w3c/webrtc-pc/issues/2737 [74] https://github.com/w3c/webrtc-pc/pull/2788 [75] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=2991 [76][Slide 26] [76] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=26 hta: should that addition also be guarded by "if remote is true"? jib: it would have to also have a "is an answer" gate - I can update the PR henrik: if you restart and apply the steps again, wouldn't you implicitly rollback anything changed by the in-parallel operations? β¦ to do that correctly, you would have to wait until the SDP is applied jib: this is run before we call the success callback β¦ we would wait until all setParameters are settled β¦ similar to if a remote description came right after henrik: so this is done before the SDP process? jib: right Issue [77]#2762: Simulcast: Implementations do not fail (and that seems good) [78]ποΈ [77] https://github.com/w3c/webrtc-pc/issues/2762 [78] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=3270 [79][Slide 27] [79] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=27 [Varun, Youenn depart] [80][Slide 28] [80] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=28 RESOLUTION: close [81]#2762 as is [81] https://github.com/w3c/webrtc-pc/issues/2762 [82]WebRTC Extensions: Data Channels [83]ποΈ [82] https://github.com/w3c/webrtc-extensions [83] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=3577 Issue [84]#114: RTCDataChannel transfer and maxMessageSize [85]ποΈ [84] https://github.com/w3c/webrtc-extensions/issues/114 [85] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=3586 [86][Slide 32] [86] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=32 florent: RTCDataChannels are transferable; maxMessageSize in RTCSctpTransport needs to be checked before sending data over a channel β¦ with a channel transferred to a worker, the maxMessageSize may be renegotiated on the main thread, which wouldn't be visible to the worker trying to send data [87][Slide 33] [87] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=33 Florent: we could prevent changing the maxMessageSize during renegotiation - doesn't really happen in practice β¦ then that value could be kept in the transferred rtcdatachannel and keep the send algorithm as is β¦ the other aspect to consider is that the datachannel might have been transferred before the initial negotiation β¦ updating that value of maxMessageSize could be done as part of the "announcing a data channel as open" algorithm dom: how confident are we that maxMessageSize can be frozen in renegotiation is web compatible? florent: we would want to confirm that indeed β¦ sending too much data closes the data channel, so developers already need to pay attention Bernard: the only time you would see this is in some weird maintenance scenarios - it should be very rare florent: we can add some measurement in Chrome to see if that happens dom: +1 to these solutions if they're web compatible florent: so we can start with copying the value in opening, and measure web-compatibility of rejecting a renegotiated size jib: would maxMessageSize end up being exposed on the data channel? florent: we could do that, but that's not part of this proposal β¦ this wasn't useful in the context of running everything in the same context as peerconnection β¦ but with transferred channels, this makes more sense to consider dom: it would be clunky not to expose it Issue [88]#115: Need to specify behavior of detached RTCDataChannel objects [89]ποΈ [88] https://github.com/w3c/webrtc-extensions/issues/115 [89] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=4276 [90][Slide 34] [90] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=34 florent: we need to document a [[Detached]] internal slot per the HTML spec for transferable platform objects β¦ we would keep [[isTransferable]] for the a datachannel that has already sent [no objection] jib: it remains unclear what happens to data channels when they're transfered in the main thread [91][Slide 35] [91] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=35 florent: should transfered data channels be garbage collectable in the main thread? they're "closed" which make them collectable without a strong reference β¦ we could add a new state "detached" on top of opening, open, closed etc Bernard: I prefer Proposal 2 jib: transferable objects are more like a clone, leaving an unoperative a clone β¦ so the broader question is how a [[Detached]] data channel should behave, how it should affects the existing algorithms florent: because they're closed, this already impacts the methods close() and send() florent: hearing some support to introducing a "detached" state, and a [[Detached]] internal slot hta: what about garbage collection? florent: let's discuss on github [92]Capture Handle [93]ποΈ [92] https://github.com/w3c/mediacapture-handle [93] https://www.youtube.com/watch?v=cbLpKnU6RoI#t=4738 [94][Slide 39] [94] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=39 [95][Slide 40] [95] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=40 [96][Slide 41] [96] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=41 [97][Slide 42] [97] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=42 [98][Slide 43] [98] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=43 [99][Slide 44] [99] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=44 [100][Slide 45] [100] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=45 [101][Slide 46] [101] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=46 [102][Slide 47] [102] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=47 [103][Slide 48] [103] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=48 [104][Slide 49] [104] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=49 Elad: the proposal is to add some structure to capture handle β¦ fo crop targets (possibly with specific content hints) jib: what about a messageport? elad: still not structured, so leads to tight coupling jib: I'm not sure we want to specific all the different things that application might need to agree β¦ per [105]#11, I don't think we should re-invent postMessage [105] https://github.com/w3c/mediacapture-handle/issues/11 elad: a messageport informs the capturee they're being captured β¦ capture handle is a unidirectional message port β¦ being able to update the handle is useful given that the captured content is going to change β¦ a messageport can be useful in general, but for different use cases jib: can we take a step back to understand the requirements we have? β¦ what API surface would be expose here? elad: adding structure for a crop target in the capture handle instead of a simple string β¦ croptarget would have contenthints, and also add a messageport as a separate suggestion dom: I think maybe a unidirectional messageport would work for what we want? elad: several suggestions: move from string to object in capture handle - already needed for tightly coupled apps β¦ for loosely coupled apps, similar to what capture actions already allow, adding explicit support for croptargets / contenthints would go a long way to help elad: what about the first suggestion - moving from a string to an object? jib: would re-iterate [106]#11 - let's not reinvent postMessage [106] https://github.com/w3c/mediacapture-handle/issues/11 elad: but this adds ability to decouple capturees/capturer jib: but adding this to the browser API when it facts it's down to the app to use it or not β¦ that's odd elad: it's similar to capture actions, not really more formalized in semantics hta: are there establishing standardized protocols over messageport already? dom: don't know off the top of my head, would have to check hta: if we were to have to come up with that, this feels scary dom: re going with an objects, would that be for serializable objects? elad: yes jib: the original purpose for handle was an identifier; now we're talking about passing objects, that changes the nature of the API [107][Slide 51] [107] https://lists.w3.org/Archives/Public/www-archive/2022Oct/att-0001/WEBRTCWG-2022-10-18.pdf#page=51 elad: a messageport doesn't address all the use cases - it's not structured β¦ I'm hearing support for the use cases, and not seeing an alternative proposal jib: I remain a bit lost on the requirements we're solving with this API β¦ e.g. it could be a separate field instead of being part of the handle β¦ I'm not sure why should allow random web sites to specific crop targets elad: slide 47 illustrates how this could be a purely user-driven process to avoid any user tricking jib: but I'm not sold we need to allow this for random web sites harald: what criteria would a web site eligible to this? jib: with a messageport? elad: but that makes it more likely to create situations where a web site might want to trick another provider? jib: I still don't see a compelling case for making handle an object elad: is the video provider / vc collaboration use case compelling? jib: yes - we should figure a better way elad: what way though? hta: I'm hearing 2 proposals: make handle with some pre-defined fields for specific purposes (e.g. listing croptargets); and a messageport for tightly coupled apps β¦ these are 2 independent proposals that should be evaluated separately jib: would allow any serializable object be safe to expose to the capturer? that seems problematic elad: the security properties are similar (or even somewhat safer) than a messageport Ben: with arbitrary objects, could that raise OOM concerns? elad: 1. The captured page would be attacking itself first and foremost. β¦ 2. The captured page would be attacking an unknown capturer that likely doesn't even exist. β¦ 3. We can neuter the attack by ensuring the capture-handle is no-op on the capturer if the capturer does not read the handle. But that's for the future, if the attack comes up in the wild, which is unlikely. ben: are there objects that could create risks for the receiver? elad: not that I'm aware dom: I think the chairs will have to propose steps to unblock this conversation β¦ maybe an explainer would help figure out all the considerations that need to be taken into account hta: the chairs will do so Summary of resolutions 1. [108]pass an array arguments to generateKeyframes 2. [109]Add mimeType to metadata 3. [110]move forward with framesCaptured only for now 4. [111]proceed with the proposed clarification 5. [112]close [113]#2762 as is [113] https://github.com/w3c/mediacapture-handle/issues/2762
Received on Tuesday, 25 October 2022 17:17:36 UTC