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) { |
scherkus (not reviewing)
2012/10/22 23:51:05
considering this is win-specific code talking to w
DaleCurtis
2012/10/23 01:49:42
We'll still need the Init() override since we can'
scherkus (not reviewing)
2012/10/23 02:23:11
Huh? ADLWin doesn't run on audio_thread_ and AFAIK
DaleCurtis
2012/10/23 03:28:20
Doh, you're right. How about collapsing the existi
henrika (OOO until Aug 14)
2012/10/23 07:38:06
Sounds fine by me. It works today, hence COM init
scherkus (not reviewing)
2012/10/23 17:48:18
SG.
DaleCurtis
2012/10/23 20:09:07
Split off here: https://codereview.chromium.org/11
DaleCurtis
2012/10/23 20:19:43
Haha, that is totally the wrong link, I meant: htt
|
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); |
}; |