commit | ef53a7fc0bc307ada3ebaaef10d2507e571186a8 | [log] [tgz] |
---|---|---|
author | Brian Dai <briand27@fb.com> | Wed Jan 20 20:20:12 2021 |
committer | Commit Bot <commit-bot@chromium.org> | Sat Jan 23 10:22:58 2021 |
tree | 0b25bbef3d873bb570ce0d639c58876e8cdf8f3e | |
parent | bf95da8e73cf2fa814eb8ec90034255e5fb7b376 [diff] |
Reset IO thread checker when iOS audio unit stops In AudioDeviceIOS, when we call Stop() on the VoiceProcessingAudioUnit, we do not always detach the I/O thread checker in preparation for a new start. This means that if we start up the VoiceProcessingAudioUnit - and subsequently a new AURemoteIO thread to deal with I/O operations - the DCHECK in OnDeliverRecordedData and OnGetPlayoutData will fail. Note that we want to detach the I/O thread checker regardless of whether Stop() returns with a success status or not. The success status is dictated by the iOS function AudioOutputUnitStop. The documentation of this function does not guarantee that the audio unit will not stop in the case the function returns with an error code. That is to say, it is possible the audio unit stops even if the function Stop() returns false. Therefore, it is safer to prepare the I/O thread checker for a new start in either case. Change-Id: Iee50a2457959aff2e6089e9a664c649dc4dbbbd6 Bug: webrtc:12382 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/202945 Reviewed-by: Henrik Andreassson <henrika@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33063}
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 here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.