commit | 1871a919447dd7be5d8d225d218ab09af49d49d2 | [log] [tgz] |
---|---|---|
author | Noah Richards <noahric@chromium.org> | Mon Aug 14 17:08:33 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Aug 15 16:48:06 2017 |
tree | 507da08b9797554ab966fd93456b65018ea7cc78 | |
parent | 037f3e42f29c1bbeaeb8421d9252fedb0397f09c [diff] |
Check keepAlive before calling nativeDataIsRecording. We're encountering a bug where audioRecord.read() can hang for long enough that stopRecording() fails to join the recording thread (in two seconds) and returns. In that case, JNI methods get unregistered and when the recording thread calls nativeDataIsRecorded, it crashes when it can't find the native method to call. This version still isn't 100% safe, as the threading sequence still technically allows for an ordering where (for some reason) the thread fails to join after the final keepAlive check and long enough for all the JNI methods to get unregistered, but that seems very unlikely. BUG=b/64174142 Change-Id: Ie7432a70d0e53bace0885edf35e24bd3f6585399 Reviewed-on: https://chromium-review.googlesource.com/613501 Reviewed-by: Henrik Andreasson <henrika@webrtc.org> Commit-Queue: Noah Richards <noahric@chromium.org> Cr-Commit-Position: refs/heads/master@{#19358}
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.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.