Index: third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
diff --git a/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp b/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
index da4b301ee37423105f552f9fc934d130b04c7792..ca12e1c9fb79b62562e07491d45e500f71a78aa7 100644 |
--- a/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
+++ b/third_party/WebKit/Source/platform/mediastream/MediaStreamSource.cpp |
@@ -107,6 +107,9 @@ void MediaStreamSource::setAudioFormat(size_t numberOfChannels, |
void MediaStreamSource::consumeAudio(AudioBus* bus, size_t numberOfFrames) { |
ASSERT(m_requiresConsumer); |
MutexLocker locker(m_audioConsumersLock); |
+ // Prevent GCs from going ahead while this iteration runs, attempting to |
+ // pinpoint crbug.com/682945 failures. |
+ ThreadState::MainThreadGCForbiddenScope scope; |
for (AudioDestinationConsumer* consumer : m_audioConsumers) |
consumer->consumeAudio(bus, numberOfFrames); |
} |