Index: media/audio/win/audio_manager_win.h |
diff --git a/media/audio/win/audio_manager_win.h b/media/audio/win/audio_manager_win.h |
index 6a4efcbafbd91b11c3773b3fe3786570904e3f81..40465773301e09a4eadde32dde493918fa8f863e 100644 |
--- a/media/audio/win/audio_manager_win.h |
+++ b/media/audio/win/audio_manager_win.h |
@@ -5,22 +5,21 @@ |
#ifndef MEDIA_AUDIO_WIN_AUDIO_MANAGER_WIN_H_ |
#define MEDIA_AUDIO_WIN_AUDIO_MANAGER_WIN_H_ |
-#include <windows.h> |
#include <string> |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/gtest_prod_util.h" |
#include "media/audio/audio_manager_base.h" |
namespace media { |
+class AudioDeviceListenerWin; |
+ |
// Windows implementation of the AudioManager singleton. This class is internal |
// to the audio output and only internal users can call methods not exposed by |
// the AudioManager class. |
class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
public: |
AudioManagerWin(); |
+ |
// Implementation of AudioManager. |
virtual bool HasAudioOutputDevices() OVERRIDE; |
virtual bool HasAudioInputDevices() OVERRIDE; |
@@ -45,6 +44,9 @@ class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
protected: |
virtual ~AudioManagerWin(); |
+ // Implementation of AudioManager. |
+ virtual void InitializeOnAudioThread() OVERRIDE; |
+ |
private: |
enum EnumerationType { |
kUninitializedEnumeration = 0, |
@@ -70,6 +72,13 @@ class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
const AudioParameters& params, |
const std::string& device_id); |
+ // |output_device_listener_| must be destructed on the same COM thread it was |
+ // initialized on. |
+ void DestructOnAudioThread(); |
+ |
+ // Listen for output device changes. |
+ scoped_ptr<AudioDeviceListenerWin> output_device_listener_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AudioManagerWin); |
}; |