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

Unified Diff: content/renderer/media/media_stream_audio_track.cc

Issue 2777583002: Move getUserMedia finish to "when audio track configured". (Closed)
Patch Set: Fix error introduced when addressing review Created 3 years, 8 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: content/renderer/media/media_stream_audio_track.cc
diff --git a/content/renderer/media/media_stream_audio_track.cc b/content/renderer/media/media_stream_audio_track.cc
index cb64f8af18db392cdee6789560a9c5e0659857c3..788854d042b544a11cfd300357e654490057245e 100644
--- a/content/renderer/media/media_stream_audio_track.cc
+++ b/content/renderer/media/media_stream_audio_track.cc
@@ -118,6 +118,18 @@ void MediaStreamAudioTrack::Stop() {
}
void MediaStreamAudioTrack::OnSetFormat(const media::AudioParameters& params) {
+ base::OnceCallback<void()> temp_callback;
+ // Call the callback if present, but don't hold a lock while doing so.
+ {
+ base::AutoLock guard(format_set_guard_);
+ format_is_set_ = true;
+ if (!format_set_callback_.is_null()) {
+ temp_callback = std::move(format_set_callback_);
+ }
+ }
+ if (!temp_callback.is_null()) {
+ std::move(temp_callback).Run();
+ }
deliverer_.OnSetFormat(params);
}
@@ -141,10 +153,14 @@ void MediaStreamAudioTrack::OnData(const media::AudioBus& audio_bus,
}
}
+bool MediaStreamAudioTrack::format_is_set() {
+ base::AutoLock guard(format_set_guard_);
+ return format_is_set_;
+}
+
void MediaStreamAudioTrack::getSettings(
blink::WebMediaStreamTrack::Settings& settings) {
- // TODO(hta): Extract the real value.
- settings.deviceId = blink::WebString("audio device ID");
+ DCHECK(format_is_set());
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698