Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(776)

Unified Diff: media/blink/webaudiosourceprovider_impl.cc

Issue 1599533003: MediaCaptureFromElement: add support for audio captureStream(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: using refptr iso WeakPtr Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/blink/webaudiosourceprovider_impl.cc
diff --git a/media/blink/webaudiosourceprovider_impl.cc b/media/blink/webaudiosourceprovider_impl.cc
index 3f052dbeb6f5a8f9759964cb534635f5e19ebd79..31bb5aa11b69a46ee5fe1507fd9290907117c65b 100644
--- a/media/blink/webaudiosourceprovider_impl.cc
+++ b/media/blink/webaudiosourceprovider_impl.cc
@@ -233,6 +233,10 @@ void WebAudioSourceProviderImpl::Initialize(const AudioParameters& params,
void WebAudioSourceProviderImpl::SetCopyAudioCallback(
const CopyAudioCB& callback) {
DCHECK(!callback.is_null());
+
+ // Use |sink_lock_| to protect |tee_filter_| too since they go in lockstep.
+ base::AutoLock auto_lock(sink_lock_);
+
DCHECK(tee_filter_);
tee_filter_->set_copy_audio_bus_callback(callback);
}
@@ -242,6 +246,10 @@ void WebAudioSourceProviderImpl::ClearCopyAudioCallback() {
tee_filter_->set_copy_audio_bus_callback(CopyAudioCB());
}
+int WebAudioSourceProviderImpl::RenderForTesting(AudioBus* audio_bus) {
+ return tee_filter_->Render(audio_bus, 0, 0);
+}
+
void WebAudioSourceProviderImpl::OnSetFormat() {
base::AutoLock auto_lock(sink_lock_);
if (!client_)
@@ -251,10 +259,6 @@ void WebAudioSourceProviderImpl::OnSetFormat() {
client_->setFormat(tee_filter_->channels(), tee_filter_->sample_rate());
}
-int WebAudioSourceProviderImpl::RenderForTesting(AudioBus* audio_bus) {
- return tee_filter_->Render(audio_bus, 0, 0);
-}
-
int WebAudioSourceProviderImpl::TeeFilter::Render(AudioBus* audio_bus,
uint32_t delay_milliseconds,
uint32_t frames_skipped) {

Powered by Google App Engine
This is Rietveld 408576698