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..ab1aa5851f442a95c92700a0ddf0368116d049db 100644 |
--- a/media/audio/win/audio_manager_win.h |
+++ b/media/audio/win/audio_manager_win.h |
@@ -12,15 +12,19 @@ |
#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) { |
scherkus (not reviewing)
2012/10/24 04:27:09
I still don't see a reason to use multiple inherit
DaleCurtis
2012/10/24 04:52:47
Hmm, I kept it this way because the unit test was
scherkus (not reviewing)
2012/10/24 16:52:11
Those darn unit tests!
OK what about using a call
DaleCurtis
2012/10/24 19:27:29
Done.
|
public: |
AudioManagerWin(); |
+ |
// Implementation of AudioManager. |
virtual bool HasAudioOutputDevices() OVERRIDE; |
virtual bool HasAudioInputDevices() OVERRIDE; |
@@ -42,9 +46,15 @@ class MEDIA_EXPORT AudioManagerWin : public AudioManagerBase { |
virtual AudioParameters GetPreferredLowLatencyOutputStreamParameters( |
const AudioParameters& input_params) OVERRIDE; |
+ // AudioDeviceListener implementation. |
+ virtual void OnDeviceChange() OVERRIDE; |
+ |
protected: |
virtual ~AudioManagerWin(); |
+ // Implementation of AudioManager. |
+ virtual void InitializeOnAudioThread() OVERRIDE; |
+ |
private: |
enum EnumerationType { |
kUninitializedEnumeration = 0, |
@@ -70,6 +80,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); |
}; |