Chromium Code Reviews| Index: media/audio/android/audio_manager_android.h |
| diff --git a/media/audio/android/audio_manager_android.h b/media/audio/android/audio_manager_android.h |
| index 670c094900d26dd230bb82f9da0eb9713f0de855..64e594cad5b8f3ef302bb0940112f5c6cd417db7 100644 |
| --- a/media/audio/android/audio_manager_android.h |
| +++ b/media/audio/android/audio_manager_android.h |
| @@ -9,7 +9,9 @@ |
| #include "base/android/jni_android.h" |
| #include "base/gtest_prod_util.h" |
| +#include "base/message_loop/message_loop.h" |
| #include "base/synchronization/lock.h" |
| +#include "base/synchronization/waitable_event.h" |
| #include "media/audio/audio_manager_base.h" |
| namespace media { |
| @@ -17,7 +19,9 @@ namespace media { |
| class OpenSLESOutputStream; |
| // Android implemention of AudioManager. |
| -class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase { |
| +class MEDIA_EXPORT AudioManagerAndroid |
| + : public AudioManagerBase, |
| + public base::MessageLoop::DestructionObserver { |
| public: |
| AudioManagerAndroid(AudioLogFactory* audio_log_factory); |
| @@ -55,6 +59,9 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase { |
| const AudioParameters& params, |
| const std::string& device_id) OVERRIDE; |
| + // Implementation of MessageLoop::DestructionObserver. |
| + virtual void WillDestroyCurrentMessageLoop() OVERRIDE; |
|
tommi (sloooow) - chröme
2014/01/30 12:51:11
make this private
henrika (OOO until Aug 14)
2014/01/30 14:48:24
Done.
|
| + |
| static bool RegisterAudioManager(JNIEnv* env); |
| void SetMute(JNIEnv* env, jobject obj, jboolean muted); |
| @@ -77,6 +84,12 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase { |
| int GetAudioLowLatencyOutputFrameSize(); |
| int GetOptimalOutputFrameSize(int sample_rate, int channels); |
| + void InitializeOnAudioThread(); |
| + void CloseOnAudioThread(); |
| + void GetAudioInputDeviceNamesOnAudioThread( |
| + base::WaitableEvent* event, AudioDeviceNames* device_names); |
| + void SetAudioDeviceOnAudioThread(base::WaitableEvent* event, |
| + const std::string& device_id, bool* result); |
| void DoSetMuteOnAudioThread(bool muted); |
| // Allow the AudioAndroidTest to access private methods. |
| @@ -91,6 +104,7 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase { |
| // AudioManager::MakeAudioOutputStream on the audio thread. For now, this |
| // lock is used to guard access to |streams_|. |
| base::Lock streams_lock_; |
| + bool initialized_on_audio_thread_; |
| DISALLOW_COPY_AND_ASSIGN(AudioManagerAndroid); |
| }; |