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..9c1a27350c10a153c9e10bc0a6d519656a801984 100644 |
--- a/media/audio/win/audio_manager_win.h |
+++ b/media/audio/win/audio_manager_win.h |
@@ -12,16 +12,20 @@ |
#include "base/compiler_specific.h" |
#include "base/gtest_prod_util.h" |
#include "media/audio/audio_manager_base.h" |
+#include "media/audio/win/audio_device_listener_win.h" |
namespace media { |
// 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 { |
+class MEDIA_EXPORT AudioManagerWin |
+ : public AudioManagerBase, |
+ NON_EXPORTED_BASE(public AudioManager::AudioDeviceListener) { |
public: |
AudioManagerWin(); |
// Implementation of AudioManager. |
+ virtual void Init() OVERRIDE; |
virtual bool HasAudioOutputDevices() OVERRIDE; |
virtual bool HasAudioInputDevices() OVERRIDE; |
virtual string16 GetAudioInputDeviceModel() OVERRIDE; |
@@ -42,6 +46,9 @@ class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
virtual AudioParameters GetPreferredLowLatencyOutputStreamParameters( |
const AudioParameters& input_params) OVERRIDE; |
+ // AudioDeviceListener implementation. |
+ virtual void OnDeviceChange() OVERRIDE; |
+ |
protected: |
virtual ~AudioManagerWin(); |
@@ -70,6 +77,9 @@ class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
const AudioParameters& params, |
const std::string& device_id); |
+ // Listen for output device changes. |
+ scoped_ptr<AudioDeviceListenerWin> output_device_listener_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AudioManagerWin); |
}; |