Index: media/audio/android/audio_manager_android.cc |
diff --git a/media/audio/android/audio_manager_android.cc b/media/audio/android/audio_manager_android.cc |
index 96a7c78c29c055d099f5ee985a8a591bfe44c3a8..4563a0aecf26288624674f61ca6c5da11113ebe8 100644 |
--- a/media/audio/android/audio_manager_android.cc |
+++ b/media/audio/android/audio_manager_android.cc |
@@ -45,12 +45,22 @@ const int kDefaultOutputBufferSize = 2048; |
} // namespace |
-AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { |
- return new AudioManagerAndroid(audio_log_factory); |
-} |
- |
-AudioManagerAndroid::AudioManagerAndroid(AudioLogFactory* audio_log_factory) |
- : AudioManagerBase(audio_log_factory), |
+ScopedAudioManagerPtr CreateAudioManager( |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
+ scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner, |
+ AudioLogFactory* audio_log_factory) { |
+ return ScopedAudioManagerPtr(new AudioManagerAndroid( |
+ std::move(task_runner), std::move(worker_task_runner), |
+ audio_log_factory)); |
+} |
+ |
+AudioManagerAndroid::AudioManagerAndroid( |
+ 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), |
communication_mode_is_on_(false), |
output_volume_override_set_(false), |
output_volume_override_(0) { |
@@ -68,11 +78,11 @@ AudioManagerAndroid::AudioManagerAndroid(AudioLogFactory* audio_log_factory) |
} |
AudioManagerAndroid::~AudioManagerAndroid() { |
- // It's safe to post a task here since Shutdown() will wait for all tasks to |
- // complete before returning. |
- GetTaskRunner()->PostTask(FROM_HERE, base::Bind( |
- &AudioManagerAndroid::ShutdownOnAudioThread, base::Unretained(this))); |
- Shutdown(); |
+ DCHECK(GetTaskRunner()->BelongsToCurrentThread()); |
DaleCurtis
2016/04/06 22:07:49
Hmm, this might be a bit dicy in the future since
alokp
2016/04/07 00:38:10
We have a DCHECK_EQ(0, num_input_streams_) in Audi
tommi (sloooow) - chröme
2016/04/07 14:33:40
What do you think about upgrading that to CHECK_EQ
DaleCurtis
2016/04/07 17:23:09
+1 I think we should do this, though it'll be hard
|
+ DVLOG(2) << "Destroying Java part of the audio manager"; |
+ Java_AudioManagerAndroid_close(base::android::AttachCurrentThread(), |
+ j_audio_manager_.obj()); |
+ j_audio_manager_.Reset(); |
} |
bool AudioManagerAndroid::HasAudioOutputDevices() { |
@@ -337,15 +347,6 @@ void AudioManagerAndroid::InitializeOnAudioThread() { |
j_audio_manager_.obj()); |
} |
-void AudioManagerAndroid::ShutdownOnAudioThread() { |
- DCHECK(GetTaskRunner()->BelongsToCurrentThread()); |
- DVLOG(2) << "Destroying Java part of the audio manager"; |
- Java_AudioManagerAndroid_close( |
- base::android::AttachCurrentThread(), |
- j_audio_manager_.obj()); |
- j_audio_manager_.Reset(); |
-} |
- |
void AudioManagerAndroid::SetCommunicationAudioModeOn(bool on) { |
Java_AudioManagerAndroid_setCommunicationAudioModeOn( |
base::android::AttachCurrentThread(), |