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

Unified Diff: media/audio/alsa/audio_manager_alsa.cc

Issue 2784433002: Ensures that audio tasks cannot run after AudioManager is deleted. (Closed)
Patch Set: addressed comments Created 3 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/audio/alsa/audio_manager_alsa.cc
diff --git a/media/audio/alsa/audio_manager_alsa.cc b/media/audio/alsa/audio_manager_alsa.cc
index 72c48e3327a88062e87938819bb471d82ff7e6cd..f27d01a206cc23d6ab12ac36bf8191b7a04f0c32 100644
--- a/media/audio/alsa/audio_manager_alsa.cc
+++ b/media/audio/alsa/audio_manager_alsa.cc
@@ -78,28 +78,26 @@ void AudioManagerAlsa::ShowLinuxAudioInputSettings() {
base::LaunchProcess(command_line, base::LaunchOptions());
}
-// Implementation of AudioManager.
-bool AudioManagerAlsa::HasAudioOutputDevices() {
- return HasAnyAlsaAudioDevice(kStreamPlayback);
+AudioManagerAlsa::AudioManagerAlsa(std::unique_ptr<AudioThread> audio_thread,
+ AudioLogFactory* audio_log_factory)
+ : AudioManagerBase(std::move(audio_thread), audio_log_factory),
+ wrapper_(new AlsaWrapper()) {
+ SetMaxOutputStreamsAllowed(kMaxOutputStreams);
}
-bool AudioManagerAlsa::HasAudioInputDevices() {
- return HasAnyAlsaAudioDevice(kStreamCapture);
+AudioManagerAlsa::~AudioManagerAlsa() = default;
+
+void AudioManagerAlsa::ShutdownOnAudioThread() {
+ AudioManagerBase::ShutdownOnAudioThread();
+ wrapper_.reset();
o1ka 2017/05/10 15:57:56 Add a comment why we must do it now?
alokp 2017/05/10 18:04:03 Actually we do not need to explicitly destroy alsa
}
-AudioManagerAlsa::AudioManagerAlsa(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner,
- AudioLogFactory* audio_log_factory)
- : AudioManagerBase(std::move(task_runner),
- std::move(worker_task_runner),
- audio_log_factory),
- wrapper_(new AlsaWrapper()) {
- SetMaxOutputStreamsAllowed(kMaxOutputStreams);
+bool AudioManagerAlsa::HasAudioOutputDevices() {
+ return HasAnyAlsaAudioDevice(kStreamPlayback);
}
-AudioManagerAlsa::~AudioManagerAlsa() {
- Shutdown();
+bool AudioManagerAlsa::HasAudioInputDevices() {
+ return HasAnyAlsaAudioDevice(kStreamCapture);
}
void AudioManagerAlsa::ShowAudioInputSettings() {

Powered by Google App Engine
This is Rietveld 408576698