| Index: webrtc/modules/audio_device/ios/audio_device_ios.mm
|
| diff --git a/webrtc/modules/audio_device/ios/audio_device_ios.mm b/webrtc/modules/audio_device/ios/audio_device_ios.mm
|
| index b0d26be6ec28837a4cebd6e66ffd869e2af2d0e5..95834d25311e39eb251ba1bf29fbfcca01723ea9 100644
|
| --- a/webrtc/modules/audio_device/ios/audio_device_ios.mm
|
| +++ b/webrtc/modules/audio_device/ios/audio_device_ios.mm
|
| @@ -28,7 +28,7 @@
|
| namespace webrtc {
|
|
|
| // Protects |g_audio_session_users|.
|
| -static rtc::GlobalLockPod g_lock;
|
| +static rtc::GlobalLockPod g_lock = {{0}};
|
|
|
| // Counts number of users (=instances of this object) who needs an active
|
| // audio session. This variable is used to ensure that we only activate an audio
|
| @@ -288,8 +288,8 @@ static void LogDeviceInfo() {
|
| AudioDeviceIOS::AudioDeviceIOS()
|
| : audio_device_buffer_(nullptr),
|
| vpio_unit_(nullptr),
|
| - recording_(0),
|
| - playing_(0),
|
| + recording_({0}),
|
| + playing_({0}),
|
| initialized_(false),
|
| rec_is_initialized_(false),
|
| play_is_initialized_(false),
|
| @@ -359,7 +359,7 @@ int32_t AudioDeviceIOS::InitPlayout() {
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| RTC_DCHECK(initialized_);
|
| RTC_DCHECK(!play_is_initialized_);
|
| - RTC_DCHECK(!playing_);
|
| + RTC_DCHECK(!Playing());
|
| if (!rec_is_initialized_) {
|
| if (!InitPlayOrRecord()) {
|
| LOG_F(LS_ERROR) << "InitPlayOrRecord failed for InitPlayout!";
|
| @@ -375,7 +375,7 @@ int32_t AudioDeviceIOS::InitRecording() {
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| RTC_DCHECK(initialized_);
|
| RTC_DCHECK(!rec_is_initialized_);
|
| - RTC_DCHECK(!recording_);
|
| + RTC_DCHECK(!Recording());
|
| if (!play_is_initialized_) {
|
| if (!InitPlayOrRecord()) {
|
| LOG_F(LS_ERROR) << "InitPlayOrRecord failed for InitRecording!";
|
| @@ -390,9 +390,9 @@ int32_t AudioDeviceIOS::StartPlayout() {
|
| LOGI() << "StartPlayout";
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| RTC_DCHECK(play_is_initialized_);
|
| - RTC_DCHECK(!playing_);
|
| + RTC_DCHECK(!Playing());
|
| fine_audio_buffer_->ResetPlayout();
|
| - if (!recording_) {
|
| + if (!Recording()) {
|
| OSStatus result = AudioOutputUnitStart(vpio_unit_);
|
| if (result != noErr) {
|
| LOG_F(LS_ERROR) << "AudioOutputUnitStart failed for StartPlayout: "
|
| @@ -401,21 +401,21 @@ int32_t AudioDeviceIOS::StartPlayout() {
|
| }
|
| LOG(LS_INFO) << "Voice-Processing I/O audio unit is now started";
|
| }
|
| - rtc::AtomicOps::ReleaseStore(&playing_, 1);
|
| + rtc::AtomicInt::ReleaseStore(&playing_, 1);
|
| return 0;
|
| }
|
|
|
| int32_t AudioDeviceIOS::StopPlayout() {
|
| LOGI() << "StopPlayout";
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| - if (!play_is_initialized_ || !playing_) {
|
| + if (!play_is_initialized_ || !Playing()) {
|
| return 0;
|
| }
|
| - if (!recording_) {
|
| + if (!Recording()) {
|
| ShutdownPlayOrRecord();
|
| }
|
| play_is_initialized_ = false;
|
| - rtc::AtomicOps::ReleaseStore(&playing_, 0);
|
| + rtc::AtomicInt::ReleaseStore(&playing_, 0);
|
| return 0;
|
| }
|
|
|
| @@ -423,9 +423,9 @@ int32_t AudioDeviceIOS::StartRecording() {
|
| LOGI() << "StartRecording";
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| RTC_DCHECK(rec_is_initialized_);
|
| - RTC_DCHECK(!recording_);
|
| + RTC_DCHECK(!Recording());
|
| fine_audio_buffer_->ResetRecord();
|
| - if (!playing_) {
|
| + if (!Playing()) {
|
| OSStatus result = AudioOutputUnitStart(vpio_unit_);
|
| if (result != noErr) {
|
| LOG_F(LS_ERROR) << "AudioOutputUnitStart failed for StartRecording: "
|
| @@ -434,21 +434,21 @@ int32_t AudioDeviceIOS::StartRecording() {
|
| }
|
| LOG(LS_INFO) << "Voice-Processing I/O audio unit is now started";
|
| }
|
| - rtc::AtomicOps::ReleaseStore(&recording_, 1);
|
| + rtc::AtomicInt::ReleaseStore(&recording_, 1);
|
| return 0;
|
| }
|
|
|
| int32_t AudioDeviceIOS::StopRecording() {
|
| LOGI() << "StopRecording";
|
| RTC_DCHECK(thread_checker_.CalledOnValidThread());
|
| - if (!rec_is_initialized_ || !recording_) {
|
| + if (!rec_is_initialized_ || !Recording()) {
|
| return 0;
|
| }
|
| - if (!playing_) {
|
| + if (!Playing()) {
|
| ShutdownPlayOrRecord();
|
| }
|
| rec_is_initialized_ = false;
|
| - rtc::AtomicOps::ReleaseStore(&recording_, 0);
|
| + rtc::AtomicInt::ReleaseStore(&recording_, 0);
|
| return 0;
|
| }
|
|
|
| @@ -1028,7 +1028,7 @@ OSStatus AudioDeviceIOS::OnRecordedDataIsAvailable(
|
| UInt32 in_number_frames) {
|
| OSStatus result = noErr;
|
| // Simply return if recording is not enabled.
|
| - if (!rtc::AtomicOps::AcquireLoad(&recording_))
|
| + if (!Recording())
|
| return result;
|
| if (in_number_frames != record_parameters_.frames_per_buffer()) {
|
| // We have seen short bursts (1-2 frames) where |in_number_frames| changes.
|
| @@ -1087,7 +1087,7 @@ OSStatus AudioDeviceIOS::OnGetPlayoutData(
|
| SInt8* destination = static_cast<SInt8*>(io_data->mBuffers[0].mData);
|
| // Produce silence and give audio unit a hint about it if playout is not
|
| // activated.
|
| - if (!rtc::AtomicOps::AcquireLoad(&playing_)) {
|
| + if (!Playing()) {
|
| *io_action_flags |= kAudioUnitRenderAction_OutputIsSilence;
|
| memset(destination, 0, dataSizeInBytes);
|
| return noErr;
|
|
|