diff --git a/modules/audio_device/mac/audio_device_mac.cc b/modules/audio_device/mac/audio_device_mac.cc index ed7b0e4669..f64d4313c6 100644 --- a/modules/audio_device/mac/audio_device_mac.cc +++ b/modules/audio_device/mac/audio_device_mac.cc @@ -15,6 +15,7 @@ #include // sysctlbyname() #include +#include #include "modules/audio_device/audio_device_config.h" #include "modules/third_party/portaudio/pa_ringbuffer.h" @@ -2428,7 +2429,7 @@ bool AudioDeviceMac::CaptureWorkerThread() { OSStatus err = noErr; UInt32 noRecSamples = ENGINE_REC_BUF_SIZE_IN_SAMPLES * _inDesiredFormat.mChannelsPerFrame; - SInt16 recordBuffer[noRecSamples]; + std::vector recordBuffer(noRecSamples); UInt32 size = ENGINE_REC_BUF_SIZE_IN_SAMPLES; AudioBufferList engineBuffer; @@ -2436,7 +2437,7 @@ bool AudioDeviceMac::CaptureWorkerThread() { engineBuffer.mBuffers->mNumberChannels = _inDesiredFormat.mChannelsPerFrame; engineBuffer.mBuffers->mDataByteSize = _inDesiredFormat.mBytesPerPacket * noRecSamples; - engineBuffer.mBuffers->mData = recordBuffer; + engineBuffer.mBuffers->mData = recordBuffer.data(); err = AudioConverterFillComplexBuffer(_captureConverter, inConverterProc, this, &size, &engineBuffer, NULL); @@ -2471,7 +2472,8 @@ bool AudioDeviceMac::CaptureWorkerThread() { // store the recorded buffer (no action will be taken if the // #recorded samples is not a full buffer) - _ptrAudioBuffer->SetRecordedBuffer((int8_t*)&recordBuffer, (uint32_t)size); + _ptrAudioBuffer->SetRecordedBuffer((int8_t*)recordBuffer.data(), + (uint32_t)size); _ptrAudioBuffer->SetVQEData(msecOnPlaySide, msecOnRecordSide); _ptrAudioBuffer->SetTypingStatus(KeyPressed());