void MediaStreamWebAudioSource::provideInput(AudioBus* bus, size_t framesToProcess) { ASSERT(bus); if (!bus) return; if (!m_webAudioSourceProvider) { bus->zero(); return; } // Wrap the AudioBus channel data using WebVector. size_t n = bus->numberOfChannels(); blink::WebVector<float*> webAudioData(n); for (size_t i = 0; i < n; ++i) webAudioData[i] = bus->channel(i)->mutableData(); m_webAudioSourceProvider->provideInput(webAudioData, framesToProcess); }
void WebMediaPlayerClientImpl::AudioSourceProviderImpl::provideInput(AudioBus* bus, size_t framesToProcess) { ASSERT(bus); if (!bus) return; MutexTryLocker tryLocker(provideInputLock); if (!tryLocker.locked() || !m_webAudioSourceProvider || !m_client.get()) { bus->zero(); return; } // Wrap the AudioBus channel data using WebVector. size_t n = bus->numberOfChannels(); WebVector<float*> webAudioData(n); for (size_t i = 0; i < n; ++i) webAudioData[i] = bus->channel(i)->mutableData(); m_webAudioSourceProvider->provideInput(webAudioData, framesToProcess); }