- From: Philipp Hancke <phancke@microsoft.com>
- Date: Tue, 27 Sep 2022 18:02:09 +0000
- To: Dominique Hazael-Massieux <dom@w3.org>, "public-webrtc@w3.org" <public-webrtc@w3.org>
I found the resolution of #143 (generateKeyFrame) a bit surprising from where I saw the discussion going but sadly my browser crashed (too often... can we use real webrtc next time please?)
(counter)proposal 4 which sadly did not make it into the overflow time:
array of rids, no value or empty array means "all", no return value.
I'll call with an implementation:
https://webrtc-review.googlesource.com/c/src/+/270562
-----Ursprόngliche Nachricht-----
Von: Dominique Hazael-Massieux <dom@w3.org>
Gesendet: Montag, 19. September 2022 15:10
An: public-webrtc@w3.org
Betreff: [EXTERNAL] [minutes] TPAC meetings
[Sie erhalten nicht hδufig E-Mails von dom@w3.org. Weitere Informationen, warum dies wichtig ist, finden Sie unter https://aka.ms/LearnAboutSenderIdentification ]
Hi,
The minutes of our WG meeting at TPAC are available at:
* Sep 12 https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2022%2F09%2F12-webrtc-minutes.html&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899493994245%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FnHPq%2FhnXnIO6ZAArPJOq37cDKjSAYmk%2BL%2Fyx3z9Mmc%3D&reserved=0
* Sep 13 https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2022%2F09%2F13-webrtc-minutes.html&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899493994245%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=n2Y%2FvuRd0QvLUZ%2B7R6OjKDJGW77POYM2eezQWcy8BNw%3D&reserved=0
The minutes of our joint meeting with the Media WG and the Media and
Entertainment IG are available at:
* Sep 15 https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2F2022%2F09%2F15-mediawg-minutes.html&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FTOHU6AH84MLpFAzLH3VGGaOINh8OBlT%2BbZXdAiCTjg%3D&reserved=0
They're all copied as text below as well.
Dom
----
WebRTC TPAC 2022 - Day 1
12 September 2022
[2]Agenda. [3]IRC log.
[2] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2F2011%2F04%2Fwebrtc%2Fwiki%2FSeptember_2022&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lEQsXCFfDcXQzQmjMvwltfJZkfABaRtbKZi5ezfOp9I%3D&reserved=0
[3] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2F2022%2F09%2F12-webrtc-irc&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=cSPwQX4tqASBgg5%2BLhNxxc%2F7F2Fev3fA%2FMCxe9i4Zyc%3D&reserved=0
Attendees
Present
BenWagner, bernard, Bradley_Needham, Cullen, DanSanders,
dom, Elad, EricCarlson, Henrik, hta, jeff, JIB, Jinkyu,
Kentsaku, Louay_Bassbouss, MarkFolz, MartinThomson,
MichaelZou, Mike English, MikeEnglish, Orphis,
PatrickRockhill, Peter_Thatcher, Philipp, Randell, riju,
Tatsuya, Thomas, Tony, Tove, TuukaToivonen, Varun, Will,
Xiameng, Youenn, YvesL
Regrets
-
Chair
bernard, hta, jan-ivar
Scribe
dom, youenn_
Contents
1. [4]State of the Union
2. [5]WebRTC-NV Use Cases
1. [6]issue #62 / [7]PR #75
3. [8]Developer Engagement
4. [9]WebRTC-PC
1. [10]WebRTC revision process
2. [11]PR #2763: add relayProtocol to RTCIceCandidate
3. [12]Simulcast negotiation
4. [13]Issue [14]#2734: addTransceiver does not check for
missing rid properties
5. [15]#2733 addTransceiver does not check for uniqueness
of rid
6. [16]Issue [17]#2762: Simulcast: Implementations do not
fail
7. [18]Issue 2764: What is the intended behavior of
rollback of remote simulcast offer?
8. [19]Issue [20]#668 - When are RTP streams destroyed?
9. [21]Issue [22]#643 - Do we agree removing "sender",
"receiver" and "transceiver" stats is a good idea?
10. [23]Issue [24]#666 -
powerEfficientEncoder/powerEfficientDecoder
11. [25]Issue [26]#662 - Don't expose so many
RTCCodecStats!
5. [27]WebRTC-Extensions
1. [28]Issue [29]#98: Disabling hardware
encoding/decoding
2. [30]Issue [31]#112: header extension API: do we need
enabled in setParameters?
3. [32]Issue [33]#111: Integration of congestion control
across SCTP and media
6. [34]Summary of resolutions
[6] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F62&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o%2B1mQO%2BAKP5zwiVkB%2BEH6IuoxKEa38jnb43tAOiZz90%3D&reserved=0
[7] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fpull%2F75&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=V50HFtV%2B8MwjFbD9nw3GhguNY%2Bd6O7l6QcBB%2FzXg4l0%3D&reserved=0
[11] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fpull%2F2763&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=dw3Vjp%2FMlF6gR%2BjbvMXTf7JSiLjGfM%2Fxti2XnmDNN4Y%3D&reserved=0
[14] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F2734&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ROiZewW49W3yuvHsmukngvcOPWpiF9RIOscuMNbWBhk%3D&reserved=0
[15] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F2733&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FQVARogJ9Ls3QBgkQxkUJHazvsQiiCoIlLaV2hJWB7M%3D&reserved=0
[17] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F2762&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=nQ8NWHiQflcIdQyzEZ1zfzrJ1INjSrwW92XlPuV0fP0%3D&reserved=0
[20] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F668&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=azs9iPOK53zbIpSVlzDvJTzjHJmvM5X8Hq%2FzbmSoYPs%3D&reserved=0
[22] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F643&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DPPYIJjo6%2BpkBNcZT0tsnfs8W18O530QbjG8twqcM20%3D&reserved=0
[24] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F666&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2tic3eKUUhJ9Nn%2BBZKeNLDgJCftX33jS4moPeu8zvDw%3D&reserved=0
[26] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F662&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ie%2FcoquJV9OprLZerLikcsfPh06bX5Expjs5p9O5Azg%3D&reserved=0
[29] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F98&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wLYy%2B6QufLFumxNwCJeJcQF2BZiuFr7jZR19faasJhU%3D&reserved=0
[31] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F112&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Szv%2FsG6J%2FzGdCIZbPLGzE3E9XyX%2FRFav1U3be63%2FOrc%3D&reserved=0
[33] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F111&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wPZZcwbgYn0at7I4Y0e%2FWwq90Wp02mPhubljw8OTcyg%3D&reserved=0
Meeting minutes
Slideset: [35]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=FsvBZhqR%2FQmaUFBjL3SSD%2F2Pi8xaytSylCrmy0I%2F2iU%3D&reserved=0
2022Sep/att-0000/WEBRTCWG-2022-TPAC.pdf
[35]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=MvsuDh96J59eVGaRvX9Y13NUX4L%2Fqj7gEuQv6LSZHQA%3D&reserved=0
<Bernard> Dom volunteers to take notes. Yeah!
<Bernard> We will not be recording the session.
State of the Union
[36][Slide 13]
[36]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D13&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494150484%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=umJbyY5BwLXAaRHybfBQaU9rXvAFqlMaL4eBwz3xr4o%3D&reserved=0
HTA: our charter started in 2011 - we're about 11 years old
the last 2 revisions of our charter have had very little
change
we're set to define APIs to enable real-time communications
in the browser
we've reached Rec for one of our document - although that doc
is still evolving as Dom will talk about later today
other of our docs are functionally stable, broadly used but
not progressing much on the Rec track - we've not been very
good at pushing to the last stages
mediacapture-main has been close to be ready for a couple of
years; but still need some tidying
not a lot of work on resdesigning current concepts - are they
just good enough, or people just working around their
limitations?
ongoing work on new features; gaze correction, face
detection, etc
We need to focus on getting mediacapture-main and
webrtc-stats out of the door
Stream transforms and media codecs are challenging our basic
model, requiring us rethinking
In terms of what we're not doing: we've stopped work on
mediacapture-depth
no active work on 3D & spatial awareness - talked about it,
but not specific proposals
SOme of the work is being done elsehewere: EME, streaming of
stored media (see MOQ in IETF)
integration with other work (WebGPU, WebNN) could also be
usefully done
Changes since last year: additional clarity on what we're
doing and not doing
not many new resources dedicated to progress the work
<fluffy> One small side note on slide, I see the MoQ work being
used for live and real time media as well as stored.
HTA: a lot of usage of WebRTC out there
including outside the browser
WebRTC-NV Use Cases
[37][Slide 20]
[37]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D20&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=bhHMIXVHVc%2Fde0kcFY1RvU%2BKpC7iOAQG5cN5kH90UFM%3D&reserved=0
[38][Slide 21]
[38]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D21&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=iQV9278wf9nySdaIN31asCsVVWhMUra4f0Pk1nEV7ko%3D&reserved=0
Bernard: reviewing history of WebRTC NV use cases - initial
draft 27 months before the pandemic, webcodecs
pandemic brought technologies to the mass market
in TPAC 2021, we talked about the relevance of NV use cases
Tim Panton submitted a number of new use cases which arose
during the pandemic
were added in Nov 21
[39][Slide 22]
[39]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D22&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=mpaM%2FLJYJ19%2BbbD8MV%2BNs%2BSDZwhhgyXPedvM3y9NsNk%3D&reserved=0
Bernard: how do these use cases relate to our current work? Not
much
still plenty of requirements not covered by our existing work
4/11 use cases have matching API proposals
unclear consensus on some of these use cases
dependency to changes in data transport that the WG hasn't
been working on
how close are we to satisfying these use cases
extending webrtc vs using webcodecs over new transport
[40]issue #62 / [41]PR #75
[40] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-nv-use-cases%2Fissues%2F62&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FWX211cdWmqWPVnkWrF77KvC7ghHR6LNA5nkwNKu6Xw%3D&reserved=0
[41] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-nv-use-cases%2Fpull%2F75&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Jwxptv4x6Wm4yMxiXvbuD0nZ1NN2UJQxwYEzA9VK65I%3D&reserved=0
Bernard: Game streaming needs ultra-low latency (<100ms) but
not huge scale
low latency broadcast on the other hand can live with ~1s
latency, but needs scalability
most game sreaming services use WebRTC today
quite a few of the low latency broadcast solutions also using
WebRTC
the WISH WG in IETF is looking at ingestion via WebRTC
[42][Slide 23]
[42]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D23&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=yJ7hy6aoXC3pqbwOBEjgiNzK6TVTB8xXRPxunCQVQCg%3D&reserved=0
[43][Slide 24]
[43]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D24&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FreOeHsIlPfGH4qLQFWWvRk%2FfWOLS5F%2Bctx7eTjAM30%3D&reserved=0
Bernard: Game streaming has typically one way A/V direction,
with data going in the other direction
sometimes with P2P support
Bernard: this needs lower level control on the data transport
(req N15)
high resolution video processing (N37)
and control for the jittering buffer / rendering delay (N38)
Harald: re rendering delay, it's often outside of the control
of the app or browser, it's part of the OS
that might turn into a requirement to know it rather than
control it
<Bernard> Harald: may need to know it, not control rendering
delay
fluffy: re game, there is also controller input (incl access to
USB devices) where latency also matters there
<Bernard> Fluffy: APIs from controller...
youenn: would this relate to the gamepad API?
fluffy: that API isn't fast enough - it may need either
implementation improvements or API changes
hta: may not be in scope for the group, but useful to report to
the relevant groups
<Bernard> Tim Panton: data channel in workers
TimP: if communicaiton can happen from a worker, this would
help
Bernard: we've heard repeated support for worker support for
data channels
<martinthomson> my impression is that the player often isn't
using a web browser when playing the game here, so it might not
have a direct effect on this particular use case
Bernard: particularly important in the context of webcodecs in
a worker
[44][Slide 25]
[44]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D25&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=AR7BbCoOEiA1zT3nyim8zmDifjeJAvTBOEPFNBKHHkc%3D&reserved=0
Bernard: low latency broadcast is different both in terms of
latency and scale
this can extend to distributed auctions and betting
limited interactivity, needs NAT
this also ties to encrypted media
that use case also comes with additional control of data
transport (N15)
and DRM (N36)
<steely_glint> I believe Stadia is in the browser.
Bradley: working on the gamepad API extension for multitouch
support (for Sony)
sending the gamepad data as quickly to the server directly
from the hardware would be ideal
<martinthomson> a new RTP media type?
Bernard: would this fall under the gamepad API?
Bradley: not sure where it should live - but it probably should
not be part of the gamepad API which is meant for interperation
in the client
thomas: in the ultra-low latency use case, there is also a
distributed music playing use case
challenging to do without very low latency
bernard: we had discussion about a 3rd use case around
distributed music playing
different from game given that media has to flow in both
directions
hta: we have some prior experience from taking input from one
place and moving it to another without touching the main thread
with stream forwarding
once we have them transferable
that might be something that we could cogitate more:
connecting a stream of gamepad events to an RTP stream and have
"magic happens"
<Bernard> Harald: transferrable streams can connect a stream of
gamepad events from main thread to a worker thread.
TimP: there is a clear definition in the USB spec of what a
gamepad sends
youenn: there is a discussion about gamepad in a worker
happening in their repo
fluffy: sending gamepad input directly via RTP is valuable, but
could apply to other modalities (e.g. gesture tracking)
would be nice to have something flexible to deal with that
variety of input
HTA: will these use cases be proposed for consensus?
<fluffy> If it is interesting for anyone, some work I am going
on game input over RTP [45]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qhfTBpwUvS0wg67QVfQQs%2BAumly4IDNTAwt0DUYqlhw%3D&reserved=0
html/draft-jennings-dispatch-game-state-over-rtp-00
[45]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-jennings-dispatch-game-state-over-rtp-00&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=jFf5xFke8804qnaFQlYS9%2Bx790CX2n0Ta%2BDjIlEKFX8%3D&reserved=0
Bernard: once we finalize the requirements in the PR, we will
bring it to CfC
Developer Engagement
[46][Slide 27]
[46]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D27&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5gNH13IymPBZxK9rs1yl30zUaxQnmK9uzPTtb1ggxBQ%3D&reserved=0
TimP: there is unmet demand out there, possibly for lack of
resources
how could we get more resources into this group?
TimP: I was interviewing a devrel expert on how to build a
community
part of it is figuring out what's valuable to people show up,
and the blockers to people that don't show up
[47][Slide 28]
[47]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D28&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kkoNihbcl1lA5Vb%2BivMZDXC3SnfShgbb4J4FIvE7B3E%3D&reserved=0
TimP: what's valuable to the people are showing up?
it's about the value of standards - they grow the market,
avoid some legal complexities, provide certainty to developers
and it builds on a shared expertise, better results than a
de-facto standard
[48][Slide 29]
[48]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D29&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=kTBcyBTLyuj%2FMHiGbmMAR8W9tvqVXUW%2FvbqbFvRmcRA%3D&reserved=0
TimP: What's valuable and unaddressed for people who aren't
showing up?
not sure we know
who would we want to show up?
[49][Slide 30]
[49]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D30&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hxfuim1bfimD66ntd8pSfylUXjUNeD1k256%2BprffSw8%3D&reserved=0
TimP: What are the blockers to people who don't show up? incl
those who did try but didn't stick
some of the blockers are legal (not allowed to contribute)
some is because they're not seeing progress on the issues
that matter to them
also issues with cumbersome process or hostile atmosphere
limitations due to the fact that we're only dealing with half
of the problem given inactivity of RTCWeb in IETF
[50][Slide 31]
[50]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D31&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=45JLWxnhmfMWlxAQqGbBfsakfPGmJWCjEQx47G87wis%3D&reserved=0
TimP: Part of what is needed is to make it so that people don't
waste their time, feeling they're not being listened to
[51][Slide 32]
[51]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D32&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IsyCpshhqr1eCapVZ%2BYThzgY6wacrGXYnSYZrU%2FV%2Bf4%3D&reserved=0
TimP: a possible solution would be to create a network o users
- not people building browsers or WebRTC stack
could provide very useful feedback & input
could be done under chatham house rules
<hta> discuss-webrtc@googlegroups.com is one place where such a
forum could be advertised.
<fippo> hta: for that discuss-webrtc would have to be moderated
for first-time posters more often than the current "every
second saturday" :-(
dom: similar experience with the WebAuthn Adoption Community
Group
would be happy to work with you in exploring a similar path
for WebRTC
TimP: started sharing that idea with a few folks, getting some
interesting feedback
[52][Slide 33]
[52]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D33&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494306735%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OEGhH0RMB9DJDo0mOv2P6E%2FVt0Sc%2BmGYURd8Ty7WJKc%3D&reserved=0
TimP: we also need to broaden our intput
incl from non-browser projects (e.g. pion)
they have a lot more flexibility in experimenting with APIs
than in a browser context
using as a sandbox to changes, or input to our own design
process
bradley: one of the big things for me working on the gamepad
API and its chromium implementation
one of the frustrations in shipping that experimental feature
requires an extension to the standard for iterating
hard to iterate quickly
TimP: maintaining a fork of Chromium is a substantial effort
fluffy: I feel what you're saying on all of this; an
interesting premise is that this group is often seen as a group
of implementors
instead of a negotiation between users and implementors
the reasons I don't come here are similar to what you
describe
I'm not sure having a separate group will help if we don't
fix the root cause
TimP: I accept that risk - but feels better than doing nothing
fluffy: right - but unless the input gets listened to, it will
still feel like a waste of time
TimP: right this group, would have to commit to listen to the
input
also helps decoupling the legal issues, and provides a
different audience
Bernard: with the next generation of APIs, we're also not
talking to a single group - there is WebTranport, Web Media...
up to 7 groups with one aspect of that architecture
providing a single entry point would help
<martinthomson> is steely_glint talking about forming a
community group?
TimP: that expands the scope of what I had in mind
hta: the place I currently see for this kind of developer input
is in the chrome bug tracker where they're requesting
non-standard feature
there is a community willing to provide input but not sure
how to contributing it
Google should not the org doing the outreach
TimP: +1 - it should be somewhat separate from the browser
makers community
not quite sure yet how to manage the input to the group
if there is feeling this is worth constructing, I'll take a
stab at it
hta: I support this
youenn: at a previous TPAC, there was a session where we
invited developers for feedback
Henrik: what would be the output of this group? concrete API
proposals? PoC implementations?
TimP: really good question - would be dependent on what this
group would accept
not standards proposals though
it could be a prototype in Pion
and then translated in W3C speak
it could also be useful when we have questions about
developer ergnomics
HTA: next step is on TimP's shoulders
WebRTC-PC
[53][Slide 36]
[53]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D36&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=yyRMXftFb%2B%2FfKNQ06DWbOmzyVcIfLEIvx9AFEFNBxAc%3D&reserved=0
[54][Slide 37]
[54]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D37&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=izQCcAj7Dfof5Nt21trnv2jGufa%2BV3mIFXOq7HV7QdE%3D&reserved=0
WebRTC revision process
[55][Slide 38]
[55]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D38&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4QPFkOOyOgtKvueEq0N704ZOGyO8B7IESXbCQ%2Ba0dAU%3D&reserved=0
[56][Slide 39]
[56]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D39&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4pms%2FCUI1bUtVjaqxaduzyyyNC%2Bw7gu%2BpEAPdeXR3Ek%3D&reserved=0
[57][Slide 42]
[57]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D42&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oD8ijkJH%2BegDVx8FVjlOMzk6OpxCh0oxeDTh4dPrRU8%3D&reserved=0
dom: future cfc to move on with agreed changes in WebRTC pc
plus discussions to move away from WebRTC extensions.
Bernard: there are a number of changes in webrtc-pc that we
could move back from webrtc-extensions
Bernard: number of WebRTC extensions have been removed from
webrtc-pc, they are now implemented. So we should move them
back to webrtc-pc?
dom: yes
Bernard: e.G maxframerate has been implemented
<martinthomson> "at least one browser" isn't something that I
consider sufficient for moving stuff
youenn: what is the process to move directly to webrtc-pc
dom: we would provide annotations (experimental for instance).
youenn: would reduce editors burden to directly go to
webrtc-pc.
hta: hearing support to move in that direction
<vr000m> Does this change confuse the reader on what has been
implemented and what is not. This was one of the main reasons
to split the work into extensions, i.e., good ideas to be
implemented but not yet.
hta: also show values in pushing docs to Rec, e.g. for
mediacapture-main and webrtc-stats
dom: if possible a module is good, some changes are deep in the
main spec, so good to update the webrtc main spec.
orphis: what about webrtc 2.0?
dom: we could go with webrtc 1.1... 2.0.
might be better to move away from versioning.
renaming WebRTC 1.0 -> WebRTC instead for instance.
The room seems to agree with the overall direction.
[58]PR #2763: add relayProtocol to RTCIceCandidate
[58] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fpull%2F2763&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LEF6R1z6HAEKLl4UQ62opkshx1MbQz20%2BAywb2YiUVY%3D&reserved=0
[59][Slide 42]
[59]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D42&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494462965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oD8ijkJH%2BegDVx8FVjlOMzk6OpxCh0oxeDTh4dPrRU8%3D&reserved=0
fippo: propose to fix inconsistency between stats and -pc on
candidate objects
also remove unimplemented url field of the event interface
youenn: it's exposed in Safari
hta: it makes more sense to have it in the candidate than in
the event
fippo: I'll make a PR for that
[60][Slide 43]
[60]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D43&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=D7vfCPlt5azHm%2BvmKdkyx8w6Xks5q5zlls2ujfP9JRc%3D&reserved=0
Simulcast negotiation
[61][Slide 44]
[61]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D44&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=d%2FE3ZnC3cy75%2F3vko4VZoHWBXJ6uR9FAvW3k80ArIQA%3D&reserved=0
[62][Slide 45]
[62]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D45&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4C2ATEHn5TXIufKGrA0x%2Bj1%2F0XQudfBbm442a7j2ESQ%3D&reserved=0
Jan-Ivar: looking from easiest to hardest issue
starting with [63]#2732
Chrome and Safari throws on > 16 characters
propose we align with that
[63] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F2732&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=lz2LtdzuHPZX6vcVxZIZOC3gnHpMyvFI6qFkJBUY%2BkY%3D&reserved=0
fluffy: strongly object to that without having this done in
IETF
agree with fixing it, but in the right place
<martinthomson> fluffy: RFC 8851-bis?
youenn: this is only from the sender side
jan-ivar: this would only affect for transceiver, not in offers
to receive simulcast
Byron: if JS try to use that the impl can't handle, would
OperationError be appropriate
Henrik: could reject the offer?
Byron: that's not an offer that point of the discussion
hta: background on the 16 choice - this used to create a Chrome
crash
with inconsistent checks (one on 256 vs 16)
we did hit someone sending a 17 characters rid
Orphis: the limit of 16 characters was in the older version of
webrtc-pc
HTA: can also commit to file an IETF issue
Jan-ivar: but this change is only impacting what browser would
send
<Orphis> jib: [64]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2F2017%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=FoMt%2FbAL6Hj0SpN9bBX1%2FEIKc5pHK%2BJf6A%2Fmgw%2FCWng%3D&reserved=0
CR-webrtc-20171102/#dom-rtcpeerconnection-addtransceiver
[64]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2F2017%2FCR-webrtc-20171102%2F%23dom-rtcpeerconnection-addtransceiver&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=OnOhAxBaqtUEjJDVpH5pcHd8SMU%2FHTlSPAgITN96KaU%3D&reserved=0
RESOLUTION: limit rid to 16 in addTransceiver and file issue in
IETF on RID length in general
[65][Slide 46]
[65]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D46&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=L%2FhOZJKGoLiDkMl50rsT3a%2FEyQOkJRTCSJQRzMWqFxI%3D&reserved=0
jan-ivar: other cases where chromium and safari throws on
specific valid RID
cullen: getting the inconsistency between rfc8851 and rfc8852
fixed and aligning with it sounds better
Byron: 8852 is more restrictive than 8851
aligning with the more restrictive is probably more prudent
we can take that to the IETF
jan-ivar: so do that before making the change?
hta: we should at least add a note that - and _ can be
problematics
<vr000m> ABNF on 8851 is:
<vr000m> rid-syntax = %s"a=rid:" rid-id SP rid-dir
rid-pt-param-list / rid-param-list ] rid-id = 1*(alpha-numeric
/ "-" / "_")
hta: not unreasonable to limit what we send within the
constraints of the RFC
youenn: we should document something in the spec right now and
add a link to the IETF discussion
hta: +1
<vr000m> rid-syntax = %s"a=rid:" rid-id SP rid-dir
rid-pt-param-list / rid-param-list ] rid-id = 1*(alpha-numeric
/ "-" / "_")
cullen: 8851 is what defines the rid syntax
[66][Slide 47]
[66]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D47&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Cs1fxIytopSX9zVqb110qpyCJGO7uGOohKvw5wUlF%2BE%3D&reserved=0
Issue [67]#2734: addTransceiver does not check for missing rid
properties
[67] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F2734&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6%2FnfipdqazSMcUT%2FoIPquVN9liAXkaC4y050M4KY4XI%3D&reserved=0
hta: +1
youenn: +1
[68]#2733 addTransceiver does not check for uniqueness of rid
[68] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F2733&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=NIDOxpcPrtrJHznp9dr45LdPtTnQI%2FocXk%2FESDCynx4%3D&reserved=0
[69][Slide 48]
[69]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D48&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gbjej2UToPWTsXmTFsS%2FcDcqaDqGJvy2bu0bwQuucW0%3D&reserved=0
hta: +1
youenn: +1 as long as there is no web compat issue
Issue [70]#2762: Simulcast: Implementations do not fail
[70] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F2762&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1Hxc7jg8GxKMeRXWVCvY%2BpbzIruYwa7aiaxsln47AVE%3D&reserved=0
[71][Slide 49]
[71]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D49&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rxcp6%2BTiOW9qUdx8KUcvXsOaV61ou7RDm5PJuen1hW4%3D&reserved=0
[72][Slide 50]
[72]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D50&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SW1gyUYsdgL01%2FiRBp%2FsUx2%2FGLdFJMTdqNfDhwHKcpM%3D&reserved=0
hta: one edge case I've encountered: if you get a remote offer
with 3 layers
and then get a later remote offer with 2 (reduced # of
layers), I've implemented it as removing top layer
if you then have a local offer, should you send 2 or 3? ie
should we generate an offer that tries to re-expand it
Byron: maybe a bad idea? I don't know
hta: not sure what the right way is, but the spec should say
something
jan-ivar: that will block this issue
hta: I'll make a note on the issue
but what's on the slide is fine - it's just another edge case
to consider
Issue 2764: What is the intended behavior of rollback of remote
simulcast offer?
[73][Slide 51]
[73]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D51&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=V9hiOPLLxCvNDwaqueMqJ0JO9W1yTnDM5qaGpkjNeBA%3D&reserved=0
Byron: the reverse situations is more complicated - a
previously negotiated simulcast session with 3 and a re-offer
with 2 that gets rolled back - what should happen?
henrik: the rollback has to reset everything, otherwise it
becomes difficult to re-purpose the transceiver
youenn: I'm surprised of the divergence, may be a bug in safari
[running of time to finalize session on simulcast]
Restarting
With webrtc stats
[slide 59] what to do with RTP stats lifetime
Henryk: in favour of proposal A.
stream stats do not have any useful information before
receiving / sending packets
<vr000m> I like Proposal A as well, as there is no data before
the packet is sent or received
jib: proposal A is good to me
fippo: proposal A might be a breaking change as people might
rely on it
risky change
jib: people relying on this could only work for some browsers.
youenn: how will you ensure backwards compat?
henrik: would ship with a flag to disable the change
RESOLUTION: Proposal A but implementors need to check web
compatiblity
Henrik will prototype the change
[slide 60] when are stats destroyed
Issue [74]#668 - When are RTP streams destroyed?
[74] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F668&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=i2Volf6gaS8z6ufmAI4cEyKELJJlJAKf8kyI4BAkYOY%3D&reserved=0
Harald: one reason for not deleting stats is to be able to get
the total number of bytes.
hta: nobody has complained that this hasn't been possible
though
jib: +1
part of the reasons for eternal stats was to keep them
available after pc.close() which would be lost here
probably fine since nobody has complained about this
SSRC change is hard to find in the WebRTC stack
fluffy: SSRC change in the remote side is hard to detect;
they're rare but can happen
henrik: the point of PR is exposing the current set of streams
as identified by the impl
fluffy: transceiver going away I understand; not sure how to
detect SSRC going away though (e.g. long mute)
henrik: renegotiation might the practical approach
RESOLUTION: agreement to delete stats when sender/receiver is
reconfigured.
Issue 643
Issue [75]#643 - Do we agree removing "sender", "receiver" and
"transceiver" stats is a good idea?
[75] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F643&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rpyZEGfBWX0ovYuZGjavgljfuSSJYrIju33tJXKTFC4%3D&reserved=0
[76][Slide 61]
[76]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D61&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2BvmXac4to2gDKn6gwL6KI%2F9MY0hswPVHa3WpCkruy9s%3D&reserved=0
[77][Slide 62]
[77]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D62&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494619209%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FaRhmiujc%2FMpUfjJLSt6B0n26RB%2FwyXvr2ZZizdPh2M%3D&reserved=0
RESOLUTION: close issue 643 as "yes, it was a good idea to
remove them for WebRTC stats"
youenn: it may be worth even removing it from -provisional
henrik: maybe, but worth discussing separately
Issue [78]#666 - powerEfficientEncoder/powerEfficientDecoder
[78] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F666&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Z2NCP%2Fpi%2BQlo1FZPATcEVFM1dXSXyEKsveTcGvzl%2BHk%3D&reserved=0
[79][Slide 63]
[79]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D63&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=vDs4%2FFYDmmWlNTyl8IOFnd71tpZ9F8Kfvj8%2FZ84BQuQ%3D&reserved=0
henrik: proposed [80]PR #670
[80] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fpull%2F670&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ATVd%2Bn56VekrGRHgqN5WI860EI%2FGYunr9BJsddqfD3s%3D&reserved=0
youenn: there is a fingerprinting issue with
encoderImplementation
we need to solve it before adding a new surface
at least in safari, this would be exposing new information
not exposed by encoderImplementation
henrik: how about tying this to getUserMedia permission?
jib: I think tying this to gUM would be a mistake
powerEfficient was moved to media capabilities to avoid this
privacy issue
<Tim_Panton> Not in favour of linkage to get user media.
youenn: the issue with media capabilities is that it's about
what can be done, but what is being done
e.g. if all hardware encoders are being used
jib: isn't the fingerprinting part that the system has
hw-capability?
<Tim_Panton> GUM should be irrel
<Bernard> Agree. Media Capabilities has no dependency on gUM
<Tim_Panton> irrelevant to a recv only decoder
youenn: exposing that there is hw-capability *and* that is
being used is additional fingerprinting
jib: re encoderImplementation exposing this, it's only in some
implementations - and we should limit that too
youenn: let's revive the fingerprinting issue
Issue [81]#662 - Don't expose so many RTCCodecStats!
[81] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F662&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rokOuuuK5A95Lj9zUgByJ8PF6vCMAaPqOMGEWIvhlkQ%3D&reserved=0
[82][Slide 64]
[82]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D64&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TBGre3YGktzQakkzRNV0MBVO%2F7uGsM27ZOODukKWeLI%3D&reserved=0
henrik: proposing PE [83]#669
[83] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F669&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aOECxhs6q9hBTLJdIfrlAN%2Bj%2Fn6fyT%2BKotGaTvm73c0%3D&reserved=0
jib: could also be obtained from media capabilities
orphis: or with getParameters
RESOLUTION: Adopt [84]#669
[84] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-pc%2Fissues%2F669&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aOECxhs6q9hBTLJdIfrlAN%2Bj%2Fn6fyT%2BKotGaTvm73c0%3D&reserved=0
WebRTC-Extensions
[85][Slide 66]
[85]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D66&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4VlUyD%2Bj9nz1BgcdSM6WU8yN8LmqxP7PsQbpsdqPuck%3D&reserved=0
Issue [86]#98: Disabling hardware encoding/decoding
[86] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F98&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=d0hULI5OKsIAUg6B%2Fl8LDL%2Fbqr952FiWeQtuAjc4%2Fqk%3D&reserved=0
[87][Slide 68]
[87]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D68&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=U7se5XAqqI79T0E0U8u9Nwc5C35uWiQ8yhkR27I22C0%3D&reserved=0
[88][Slide 69]
[88]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D69&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=LG0WCr3WJfEHPXM0CRzQeqdOVtWj2xVcsFIyNHGtvZA%3D&reserved=0
youenn: why would this succeed more than setCodecPreferences?
bernard: it's simpler
fippo: I have an implementation for it, very short
dom: how could this be used for fingerprinting?
fippo: by turning it on and off, this may be surface more
details about codecs profiles
youenn: re gating this to reloading - would this be the top
level page or iframe?
jib: to prevent fingerprinting, tying this to top level context
would make it a bigger deterrent
hta: let's iterate on privacy issues in the bug
Issue [89]#112: header extension API: do we need enabled in
setParameters?
[89] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F112&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N2aqI%2BxQzexacPACjScTv04tnsJkKflwWXHOPEetr5M%3D&reserved=0
[90][Slide 70]
[90]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D70&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=I9ZYTnhOktmmcxLz5n%2FK2GaZQX8Lt0INuxXNr%2Ba9rug%3D&reserved=0
[support for the removal]
Issue [91]#111: Integration of congestion control across SCTP and
media
[91] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F111&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gSXYcdV2U6EH3kyxEtRPLsc4G53BSVhtP9bR5H7AqAc%3D&reserved=0
[92][Slide 71]
[92]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D71&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=vlwNnjY0AHyTj8JF3wu%2Fw%2F4P0cJnbYW63PU7yLIcJJs%3D&reserved=0
[93][Slide 72]
[93]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D72&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=H021%2BWxsXzrgZUhv83qogN14jhRsxt%2FVZjK1C51qvHg%3D&reserved=0
<englishm> +present Mike English
<vr000m> What would be the API impact? wouldn't the existing
APIs be sufficient input for the implementors?
hta: there actual cases where congestion control conflicts
prove problematic, e.g. large file upload in Meet
youenn: is webrtc priority addressing this?
fluffy: the RTP and the data can go different destinations,
which further complicates the congestion control
feels like implementation quality issue
the right solution is probably to have them both on top of
QUIC
Bernard: main use cases are in game streaming
a bit distinct from this, with current congestion control on
the datachannel
Peter: if we have a good API for encoded stream, then you could
send you A/V/data on a single transport, or you could encode
them together and send them over rtp
which would ensure they get treated as a whole for congestion
control
<jesup_> +1 to cullen; people do want this. not here though
hta: hearing consensus that [94]#111 can be closed as no action
needed from this group
[94] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F111&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gSXYcdV2U6EH3kyxEtRPLsc4G53BSVhtP9bR5H7AqAc%3D&reserved=0
RESOLUTION: close [95]#111
[95] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F111&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494775454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gSXYcdV2U6EH3kyxEtRPLsc4G53BSVhtP9bR5H7AqAc%3D&reserved=0
Summary of resolutions
1. [96]limit rid to 16 in addTransceiver and file issue in
IETF on RID length in general
2. [97]Proposal A but implementors need to check web
compatiblity
3. [98]agreement to delete stats when sender/receiver is
reconfigured.
4. [99]close issue 643 as "yes, it was a good idea to remove
them for WebRTC stats"
5. [100]Adopt [101]#669
6. [102]close [103]#111
[101] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F669&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=nkpBE6Yzi7Kg8%2Brc5KSP32cDh2gDg%2FiUb0uHtHW6IGM%3D&reserved=0
[103] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-extensions%2Fissues%2F111&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=9y3aLV5e%2BorA9DBnbnsbkeHJBJqOWgg6gT5XDR168O8%3D&reserved=0
----
WebRTC TPAC F2F - Day 2
13 September 2022
[2]Agenda.
[2] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2F2011%2F04%2Fwebrtc%2Fwiki%2FSeptember_2022&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=fiA5DlW0nkGFwDbOYIlbXDdqVYvBcO0kGH9j1YFD7bw%3D&reserved=0
Attendees
Present
AlexanderFlenniken, BenWagner, Bernard, Byron,
ChrisNeedham, Cullen, Dom, EeroHakkinen, Elad, EricC,
Erik, Florent, Harald, Henrik, Jan-Ivar, JeffWaters,
Mark_Foltz, MarkFoltz, MartinT, Masaki, MichaelSeydl,
Mike, Mike English, Peter, Philipp, RichardBarnes, riju,
Tony, Tove, TuukkaToivonen, Youenn
Regrets
-
Chair
Bernard, hta, jan-ivar
Scribe
dom
Contents
1. [3]WebRTC Encoded Transform
1. [4]Issue [5]#106: Add use cases that require one-ended
encoded streams
2. [6]Issue [7]#90: Pluggable codecs
3. [8]Issue [9]#31 & Issue [10]#50: Congestion Control
4. [11]Issue [12]#99 & Issue [13]#141: WebCodecs & WebRTC
5. [14]Issue [15]#70: WebCodecs & MediaStream transform
6. [16]Issue [17]#143: generateKeyFrame
2. [18]Conditional Focus
3. [19]Screen-sharing Next Steps
4. [20]Encoded transform
1. [21]Issue [22]#131 Packetization API
5. [23]Action items & next steps
6. [24]Summary of resolutions
[5] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F106&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VNBbxNIKt1kX%2B3Qn7Ru5dE%2BmCBNvEAXIeUf%2BHxG2G5U%3D&reserved=0
[7] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F90&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=G11ANhVNPRRuplqGLhoV7j57%2FkpTnmxzhBAvsy9VL%2BI%3D&reserved=0
[9] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F31&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5Qt%2BxR41is02HI2Rt10JW99kgcz0fMD%2F2IqS%2Fn5Dhqg%3D&reserved=0
[10] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F50&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8ouYqxTIQLpuDktnTz34Yh919fOAIjDEgLy5BJyCwVk%3D&reserved=0
[12] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F99&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=u1JTNVoFJNPrfk3JXD94UoPbsjWNKUZOtKaDMlQjAp0%3D&reserved=0
[13] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F141&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ekojpWDhu639uVduQiaMCBwE%2FEsPsVmMcrIrQ%2B7baPU%3D&reserved=0
[15] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F70&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=7rWZ%2FFW94J2lL8W%2BtIQ00RzKRE2rymIjuwZlTb8TLh8%3D&reserved=0
[17] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F143&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o2QeS%2B8hrFlP17mA%2FYQaESiaVNOfE9Kkq8XfcaIw790%3D&reserved=0
[22] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F131&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=it344VLjfpk0AKZ5tEk3DTP77nqIe98Ek9TczFeBE48%3D&reserved=0
Meeting minutes
Slideset: [25]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=F1EJkXof4jfzSUErXW3OD2BFUcyhiYdC8t2qxAU9YVs%3D&reserved=0
2022Sep/att-0000/WEBRTCWG-2022-TPAC.pdf
[25]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=q6hcixKJPlANj%2BZX06voo3jrbF3%2FZmJA4M5U8PjTaG8%3D&reserved=0
[26][Slide 75]
[26]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D75&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ILOU19u3VlGHaGlwt6fdjs%2BM04k5D5f1%2FrYthBI87FA%3D&reserved=0
WebRTC Encoded Transform
[27][Slide 78]
[27]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D78&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Dd3goJbtzxzuK3Q0ag2eis4Gnp6MhiUgnc0s6J%2FhkXQ%3D&reserved=0
Harald: encoded transform is fine for crypto, but not fine for
other manipulation use cases
Issue [28]#106: Add use cases that require one-ended encoded streams
[28] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F106&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VNBbxNIKt1kX%2B3Qn7Ru5dE%2BmCBNvEAXIeUf%2BHxG2G5U%3D&reserved=0
[29][Slide 79]
[29]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D79&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=5M2s0V4SnWovUeUqGJaB1ASo1jHiLsFB7MvsrL7y6DU%3D&reserved=0
Harald: several use cases where you want to connect a stream to
somewhere else after processing
not sure what a proper API would look like, so thought we
should go back to requirements
youenn: looking at the use cases - they probably deserve
different solutions
e.g. webtransport probably shouldn't use peerconnection
alternative encoders/decoders - sounds like a different API
altogether
metadata may be done prior to PC
Harald: encoded transform is a stream source connected to
stream sink
a one-ended stream has only one of these
we have an ecosystem of media & encoders that people have
gotten used to
if we can plug into this ecosystem, it seems a better
solution than creating novel solutions for this
it might be that we decide that it's not the same ecosystem
in which case we might kick the ball over to media
youenn: starting from use cases and then deriving requirements
as done for WebRTC-NV would be useful to do here
it's easier to derive APIs from requirements
harald: the SFU-in-browser is a technique to achieve the
scalable video conferencing use case we discussed yesterday
youenn: describing use cases in more details and then derive
requirements from there
jib: +1 on better description of use cases
Bernard: the NV use cases has no API that satisfies the
requirements
WebTransport doesn't support P2P; the only path is RTP
JIB: so the idea would be to expose an RTP transport to JS
Bernard: or make the datachannel a low-latency media transport,
but there doesn't seem to be much stomach for that
Harald: we have a discussion scheduled on whether to consider a
packet interface in addition to a frame interface
We'll detail the use cases more to figure out if an extension
of media stream is relevant or if we need something completely
different
Issue [30]#90: Pluggable codecs
[30] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F90&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899494931678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=G11ANhVNPRRuplqGLhoV7j57%2FkpTnmxzhBAvsy9VL%2BI%3D&reserved=0
[31][Slide 80]
[31]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D80&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=P8IeKJhtxeb%2FBtYh7aEqjzpmmL9HL57Q6mI9m2sNggY%3D&reserved=0
Harald: we've been lying to SDP about what we're transporting
<martinthomson> what is ECE?
Harald: to stop lying, we need a mechanism to allow the app to
tell the SDP negotiation that they're doing something else than
the obvious thing
<fippo> probably EME (there was a comment + question in the
slides)
youenn: this may lead us to a conclusion than encoded transform
was a mistake
<martinthomson> ...I tend to think that this is already broken
youenn: the other possibility, you could state during
negotiation that you're going to use app-specific transforms
letting intermediaries know about this
we tried to push this to IETF AVTCore, without a lot of
success
Harald: maybe MMUSIC instead?
Cullen: it's worth trying again - slow move has been the
pattern in the past 2 years, not a signal
Bernard: the reason why SFRAMe has not moved in AVTCore is
because nobody showed up, drafts were not submitted, and the
area director is considering shutting down the SFrame WG
Youenn: I went to several meetings, tried understand the
submitted issues, but struggled to find solutions that would
satisfy
the work has been stalled for lack of consensus
herre: can we move forrward without the dependency on IETF, by
allowing the JS to describe its transform to the other party?
Youenn: encoded transform has a section on SFrame transform,
which wasn't pointing to an IETF draft until recently
Harald: the scripttransform is fully under the app control, but
it doesn't have a way to tell the surrounding system it changed
the format
we could add an API before the IETF work emerges
Martin: SFrame is very close to death, I expect some more work
to be done though
once you give script access to the payload, anything is
possible
this breaks the assumptions under which the encoder and
packetization operate
I don't think letting the script write the SDP, we need a
model that makes sense, not sure what it would be
Youenn: we had a model with the traditional video pipeline
including a break into it
we could open it more and exposing more of the states of the
pipeline
we could expose e.g. bitrate if useful, based on use cases
for pluggable codecs, you need to set a break before webrtc
encded transform & the track, and be able to set a special
packetization
martin: you'd want to deal with raw media (the track), then do
the encoding and the packetization
youenn: not sure we need all the breaks
Issue [32]#31 & Issue [33]#50: Congestion Control
[32] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F31&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=vxCxPD%2BCz4zHSgkRwm62A3pJPwDR7aZjSaM0HdlWALY%3D&reserved=0
[33] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F50&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=TjdupfZgpQ4oYkLvQz9YeIaD6vTE08L2Rp0liQTNtNw%3D&reserved=0
[34][Slide 81]
[34]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D81&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zonZ6GHn7BG9bWxRBdmi3KOBfYmF%2BU01TMljJWa%2FceY%3D&reserved=0
Martin: none of this is necessary if you're looking at just
mutating packets
Harald: not if the size or number of packets can change
Martin: some of it can be modeled as a network-specific MTU for
the SFrame transform
Harald: the downstream would need to expose its MTU, and the
SFrame transform would share its MTU upstream
Martin: but beyond, this is looking at the entire replacement
of the chain
Youenn: the AR/VR use case is where data can be much bigger
when you attach metadata
one possible implementation is to do this with
ScriptTransform to stuff metadata in the stream, as a hack
not sure if we should accept this as a correct use of the API
in such a use case, expanding the frame size means the
bitrate is no longer correct
the UA could instruct the encoder to adapt to the new frame
size
or we could expose new APIs
<peter> Isn't the targetBitrate already in webrtc-stats?
martin: AR/VR is probably a wrong usage of ScriptTransform
it would better be handled as a different type of
MediaSTreamTrack
this points toward being able to build a synthetic media flow
martinthomson: it would seem better to look at it this way
rather than through a piecemeal approach
the AR/VR points toward synthetic media flows
Bernard: people have tried using the datachannel for AR/VR
didn't work for A/V sync or congestion control
they want an RTP transform
the A/V stream helps with sync
if you put it in a different flow, how do you expose it in
SDP
it's the only way available in the WebRTC model today
fluffy: on WebEx hologram, we do exactly what Martin describe
we send a lightfield in a stream that looks like a video
stream
same for hand gestures etc
all of this sent over RTP
it's low bit-rate data, doesn't need to adapt like audio
lightfield instead needs bandwidth adaptation
this could apply to haptics, medical device data being
injected in a media stream
TimP: part of our problem has been mapping all of this to SDP,
for things created on the fly
describing things accurately in SDP is a lost cause as we'll
keep inventing new things
<martinthomson> Steely_Glint_: SDP is extensible....
TimP: we should be describing the way we're lying (e.g. we're
going to add 10% to the bandwidth; it won't be H264 on the way
through)
without trying to describe it completely
acl peter
s/acl peter
Peter: I had proposed an RTP data mechanism a few years ago,
which sounds similar
we could have an SDP field to say this is arbitrary bytes
or construct something without SDP
Martin: I was suggesting new type of RTP flows with new
"codecs"
browsers can't keep up with all the ways that SDP would be
used; we should instead give a way for apps to describe their
"codecs" via a browser API
Issue [35]#99 & Issue [36]#141: WebCodecs & WebRTC
[35] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F99&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=A3dqTPtsNj9i8VwSffxX6RvdnWbGjLdaG0YGmzHVwtE%3D&reserved=0
[36] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F141&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=X43bTuXqY%2Fpp1%2F8RbK58alCc%2FjpVcl7SaByOtmfLCDk%3D&reserved=0
[37][Slide 87]
[37]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D87&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UxGtxYxuO8xyxkLX9%2F7eZauo07aS0yRlbnHXYIo7qMM%3D&reserved=0
youenn: Both WebRTC and WebCodecs expose similar states
but there are differences e.g. in mutability
<jesup> I strongly agree with Martin's comments; these
data-like should be "codecs", which allows for much more
flexibility, specification, and interoperability
youenn: should we try to reconcile? should we reuse webcodecs
as much as possible?
<Steely_Glint_> But we do need (in sframe) to allocate a
suitable codec (say h264) - the 'generic' pass through drops
that into
youenn: I propose we stick to what we shipped
DanSAnders: from the WebCodecs side, that sounds like a good
approach
we don't have a generic metadata capability
harald: so we should document how you transform from one to the
other
it's fairly easy to go from webrtc to web codecs
the reverse is not possible at the moment
<Bernard> Youenn: we can create constructors to build
RTCEncodedVideoFrame from EncodedVideoChunk
herre: if we move to the one-ended model, this creates trouble
in terms of ownership and lifecycle
youenn: we deal with that problem in Media Capture transform
through enqueuing via cloning (which is effectively a transfer)
<peter> +1 to constructors for
RTCEncodedVideoFrame/RTCEncodedAudioFrame
Bernard: re constructors to get from one type to another,
allowing conversion between the two
jib: your proposal doesn't address the mutability of metadata
youenn: the particular metadata I'm referring to aren't mutable
<Bernard> Harald: this model does not support the use cases we
have been discussing.
youenn: can we close the issue or should wait until the
architecture get designed?
Harald: I hear support for the two-ways transform
youenn: let's file an issue specifically about that and close
these 2 issues
Issue [38]#70: WebCodecs & MediaStream transform
[38] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F70&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PWHO0tgJXStiRiHN8ChX2ijvd%2BEMdNfPKBFbCW08tWk%3D&reserved=0
[39][Slide 88]
[39]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D88&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=sN%2F1GunbhhRoOnL8BL%2FkMTi5vs5JBpC0mLemwd%2Bajjw%3D&reserved=0
[40][Slide 89]
[40]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D89&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wB374hFuRoK0d5zoMUaOaLV0Qivn4j0PtgnAa1WLqro%3D&reserved=0
DanSanders: proposal 1 is straightforward
we don't have a metadata API for lack of a good enough
technical proposal
the mutation/cloning aspect is the challenge
e.g. cropping may generate no longer accurate data about face
detection
it depends on what cloning does
peter: are we talking about how the metadata would go over the
network?
youenn: here we're focusing on mediastreamtrack as a series of
frames
we don't have a good solution for moving it over the network
as we discussed in the previous item
the WebRTC encoder could be a pass-through for the metadata,
but it's still up in the air - we welcome contributions
chris: in webcodecs, there is some request to expose H265 SCI
metadata for user defined data
<miseydl> some meta information might be provided by the
containerization of the video codec itself (NAL info etc) would
we populate that generic meta array with those infos?.
chris: that would presumably be closed expose with videoframe
it would be useful to look at the use cases together
Dan: this is kind of low priority because of low multiplatform
support
if we have a metadata proposal that works, it could be used
here
youenn: we had someone sharing such an approach - although it's
codec specific
chris: we'll also continue discussing this at the joint meeting
with Media
harald: metadata has some specific elements: timestamp, ssrc,
dependency descriptors
the last one obviously produced by the encoder
mutable metadata - if constructing a new frame is very cheap,
we don't need mutability
DanSanders: it's quite cheap, just the GC cost
Harald: we'll continue the discussion at the joint meeting & on
github
Issue [41]#143: generateKeyFrame
[41] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F143&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rudxkbYcoQtSsxFxEbEsNQBqNBsd1%2BcnF%2F%2BNaIClQu0%3D&reserved=0
[42][Slide 90]
[42]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D90&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=7mEKNAQeL9cfmMkfmkHQaZqd53yehwE2lwkpOWssue8%3D&reserved=0
<Ben_Wagner> WebCodecs spec requires reference counting:
[43]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=UbzVaKr20BFUerzvBGRmtfGxx2hxwiFmESeiidosSyU%3D&reserved=0
webcodecs/#raw-media-memory-model-reference-counting
[43]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2Fwebcodecs%2F%23raw-media-memory-model-reference-counting&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=0pnPKTwsZ1rsDGvLwCwzo4BUufl6V8aSiVBmNaFnKCI%3D&reserved=0
Peter: what about returning multiple timestamps?
youenn: that's indeed another possibility
<martinthomson> does it even need to return something?
youenn: but then the promise will resolve at the time of the
last available keyframe
martinthomson: does it need to return anything, since you're
going to get the keyframes as they come out?
youenn: it's a convenience to web developers to return a
promise (which also helps with error reporting)
martinthomson: at the time the promise resolve, it resolves
after the keyframe is available, which isn't the time you want
<miseydl> one could also use the timestamp to associate/balance
keyframerequests, which is useful for various reasons.
youenn: it's resolved when the frame is enqueued, before the
readablestream
martinthomson: this seems suboptimal if what you want is the
key frame
if frames are enqueued ahead of the keyframe
youenn: in practice, the expectation that you'll be polling the
stream otherwise your app is broken
martinthomson: with machines that jank for 100s of ms
youenn: the promise can also be used to return an error, which
I don't think can be validated asynchronously
martinthomson: that argues for a promise indeed; not clear that
the timestamp return value
fluffy: what you want to know is that the keyframe has been
encoded; the timestamp is irrelevant
youenn: so a promise at the timing we said, but not timestamp
Peter: would it be reasonable to have an event when a keyframe
is produced?
youenn: you do that by reading the stream and detecting K
frames
Peter: I like proposal 3 as a way to cover the situations you
want
TimP: the way I recalled it was the purpose of the timestamp
was to help with encryption through sframe for key change
martinthomson: this can be done by waiting to a keyframe in the
stream before doing the key change
I also don't think it's strictly necessary to resolve the
promise upon enqueuing
<jesup> +1 for proposal 3. Simple. Agree with mt
martinthomson: it could be done when the input has been
validated
RESOLUTION: go with proposal 3 without returning a timestamp
[44]Conditional Focus
[44] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fmediacapture-screen-share%2Fissues%2F190&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IpsxmjOfwPFngXw4hIgwTNmypQ6uP9tIuCby8VBrI3c%3D&reserved=0
[45][Slide 93]
[45]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D93&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=rwwILJaOVpB6tFe4zNvA67NuUyzqqZ78ZOZHxRQrzhI%3D&reserved=0
Elad: screen sharing can happen in situations of high stress
for the end user
anything that distracts the user in that moment is unhelpful
the API we're discussing is to help the app set the focus on
the right surface
[46][Slide 94]
[46]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D94&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=bwspG%2BVp5KEYEorX6AeM0GLJUwswa17obJoZ95%2FjQ1k%3D&reserved=0
[47][Slide 95]
[47]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D95&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495087923%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=bluDD7gaezFPU4NK29mUaBFrsVY4k8WCYWxLQM3L668%3D&reserved=0
[48][Slide 96]
[48]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D96&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=dLEIZ7Oe5m9jm0UGHZVil980WnphwQuWIxqRXcsmdDc%3D&reserved=0
elad: still open discussion on default behavior when there is a
controller
[49][Slide 97]
[49]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D97&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3excCJgEzS9fT1fJdiv6RFfrQjkI5ARzSPSj7Vdj6%2Bg%3D&reserved=0
[50][Slide 98]
[50]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D98&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o7tN2CyxiOacbytzocG1Jrwd46BW1egqbPaDjZMnCi4%3D&reserved=0
[51][Slide 99]
[51]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D99&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=ZUZk6sPhUYD93qt41JTW%2FdwjSEpkXXa89G9W5BD%2BfBc%3D&reserved=0
[52][Slide 100]
[52]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D100&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=00k6RuOfHIHaRNvUMCOb%2FRyNnIB5wXkUPudv0JBTAP4%3D&reserved=0
[53][Slide 101]
[53]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0000%2FWEBRTCWG-2022-TPAC.pdf%23page%3D101&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hV50uHwMaigy3d8%2FXFVDaJSqCllz5cs7WI%2FWjHPfYuI%3D&reserved=0
youenn: re task, we want to allow for the current task - there
is no infrastructure for that, but implementations should be
able to do that
a bigger issue: Chrome and Firefox have a model where the
screenshare picker always happen within the chrome
it's very different in Safari - picking a window focuses the
window
so the behavior would be to focus back on the browser window
being explicit on what is getting the focus would be better,
so setFocusBehavior would be an improvement
I don't think we should define a default behavior since we're
already see different UX across browsers
I would also think it's only meaningful for tabs - for
window, they could determine it as the time of gDM call
elad: re different UX models, we could fallback to make that a
hint
re window vs tab, it may still be useful as a hint to adapt
the picker
youenn: unlikely we would do something as complex
jan-ivar: I'm actually supportive of option 2
regarding applicability to window - for screen recording
apps, the current behavior hasn't proved helpful
youenn: but this could be done via a preset preference in the
gDM call
jan-ivar: we could, although maybe a bit superfluous
jib: setFocusBehavior is a little more complicated, more of a
constraint pattern with UA dependent behavior
but don't feel very strongly
but yeah, turning off focus by adding a controller doesn't
sound great
RESOLUTION: setFocusBehavior as a hint with unspecified default
applicable to tabs & windows
youenn: deciding to not focus is a security issue - it
increases the possibility Web pages to select a wrong surface
since this lowers security, there should be guidelines for
security considerations
Elad: should this be a separate doc?
youenn: let's keep it in screen-share
jib: +1 given that we're adding a new parameter to
getDisplayMedia
<fluffy> scribe fluffy
<fluffy> zakim. scribe fluffy
<fluffy> Proposing cropTargets in a capture handle
Screen-sharing Next Steps
Slideset: [54]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2qI5VlTRRQBpMBZYgPHcZSujrpytlnJIZJp7yaUZ%2BeI%3D&reserved=0
2022Sep/att-0003/WEBRTCWG-2022-TPAC__1_.pdf
[54]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o26FLy325DLkQ9UqxRXxnvIsLnwZFe6aVP93d99L5OY%3D&reserved=0
[55][Slide 104]
[55]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D104&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=A8d04G8iIfmcYJybtv4kwlX61pDTtBFC4KnBJh5ZK3g%3D&reserved=0
[56][Slide 105]
[56]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D105&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Cz%2FNvvQwzzUvACX4NxtRjoTAHHAetxCLv6H11pU%2Bl3U%3D&reserved=0
[57][Slide 106]
[57]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D106&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=BGmrEYpThxvApeHRmnhW1SWZ7mD20TPWKFvrVaviV3I%3D&reserved=0
[58][Slide 107]
[58]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D107&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Z2FVM2pqLTvmeoxroNtq1y0ij5C6flbp0UWX41AYbm0%3D&reserved=0
mark: setting the crop target on the capture handle - is that
serializable / transferable ?
youenn: serializable
mark: then it could be transferred over the messageport
elad: but there is no standard format for that
youenn: re crop target serializability, +1
I'm not sure yet about having cropTargets in capture handle
it may require more data, e.g. different cropping for
different sinks
having app specific protocol might be a better way to start
before standardizing a particular one
re MessagePort, the security issues can be solved
re content hint, I'm not convinced
the capturer doesn't have to provide the hint, the UA can do
it itself
elad: so 3 comments:
- cropTargets may need more context (although my main use
case is for a single cropTarget)
youenn: this could be dealt on a per-origin protocol agreement
elad: but that doesn't work with non-pre-arranged relationship
jan-ivar: this MessagePort would be a first in terms of going
cross-storage (not just cross-origin) - definitely needs
security review
this could still be OK given how tied to user action and the
existing huge communicaiton path via the video sharing
In the past, we've tried to piecemeal things by not having a
MessagePort
part of the feedback I've been getting is maybe to just have
a MessagePort, as that would be simpler and help remove some of
the earlier mechanisms we had to invent
thank you for suggesting cropTargets to allow
non-tightly-coupled catpuree-capturer
I'm not sure if it's necessary if we're moving to a
MessagePort
<youenn> @jib, window.opener can postMessage probably.
elad: I don't think a MessagePort could replace the capture
handle, since it only works for cooperative capturee/capturer
also the messageport alerts the capturee of ongoing capturer,
with possible concerns of censorship
I think we need to address them separately
hta: thanks for the clarification on MessagePort being
orthogonal to CropTarget
MessagePort is two-ways were capture handle is one-way, this
may have a security impact
I think these 2 proposals are worth pursuing (as a
contributor)
not convinced yet about content hint
should this linked to a crop target instead?
elad: would make sense
TimP: I like all of this, and do like the multiple crop targets
and notes
the MessagePort shouldn't replace the rest of this, it's more
complicated for many developers
I like the 2 layers approach
fluffy: I find the security issues with MessagePort concerning
without more details
re trusting or not web sites for content hint - the capturer
could determine it
elad: content hint helps with setting the encoder correctly
[59][Slide 108]
[59]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D108&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=BZL2i8jhclkCnTK5S7hMkYOo2DQ%2BjhqJOlqDvKb5S7A%3D&reserved=0
jib: I don't think there is new information to change our
current decision, nor have I had enough time to consider this
Encoded transform
Issue [60]#131 Packetization API
[60] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F131&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=o%2FIm5cgFMc3slWFy%2F0kDpMUytbNt9IY8WtE4lgOFswQ%3D&reserved=0
[61][Slide 80]
[61]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0003%2FWEBRTCWG-2022-TPAC__1_.pdf%23page%3D80&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1dDRH9ARnINRKWVazWSFKOzLsX5JI7QcITWuhXpX1ng%3D&reserved=0
hta: would this packetization & depacketization?
youenn: we would probably need both, good point
Peter: we could add custom FEC to the list as a valid use case
being able to send your own custom RTP header would be nice
although that would be possible to put in the payload if you
had control over it
richard: this points toward an API that transforms the packets
ΰ la insertable stream
SPacket is simpler for encryption
Bernard: we need to be able to packetize and depacketize if we
use it for RED or FEC
you need to be able to insert packets that you recover
HTA: I don't think we can extended the encodedvideoframe for
this, it's the wrong level
we need an rtcencodedpacket object probably
any impression on whether that's something we should do?
do we have enough energy to pursue this?
Bernard: a bunch of use cases would benefit from this
Peter: I'm energetic on it
richard: +1
esp if we focus on a transformation API
HTA: next steps would be writing up an explainer with use
cases, and a proposed API shape
<rlb> happy to help, if youenn is willing to drive :)
Action items & next steps
HTA: we had seen some serious architecutre discussions on
encoded media - I'll take the action item to push that forward
Elad is on the hook for capture handle
and we have 3 signed up volunteers for packetization
Bernard: we had good discussion on use cases we want to enable
JIB: we also closed almost of the simulcast issues
Elad: I'm looking into a proposal for an element capture API to
generate a mediastreamtrack without occluded content - it has
security issues that will need to look into
this will be discussed at a breakout session tomorrow at 3pm
PT
HTA: we also have a joint meeting with Media WG on Thursday -
we'll discuss metadata for video frames there
[adjourned]
Summary of resolutions
1. [62]go with proposal 3 without returning a timestamp
2. [63]setFocusBehavior as a hint with unspecified default
applicable to tabs & windows
----
Web Real-Time Communications Working Group and Media Working Group and
Media and Entertainment Interest Group - Joint meeting
16 September 2022
[2]IRC log.
[2] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2F2022%2F09%2F15-mediawg-irc&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=xDHh0WJhFwpd32L%2BIq6LabHXK%2FXGxNpziHCmI1Uuy1g%3D&reserved=0
Attendees
Present
Alex_Turner, Bernard_Aboba, Bradley_Needham,
Brandon_Jones, Brian_Baldino, Chao_He, Chris_Needham,
Cullen, Daisuke_Kodajima, Dale_Curtis, Dan_Sanders,
David_Singer, Dominique_Hazael_Massieux, Eero_Haekkinen,
Eric Carlson, Eric_Carlson, Eric_Portis, Eugene_Zemtsov,
Francois_Daust, Gary_Katsevman, Harald_Alvestrand,
Hiroshi_Fujisawa, Hiroshi_Kajihata, Hisayuki_Ohmata,
Jake_Holland, Jan-Ivar_Bruaroey, Jennings,
Johannes_Kron, Kaz_Ashimura, Kenaku_Komatsu,
Klaus_Weidner, Masaki_Matsushita, Mike_English,
Paul_Adenot, Peter_Thatcher, Piotr_Bialecki, Riju,
Sung_young_Son, Tatsuya_Igarashi, Thomas_Guilbert,
Tove_Petersson, Tuukka_Toivonen, Youenn_Fablet
Regrets
-
Chair
cpn
Scribe
cpn, dom
Contents
1. [3]Introduction
2. [4]Issue 90/Issue 121: Pluggable codecs
3. [5]Issue 131: Packetization API
4. [6]Issue 99 & Issue 141: WebCodecs & WebRTC
5. [7]Issue 70: WebCodecs & MediaStream transform
6. [8]WebCodecs
1. [9]w3c/webcodecs #198 Emit metadata (SPS,VUI,SEI,...)
during decoding
2. [10]w3c/webcodecs #371 AudioEncoderConfig.latencyMode
(or similar) extension
3. [11]w3c/webcodecs #270 Support per-frame QP
configuration by VideoEncoder extension
7. [12]Wrap up
8. [13]Summary of action items
Meeting minutes
Slideset: [14]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2qI5VlTRRQBpMBZYgPHcZSujrpytlnJIZJp7yaUZ%2BeI%3D&reserved=0
2022Sep/att-0008/
TPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf
[14]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=nHs2QY5wc0s0aW6r%2Botd6zw089em%2FjN8ydT5xEHOnLU%3D&reserved=0
<alwu> does anyone know what the passcode is for the webRTC
joint meeting? thanks.
Introduction
[15][Slide 5]
[15]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D5&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495244155%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qe9Dhu20cTmkzapOKgeldrfBeiB4zO1JtMAsawprqFk%3D&reserved=0
<eric-carlson_> +present
Bernard: some context for this joint meeting
[16][Slide 6]
[16]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D6&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=GIZvPRPEWvMQq35Ofdy727zq%2ByBPHyL2DpFpn1iNL24%3D&reserved=0
Bernard: the pandemic has brought a new wave a technology to
the mass market
podcasting (75% of China once/week), video conferencing,
video streaming (vod, live streaming)
...
a bunch of these are being compiled in the webrtc-nv use
cases and webtransport
they blur the lines between streaming and realtime
[17][Slide 7]
[17]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D7&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=eexPrcqxBo8ghBjrZXVT%2BluCl4yEjAX7qB7JUWMwJws%3D&reserved=0
[18][Slide 8]
[18]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D8&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=j5lorogzHKT2NR%2BRc8PkaMSgd6jxcBcZCcEuUD%2BjKIc%3D&reserved=0
[19][Slide 9]
[19]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D9&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=T1ntelk6gPoEY9%2ByO7bYMFXo7n3%2BYP0djkQmqP%2F6Xj0%3D&reserved=0
[20][Slide 10]
[20]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D10&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=CbC7ibAlBPWCq2yci3DhSrAad3Uxj9XUz%2BHUuWzjn4E%3D&reserved=0
[21][Slide 11]
[21]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D11&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2Bb2JWlIUW595KQjz%2B2evLgLU4EPyWsg9fiIWZl886r4%3D&reserved=0
Bernard: lots of SdOs involved, and even lots of different
groups involved on these topics in W3C itself
as a developer, you have to combine all these APIs together
to build an app
the webcodecs sample code illustrate that as they need to use
many different of APIs
[22][Slide 12]
[22]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D12&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=1gmwmvlH7UutDU%2FxePNIoRQR8K0kRmxGFDvyYtZIv3A%3D&reserved=0
[23][Slide 13]
[23]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D13&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4P1UO8JgcMICN8d4LP79X%2Bn2zPkZBNjd%2BfZkiygm2vY%3D&reserved=0
Bernard: the webrtc worked with WHATWG to make the WHATWG
streams work better for media use cases
converting video frames from WebCodecs into other formats is
another need that has emerged
the support for worker thread for the pipeline is still
inconsistent
separating worker threads for send and receive pipelines is
not easy to put in place in practice
[24][Slide 14]
[24]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D14&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=wzepmZR8Xd8jgwOr%2FuTxlTXUMV9JvT0L6vMGTxJXxnw%3D&reserved=0
Bernard: goal is to identify owners of the identified problems
and next steps
[25][Slide 15]
[25]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D15&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gnPqtfWGGqyiGXwI5buuBFdeVvdznvlVOwncLHanxSs%3D&reserved=0
Kaz: Web of Things are thinking of using WebRTC for use in
video surveillance cameras
I wonder about security considerations for these types of
applications
Youenn: does this need DRM?
Kaz: not necessarily, but the cameras would still want to
protect their data
youenn: WebRTC provides hop-by-hop encryption
complemented by end-to-end encryption done in the encoded
content
that may be something to consider here as well
bernard: please file an issue for use cases
[26]WebRTC NV Use Cases Repo
[26] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-nv-use-cases%2Fissues&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=2xnyHdw11pduonPHw9k0hlx7P9SDX%2FDywra4yQfpUbY%3D&reserved=0
fluffy: it would be important to have support for end-to-end
encryption - beyond JS-based encryption, it would be good to
re-use our existing infrastructure (certificates management,
webauthn) to enable E2EE
probably anchored into MLS
Bernard: would that be separate from WebRTC then?
Cullen: yes
we have a much better understanding of what's needed
we need to make sure our architecture exposes API in the
pipeline where the browser doesn't necessarily have access to
the underlying data
Bernard: there is a related issue in the webcodecs repo, filed
in the DRM context
Dom: Code samples is a good way to identify where the gaps are
ACTION: Set up a place where we can discuss cross-group or
cross-API architecture issues
Issue 90/Issue 121: Pluggable codecs
[27]Adopt feedback streams in RTCRtpScriptTransformer #90
[27] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F90&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=bjcjoMdsDA%2FbVZdCzMVeXLfn0tsXOGSBoKrDWcsBgUw%3D&reserved=0
[28]Need APIs for using WebCodec with PeerConnection #121
[28] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F121&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=noxrOlP5R0yBuY3VBY5cI0V7ywwVCe%2BocFwAX%2BQ5xGg%3D&reserved=0
[29][Slide 16]
[29]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D16&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=sZB%2B0z1EOAm7Q073zF4VSNEM8yEauceQSORh1nuAxio%3D&reserved=0
Harald: once you take a media and you transform it, it no
longer has the same format, which is problematic for SDP-based
negotiations
this creates issues where the pipeline is configured for the
wrong media
one property that we need from the communications machine for
webrtc is the ability to speak truth that the content being
sent doesn't conform to the spec
there is also an issue around packetization/depacketization
we should figure an API so that once you install a
transformation in the pipeline how to handle the data in the
communications machinery
that should operate in terms of codec description
Bernard: this is key to enabling to combine webcodecs & webrtc
also needed for E2EE
Harald: this problem has indeed arisen already in the context
of E2EE
also, should this be done in terms of packets or in terms of
frames
Bernard: in terms of next steps, the idea is to sollicitate
proposals?
Youenn: re WebCodecs, the traditional view is that if you're
using webcodecs you will use web transport or datachannel to
transport the data
what's the use case for using webcodecs inside something very
integrated like peerconnection
it's good to provide proposals, but I would focus on use
cases and requirements
Bernard: the key reason is that niether datachannels nor
webtransport will generate low latency
getting to 100ms can only be achieved with WebRTC
Youenn: I agree with that
one of the main benefits of WebCodecs is for the use of
hardware encoder/decoder
when you expose that in WebCodecs, we should expose it in PC
the main benefits would be to finetune encoders/decoders
behavior
not clear what the benefits would be vs native
encoder/decoder integration in PC
Harald: in a browser, the code supporting the codecs for the 2
are the same
but the capabilities in the 2 APIs aren't
the most intensive control surface would be in WebCodecs
rather than in WebRTC
you control the interface via WebCodecs with an input/output
in RTP
this requires supporting the integration
Bernard: WebCodecs hasn't been for long, but they're already
exposing a lot more capabilities than WebRTC
Peter: +1 to Youenn that the same codecs are exposed in both
WebRTC & WebCodecs
but as we add new low level controls - would we want to add
them in both places or in a single place?
jib: we have multiple APIs that are starting to overlap in
usages
what might help would be to ask what we prefer this or that
API
I'm hoping we can avoid "this API is better than that API"
what makes WebCodecs better? if it's more codec support, we
can add more codecs to WebRTC
or for WHATWG stream support in WebTransport, that could be
exposed in data channels
it may not be necessary to break open WebRTC to benefits from
the RTP transport benefits
eugene: it's been mentioned that RTCDataChannel and
WebTransport are not truly optimized for RTC
can something be done about it?
A/V is nto the only application for real-time transport
Bernard: this is under discussion in a number of IETF WGs
some things can be done but it's still a research problem
in the WebTransport WG, we discussed interactions with the
congestion control algorithms
not sure how much momentum there would be to change
congestion control for datachannels
Harald: datachannels are built on SCTP
it's now easier to play with the congestion control for that
understanding congestion control is hard, improving it even
harder
unlikely to be solved in the short term, in IETF
fluffy: in terms of congestion control, ReNo CC can be moved to
BBRv2
in terms of driving interest on WebCodecs, the next
generation of codecs driven by AI are providing substantial
improvements to this space
these are proprietary codecs that some would like to deploy
at scale in browsers
Bernard: a lot of these technologies aren't that easy to do in
WebCodecs
e.G. AI integration
pre/post-processing can be done with webcodecs
peter: re congestion control, there are something we could do
at the W3C level by exposing more information about what's
happening in the transport so that app can adjust what they
send
I've volunteered to help with that
on the codecs side, re which API to use - even if we allow
"bring your own codec" and an RTP Transport, there is still a
question of the jitter buffer which is uniquely exposed in
WebRTC (not in WebTransport)
CPN: additional control surface in WebCodecs?
Paul: we can add knobs in WebCodecs when they apply to
everything
otherwise, we add knobs in struct in the registry
e.g. tuning for drawing vs real-life for video
or packet size for audio
CPN: we welcome issues for additional control surface in the
webcodecs repo
youenn: one of the things we discussed was asking higher
quality in the area of the video whtere there is e.g. a face
Issue 131: Packetization API
[30][Slide 17]
[30]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D17&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=AE3X3fqCiABiK48AcHPL2Nz%2FdgT8gqbIHlVAalht4Mk%3D&reserved=0
[31]Should we expose packetization level API to
RTCRtpScriptTransform? #131
[31] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F131&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=HImhVqetL0cI%2F0PldLnMEVxiSuzQaXyYiNmaTJvN5jc%3D&reserved=0
Youenn: rtcpeerconnection used to be a blackbox with an input
and output
webrtc-encoded-transform opens it up a little bit
it works for some things
but it doesn't cover all use cases
we tried to identify use cases where there isn't good support
e.G. when adding redundancy for audio to make it more
reliable over transport
but adding redundancy expose the risk of having packets being
discarded
Giving more control on the generation packets for video frame
would also help in the context of encryption (SPacket)
RTP packets come with RTP headers that aren't exposed
directly - it could be nice to give r/w access to apps e.g. to
improve the voice-activity header
I plan to gather use cases and requirements since there is
some interest - hope others will join me
cpn: where would that be done?
youenn: issue #131 is probably the right place
fluffy: it's hard to know how to find where the discussions
happen; I'm interested
bernard: this relates to the challenge of keeping track of work
happening across all these groups
fluffy: the architectural discussion is whether packetization
is part of the pipeline we need to consider in our cross-group
coordination
<englishm> fluffy++
cpn: we need to seed our x-greoup repo with a description of
where we are and where we want to go
bernard: another possibility would be a workshop to help with
these x-groups discussions
jib: I played with the API which illustrated that packetization
is both codec and transport specific
is our quesiton "where should it belong architecturally?"
bernard: great question
jake: has anyone talked with IETF on the need to surface the
MTU to the encoder?
youenn: the packetizer has the info on MTU
the question is whether the packetizer would give the info
back to the app
ACTION: Create initial architecture description
Issue 99 & Issue 141: WebCodecs & WebRTC
[32][Slide 18]
[32]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D18&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=iMVWWpAXWHUQWoqs610mqpSsiWYcXaH8d3sn5oItwTY%3D&reserved=0
[33]Encoded frame IDLs share definitions with WebCodecs #99
[33] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F99&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495400385%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qMJLBk%2FfdyzR8ZQ37gV6FNYTUxsL31MMRfuWVBjFI0Q%3D&reserved=0
[34]Relationship to WebCodecs #141
[34] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebrtc-encoded-transform%2Fissues%2F141&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=dcJpBLf4uUFol%2B1Llsn8sj%2BR1EqvFLQ1QYfm%2FOT9E20%3D&reserved=0
Youenn: webrtc-encoded-transform and webcodecs share some very
similar structures, but with differences incl on mutability of
some of the data
it's a little bit inconvenient we have these different models
but that ship has probably sailed
for metadata, we're thinking of referring back to webcodecs
this got support from the webcodecs involved in the WebRTC WG
meeting on Monday
Issue 70: WebCodecs & MediaStream transform
[35]Issue 70: WebCodecs & MediaStream transform
[35] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fmediacapture-extensions%2Fissues%2F70&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=V0ZrZCag6YANvKO9Z45puyCzQ48LadwdVfkW62m%2FFNc%3D&reserved=0
[36][Slide 19]
[36]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D19&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6pEdJh9NqgohSgiyLPFT25capA%2B8MZ3lOPs1z6%2BD0yc%3D&reserved=0
Youenn: media capture transform allows to grab frames, modify
them, and repackage them as a mediastreamtrack
this is based on the VideoFrame object
cameras nowadays are capable to expose information about e.g.
face positions
it's cheap to compute and could be usefully exposed to Web
apps
since this is tightly synchronized data, it would be good to
package it with the video frames
in our dsicussion on Monday, we agreed to have a metadata
dictionary in VideoFrame
WebRTC would expose its set of metadata for e.G. face
detection
we discussed the possibility to have webapp specific metadata
e.g. through JS objects
this could be useful in the context of AR/VR
the initial PR won't go that far, but it should open the way
to that direction
the first use case will focus on browser-defined metadata
these would be exposed as the top-level, and there would be a
.user sub-object that would need to be serializable
Bernard: this has application beyond the use cases on the slide
e.g. face detection could help encoders around faces vs
blurred background
we would need to consider whether the encoder should be
expected to look at that metadata
youenn: +1
cpn: how common is face detection in the camera level?
eric: it's very common
youenn: we could also expose a face detection blackbox that
would transform a camera feed and annotate it with face
detection metaata
Ada: (Immersive Web WG co-chair)
some of of our WG participants are very intereesting in
bringing more AR feature to WebRTC
they do AR by running WASM on the camera feed from WebRTC
if you were to fire up the various AR systems on the devices,
you could surface more metadata e.G. the current position of
the device or solid objects in the environments
Youenn: very important we get the AR/VR input on this work
we're also thinking of exposing requestVideoFrame to expose
some of these metadata as well
[37]WebCodec as pass through to application metadata #189
[37] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebcodecs%2Fissues%2F189&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=M1kL%2FNC8nVM2kkhIYg7yvXhILrVxpLoQREtDchRPky4%3D&reserved=0
bialpio: also from the IWWG
we also have a use case to integrate WebXR animation loop
with video frames used in XR session
how would we correlate a video frame from gUM with poses?
youenn: in WebRTC, accessing frames from the camera is via a
track processor in a worker
correlating that with timestamps might work
would be interesting to see if this is workable with
readablestreams
bialpio: in this particular use case, WebXR would be
introducing video frames, they could be added as a metatadata
into video frames
some devices are doing pose prediction - this might make it
tricky to sync with past video frames
the question is what we would be the best place to discuss
this?
youenn: VideoFrame sounds like the place where this is
converging
so webcodecs repo in the Media WG would seem good
cpn: also worth discussing in the architectural repo
ACTION: Include image capture for AR applications and stream
correlation in architecture description
kaz: spatial data wg also looking at sync between location and
time
useful to consider sync with video stream as well
Bernard: the synchronization issue has come up several time
the videotrackprocess gives you videoframe with timestamps
how to render that accurately in sync with audio
it's not always clear that you get the sync that you want
is that the appropriate API when dealing with all these
operations
what's the right way to render sync'd audio/video?
this is probably worth some sample code to figure it out
fluffy: one of the architectural issues is that these various
systems are working at different timing with different control
loops
how to synchronize them and render them correctly is an
architectural issue - it needs the big picture of how it fits
together
Bernard: half of the questions I get is in that space
ACTION: capture synchronization issues in the architecture
desctiption
paul: this metadata seems to become a central piece
<riju_> Thanks Youenn for bringing this up.. Others if there's
something specific to FaceDetection you want to contribute/ask
here's an explainer [38]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Friju%2FfaceDetection%2F&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zJTj%2FfpWR46DuPlSMICSi16V9msL9iKHd5oKOsopRts%3D&reserved=0
blob/main/explainer.md
[38] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Friju%2FfaceDetection%2Fblob%2Fmain%2Fexplainer.md&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2Bmsfoqnc1E80DLoY2y3Yi64Y2pV7AMAgT0GKLeu1MUY%3D&reserved=0
paul: it seems worth focus on this to save trouble down the
line
[39][Slide 20]
[39]
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.w3.org%2FArchives%2FPublic%2Fwww-archive%2F2022Sep%2Fatt-0008%2FTPAC_2022_WebRTC_WG___Media_WG___MEIG_Joint_Meeting.pdf%23page%3D20&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Gu%2FVjl1RxU5DVKSVEMiz1srpcPCesiCM5Zt4Kzsrt1E%3D&reserved=0
WebCodecs
<jholland> apologies, I have to leave early. Thanks for an
informative session.
w3c/webcodecs #198 Emit metadata (SPS,VUI,SEI,...) during decoding
[40]Emit metadata (SPS,VUI,SEI,...) during decoding #198
[40] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebcodecs%2Fissues%2F198&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=AURCaiaYnOhXcWEZZToPKjyHi7dnADR3vJGhUA80iyQ%3D&reserved=0
DanS: with our metadata proposal, the way to do it is
relatively clear, the question is really platform support
w3c/webcodecs #371 AudioEncoderConfig.latencyMode (or similar)
extension
[41]AudioEncoderConfig.latencyMode (or similar) #371
[41] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebcodecs%2Fissues%2F371&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SIkcTXRTymY0CJz9GmgbIx0g9qrFy%2F98%2F%2FhtuCKd9wQ%3D&reserved=0
[42]Fixed audio chunk size support #405
[42] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebcodecs%2Fissues%2F405&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WI6jmYgJlQ2CF518xkPXCGN%2FF%2BSL0O6n3RKzMoc7H9w%3D&reserved=0
tguilbert: these 2 issues may be the same issue
paul: indeed, probably overlap
it's mostly something we need to do
in terms of codecs it will apply to: most codecs are
fixed-size frame, but OPUS, @@@ and FLAC (not adapted to
real-time)
adding it to OPUS registry would work
Bernard: 405 is adding ptime - doesn't need to be codec
specific?
<Bernard> Issue 405 is about ptime... should be for all codecs,
no?
tguilbert: if we expose latency mode on audio encoder, the
meaning may differ across codecs
<Bernard> Bernard: Question about "latency mode": for video,
the knob doesn't seem to make much difference in latency...
tguilbert: so a per-codec setting might be better than a
generic low-latency/high-quality toggle
w3c/webcodecs #270 Support per-frame QP configuration by
VideoEncoder extension
[43]Support per-frame QP configuration by VideoEncoder #270
[43] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fw3c%2Fwebcodecs%2Fissues%2F270&data=05%7C01%7Cphancke%40microsoft.com%7C2f38b90cdea0404e537908da9a409695%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637991899495556622%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=9a8VnldSFrijJGW8rc46FRH5zeCy%2BktOmKIQxIuBuBY%3D&reserved=0
eugene: QP tends to be codec specific
the advice we're getting from people working with codecs is
to not try to use a common denominator approach
they want finegrained controls to tune this
so we're working towards a codec specific approach via
settings in the registry
Bernard: the cool thing about per-frame QP is that it can have
an impact on congestion control
re latency mode - I've been playing with it on the video
side, when I set it to "quality", it doesn't seem to make any
difference in latency
and it generates fewer keyframes, which improve the transport
latency
is that intended?
eugene: this is implementation specific, it's hard to tell
without more details on the encoder
the API is not trying to be creative, it reflects the knobs
from the encoder
please send me links to your code sample and I'll take a look
it's not the intended behavior
Wrap up
CPN: who are the relevant WGs we need to coordinate with?
Bernard: I had missed the XR folks in my list
Dom: For the architecure we need the WGs more than IGs
For the media pipeline, not sure WHATWG stream is needed to
be involved in the architecture
Bernard: WHATWG streams are a black box, difficult to see how
much latency is contributed
Dom: As we go through this and collaborate on code samples,
some issues may need to be surfaced to WHATWG streams
Who do we need at the table to design the pipeline?
Suggest doing it iteratively, then convince people to
contribute to it
Let's start with those already here, then when we find pieces
we don't understand in depths, reach out to the relevant groups
Workshop with several components. It's an interesting idea to
run a workshop. Once we have an initial architecture, we'll
know who to invite
So suggest starting small and iterate. Once we get stuck,
extend the conversation
The real question is to find people committed to look at it.
May be harder to find than people willing to work on the
solutions
Who'd be willing to drive it?
Bernard: I'm one person, but don't know all the pieces
Peter: I volunteer, for the parts I know about
Bernard: Would be helpful to have sample code that illustrate
problem points
We have some in WebCodecs, spend time developing samples.
Particularly encourage the AR/VR people to try out WebCodecs
What kinds of sample could would be illustrative?
Dom: I think we should take the use cases and identify
integration points. Some may not be possible, and what would it
take to make them possible would be an outcome?
ChrisN: Where to host the repo?
Dom: Something like media-pipeline-architecture under w3c
github
Bernard: IETF have hackathons, could that be a useful thing?
Does w3c do that?
Dom: If we have sponsors and a time and place, it's possible. I
have less experience with virtual hackathons
Could be investigated as part of the workshop idea
Cullen: An IETF hackathon could be welcome. Agree with Dom,
virtual hackathons haven't been so successful compared to
having people in the room
Next IETF is London in November. They'd be happy if we showed
up to hack there
<dom> kaz: Web of things wg has been holding plugfests, with
SoftEther VPN to help separate remote collaboration
<dom> CPN: we've done a few ad-hob joint meetings between our 2
groups
<dom> ... when should we plan our next?
Dom: How long would it need to do some initial work to bring to
that meeting?
Bernard: Depends on the topic. A month or two for sample code.
Dom: So perhaps end of October
Bernard: Aligns with IETF
<Bernard> Bernard Aboba: Present
<kaz> [adjourned]
Summary of action items
1. [44]Set up a place where we can discuss cross-group or
cross-API architecture issues
2. [45]Create initial architecture description
3. [46]Include image capture for AR applications and stream
correlation in architecture description
4. [47]capture synchronization issues in the architecture
desctiption
Received on Tuesday, 27 September 2022 18:02:35 UTC