mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-17 07:37:51 +01:00
![]() The proper closing procedure is: 1. Alice resets outgoing stream. 2. Bob receives incoming stream reset, resets his outgoing stream. 3. Alice receives incoming stream reset; channel closed! 4. Bob receives acknowledgement of reset; channel closed! https://tools.ietf.org/html/draft-ietf-rtcweb-data-channel-13#section-6.7 However, up until now we've been sending both an incoming and outgoing reset from the side initiating the closing procedure, and doing nothing on the remote side. This means that if you call "Close" and the remote endpoint is using an old version of WebRTC, the channel's state will be stuck at "closing" since the remote endpoint won't send a reset. Which is already what happens when Firefox is talking to Chrome. This CL also fixes an issue where the DataChannel's state prematurely went to "closed" before the closing procedure was complete. Which could result in a new DataChannel attempting to re-use the ID and failing. TBR=magjed@webrtc.org Bug: chromium:449934, webrtc:4453 Change-Id: Ic1ba813e46538c6c65868961aae6a9780d68a5e2 Reviewed-on: https://webrtc-review.googlesource.com/79061 Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23478} |
||
---|---|---|
.. | ||
android | ||
objc | ||
BUILD.gn | ||
OWNERS |