#612: WebCodecs (again!)

Visit on Github.

Opened Feb 18, 2021

Ya ya yawm TAG!

I'm requesting a TAG review of WebCodecs.

An early review was conducted in #433. The API has changed a lot since then and we now have a draft specification. Please see discussion of deadlines (relatively soon) and and "you should also know that" below (upcoming work, open questions).

Thank you for reviewing!

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines: Chrome would like to ship this API version 91, which is anticipated to release May 25, 2021. The code freeze for this release will occur around April 14, 2021.
  • The group where the work on this specification is currently being done: WICG
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): Migrating to Media WG
  • Major unresolved issues with or opposition to this specification: There are no major objections. Our Github tracks a number of open design questions. The most pressing are tagged with milestones.
  • This work is being funded by: Google/Mozilla (as employers of it's editors/implementers).

You should also know that...

We'd prefer the TAG provide feedback as (please delete all but the desired option): 🐛 open issues in our GitHub repo for each point of feedback

Discussions

2021-03-08

Minutes

[bumped]

2021-03-15

Minutes

Ken: Sangwhan gave comments and they responded and he wants to look further. Need Sangwhan for this one.

Yves: we did add something about adding to the web platform in the guidelines.. we can look if the guide is okay with what they proposed? ... Is it okay to add examples on how things can go wrong in design principles if they are not respected?

Dan: I think so... raise it as an issue and we can discuss it in design week.

Yves: in the case of the HTTP header syntax, explaining that it's imporatn to respoect it, and counter example is the cookie header which has been a nightmare.

Dan: if you have a fully formed idea of what you want to put in, make a PR.

Yves: the style is usually very terse

Dan: depends which part of the document you're in.. We need to keep balance. Having examples is always good.

Yves: first was too terse, I'll work on that.

.. for web codecs we should wait for Sangwhan

2021-05-Arakeen

Minutes

Ken: discussion around timestamps. Not really timestamps.. offset inside the stream. Also depends on playback speed. Normally playback correlatest o timestamp but you might be able to change playback..

Sangwhan: a timer that starts at beginning of stream?

Ken: they want to use unsigned microseconds but depends on playback speed. A lot of issues. Makes sense to me to use unsigned microseconds. Can add timestamp if there's really a need.

Sangwhan: also asking about window environments, detach codec inputs..

Ken: only on worklets or workers initially.. a lot of people who want it on window as well.

Sangwhan: on window not harmful unless there's an implementation detail..

Ken: wanted it not to be a blocking api..

Sangwhan: don't necessarily always want a worker, more involved

Ken: if no-one sets up a worker you end up with crappy web experiences

Sangwhan: going to block the main thread.. very heavy stuff.. people won't do that

Ken: if it's heavy it should always be in a worker

Sangwhan: image decoder part..

Ken: can we expoes that to the main thread?

Sangwhan: use cases like short video transfer you can block for a little bit while you're encoding it.. makes sense on window.

Ken: makes sense to start on workers, then if you have those use cases add it to window. You can always add it to window. If you add it now you cannot remove it again. Gradually build API. Makes a lot of sense. [leaves comment]

Sangwhan: by having it worker only, using it in webrtc is going to be a pain.

Ken: those people work on webrtc

Sangwhan: on worker only, someone will polyfill for window. When there's enough usage on window, say it's time to expose it to window.

Sangwhan: PR for image encoder/decoder API.. we haven't had that.. it's a common thing people want to do.

Ken: PR is pretty big. Metadata as well?

Sangwhan: seems like no api for that... [reads stuff] ... [discussion] ... [drafts comment]

2021-08-30

Minutes

Sangwhan: there's a debate. Window or worker?

Ken: shouldn't it be both places?

Sangwhan: yes We agreed window or worker global scope. ... but Tess disagrees. 2 implementers disagree it should be excposed to window. one strongly disagrees.

Ken: we benchmarked (in intel) - a lot of overhead.

Sangwhan: a lot of cases where it makes sense running on the window...

Sangwhan: some argued what about single-cores... I think this should be on window or worker global scope.

Dan: if we can't get consensus we need to move on. I suggest we say these are the opinions, take it to plenary that we want to close it, we can leave a message saying we haven't had consensus

**status: we have a tentative consensus view

  • to validate at plenary.**
2021-09-Gethen

Minutes

closed