Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transferable Streams Spec #551

Closed
1 task done
ricea opened this issue Aug 20, 2020 · 2 comments
Closed
1 task done

Transferable Streams Spec #551

ricea opened this issue Aug 20, 2020 · 2 comments

Comments

@ricea
Copy link

ricea commented Aug 20, 2020

Saluton TAG!

I'm requesting a TAG review of transferable streams.

The streams APIs provide ubiquitous, interoperable primitives for creating, composing, and consuming streams of data. A natural thing to want to do with a stream is pass it off to a web worker. This provides a building block that is easy and natural to use for offloading work onto another thread. Once you can speak the language of streams, you can use that same language to make use of a Worker.

Further details:

  • I have reviewed the TAG's API Design Principles
  • Relevant time constraints or deadlines: No specific deadlines, however most users of WebRTC Insertable Streams are using transferable streams and are waiting for us to ship this.
  • The group where the work on this specification is currently being done: WHATWG
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WHATWG
  • Major unresolved issues with or opposition to this specification: Unresolved issue: when a stream is transferred twice, eg. A -> B -> C, a developer might reasonably expect that this leaves the stream in a state equivalent to A -> C. However, if the B context is terminated, the stream will error the next time an operation is performed on the stream. This behaviour is counter-intuitive, but the problem is very hard to fix. For more information, see the issue and the linked comment thread.
  • This work is being funded by: Google

You should also know that...

This feature previously had an early review at #332.

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


@cynthia
Copy link
Member

cynthia commented Sep 23, 2020

@ylafon and I discussed this during our "F2F".

One concern is that the overrides for the methods in readable/writeable streams could be confusing initially, but users will most likely adapt to it after some initial confusion - so not an issue that should block progress, but maybe something to think about.

Aside from that, no outstanding issues we see here, and we are happy to see this work move forward. Thanks for bringing this to our attention!

@cynthia cynthia added Progress: propose closing we think it should be closed but are waiting on some feedback or consensus Progress: review complete Resolution: satisfied The TAG is satisfied with this design Review type: later review Topic: media Topic: Streams Any kind of stream-like feature Venue: WHATWG and removed Progress: in progress Progress: propose closing we think it should be closed but are waiting on some feedback or consensus labels Sep 23, 2020
@cynthia
Copy link
Member

cynthia commented Sep 23, 2020

Group agreed to close this. Thanks for bringing this to our attention!

@cynthia cynthia closed this as completed Sep 23, 2020
blueboxd pushed a commit to blueboxd/chromium-legacy that referenced this issue Sep 29, 2020
Remove the feature flag for Transferable Streams and turn it on by
default.

Also remove the web test that I created to stop us shipping it by
accident, since now we are shipping it on purpose.

See the intent to ship thread at
https://groups.google.com/a/chromium.org/g/blink-dev/c/1LStSgBt6AM/m/sJaTciPKBwAJ
and the completed TAG review at
w3ctag/design-reviews#551.

BUG=894838

Change-Id: I56f8891bd1051202ef68bb4623ad8bec53045dff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2428509
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811606}
mjfroman pushed a commit to mjfroman/moz-libwebrtc-third-party that referenced this issue Oct 14, 2022
Remove the feature flag for Transferable Streams and turn it on by
default.

Also remove the web test that I created to stop us shipping it by
accident, since now we are shipping it on purpose.

See the intent to ship thread at
https://groups.google.com/a/chromium.org/g/blink-dev/c/1LStSgBt6AM/m/sJaTciPKBwAJ
and the completed TAG review at
w3ctag/design-reviews#551.

BUG=894838

Change-Id: I56f8891bd1051202ef68bb4623ad8bec53045dff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2428509
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811606}
GitOrigin-RevId: e56b140ca1dad6ffcccaf2e8d8f86b3e99ae71bc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants