| 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..c67b8daa2635b8d67a3209c4bc6f7a7ada9045ba 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);
|
|
|
| @@ -67,6 +71,13 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase {
|
| const AudioParameters& input_params) OVERRIDE;
|
|
|
| private:
|
| + // Implementation of MessageLoop::DestructionObserver.
|
| + virtual void WillDestroyCurrentMessageLoop() OVERRIDE;
|
| +
|
| + void CreateAndInitOnAudioThread();
|
| + void DoCreateAndInitOnAudioThread(base::WaitableEvent* event);
|
| + void CloseOnAudioThread();
|
| +
|
| bool HadNoAudioStreams();
|
| void Init();
|
| void Close();
|
| @@ -77,6 +88,8 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase {
|
| int GetAudioLowLatencyOutputFrameSize();
|
| int GetOptimalOutputFrameSize(int sample_rate, int channels);
|
|
|
| + void GetAudioInputDeviceNamesOnAudioThread(
|
| + base::WaitableEvent* event, AudioDeviceNames* device_names);
|
| void DoSetMuteOnAudioThread(bool muted);
|
|
|
| // Allow the AudioAndroidTest to access private methods.
|
|
|