commit | ee1e74fb863d208724c38f24d8d070d6e4ea4bc7 | [log] [tgz] |
---|---|---|
author | Kári Tristan Helgason <kthelgason@webrtc.org> | Tue Jul 24 12:57:49 2018 +0200 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Aug 02 14:25:37 2018 +0000 |
tree | 25104ff8182731350362bd24a1c8a127305776ee | |
parent | ab4a530b876f73b39b51640a1b8dc8a78f5f38f8 [diff] |
Fix occasional crash in iOS ADM. RTCNativeAudioSessionDelegateAdapter has a raw pointer to AudioDeviceIOS, and receives callbacks from RTCAudioSession and forwards them to AudioDeviceIOS. During teardown of these components the situation can occur that the dtor for AudioDeviceIOS has been called but the ObjC runtime has not yet dealloced RTCNativeAudioSessionDelegateAdapter, so it's still receiving callbacks while the pointer it keeps to AudioDeviceIOS has been invalidated. This occasionally triggers a crash when WebRTC is shutting down. The fix in this CL is to make sure to deregister the adapter from RTCAudioSession _before_ the dtor for AudioDeviceIOS returns. Bug: webrtc:9523 Change-Id: Ica85420d76efc63940472bc43e3ec71d16036ccf Reviewed-on: https://webrtc-review.googlesource.com/90245 Reviewed-by: Peter Hanspers <peterhanspers@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24173}
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.
Authoritative list of directories that contain the native API header files.