| 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..f7c85fe68df38309c6071c7af833cc2b427e7ce5 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,7 +71,14 @@ class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase {
|
| const AudioParameters& input_params) OVERRIDE;
|
|
|
| private:
|
| - bool HadNoAudioStreams();
|
| + // Implementation of MessageLoop::DestructionObserver.
|
| + virtual void WillDestroyCurrentMessageLoop() OVERRIDE;
|
| +
|
| + void CreateAndInitOnAudioThread();
|
| + void DoCreateAndInitOnAudioThread(base::WaitableEvent* event);
|
| + void CloseOnAudioThread();
|
| +
|
| + bool HasNoAudioStreams();
|
| void Init();
|
| void Close();
|
| void SetCommunicationAudioModeOn(bool on);
|
| @@ -77,11 +88,10 @@ 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.
|
| - FRIEND_TEST_ALL_PREFIXES(AudioAndroidOutputTest, IsAudioLowLatencySupported);
|
| -
|
| // Java AudioManager instance.
|
| base::android::ScopedJavaGlobalRef<jobject> j_audio_manager_;
|
|
|
|
|