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