commit | c309e0e3eaa90411ffedd83f50313b8b9d9826b5 | [log] [tgz] |
---|---|---|
author | skvlad <skvlad@webrtc.org> | Fri Jul 29 00:15:20 2016 |
committer | skvlad <skvlad@webrtc.org> | Fri Jul 29 00:15:30 2016 |
tree | 56a856935f280bf5ef519df3f6fea2ffd4e911d6 | |
parent | ec4f068bcdbc044f14162fb530b50dc45db01211 [diff] |
Don't stop sending media on EWOULDBLOCK This change makes WebRTC no longer stop sending video when we receive an EWOULDBLOCK error from the operating system. This was previously causing calls on a slow link (where the first hop is slow) to rapidly oscillate between starting and stopping video. We still do need to stop sending packets if there is no known good connection we can use for that. We used to generate a synthetic EWOULDBLOCK error in that case. This CL replaces it with a different code (ENOTCONN); EWOULDBLOCK no longer stops the stream but ENOTCONN does. I've updated all the places where we seemed to be generating EWOULDBLOCK for reasons other than some buffer been full; please give it a thorough look in case I missed something. R=pthatcher@webrtc.org Review URL: https://codereview.webrtc.org/2192963002 . Cr-Commit-Position: refs/heads/master@{#13566}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.