w3c / media-pipeline-arch

Architecture of the media pipeline on the web
Other
7 stars 0 forks source link

Transport: Frame/stream transport and transferrable streams #3

Open aboba opened 1 year ago

aboba commented 1 year ago

frame/stream transport has become a popular transport mode for WebTransport, since it eliminates head-of-line blocking, simplifies framing and makes it possible to implement partial reliability.

WebTransport supports transfer of unidirectional streams or bidirectional streams (the readable and writable components can each be transferred to different workers). However, transferring a created "frame/stream" transport (either sending or receiving) does not perform well. Creating or receiving multiple streams and only sending or receiving one frame on them is inherently a high overhead process, that is hard to implement efficiently along with transfer.

In contrast, reliable/unordered transports can be constructed in RTCDataChannel and transferred.

Related (WebTransport): https://github.com/w3c/webtransport/issues/420, https://github.com/w3c/webtransport/issues/424

Related (RTCDataChannel): https://github.com/w3c/webrtc-extensions/issues/114