From d18192bdb52444b2dcf64e49f0d3e55462d68038 Mon Sep 17 00:00:00 2001 From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com> Date: Thu, 10 Jan 2019 14:25:04 -0500 Subject: [PATCH] call: mute audio on macOS Change-Id: If1b0abb2939fae2d6374991616419a5703bec09e --- src/media/audio/coreaudio/osx/corelayer.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/media/audio/coreaudio/osx/corelayer.cpp b/src/media/audio/coreaudio/osx/corelayer.cpp index aeb79522f5..317ee533d3 100644 --- a/src/media/audio/coreaudio/osx/corelayer.cpp +++ b/src/media/audio/coreaudio/osx/corelayer.cpp @@ -338,9 +338,13 @@ CoreLayer::read(AudioUnitRenderActionFlags* ioActionFlags, auto format = audioInputFormat_; format.sampleFormat = AV_SAMPLE_FMT_FLTP; auto inBuff = std::make_unique<AudioFrame>(format, inNumberFrames); - auto& in = *inBuff->pointer(); - for (unsigned i = 0; i < inChannelsPerFrame_; ++i) - std::copy_n((Float32*)captureBuff_->mBuffers[i].mData, inNumberFrames, (Float32*)in.extended_data[i]); + if (isCaptureMuted_) { + libav_utils::fillWithSilence(inBuff->pointer()); + } else { + auto& in = *inBuff->pointer(); + for (unsigned i = 0; i < inChannelsPerFrame_; ++i) + std::copy_n((Float32*)captureBuff_->mBuffers[i].mData, inNumberFrames, (Float32*)in.extended_data[i]); + } mainRingBuffer_->put(std::move(inBuff)); } -- GitLab