Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / media / audio / win / wavein_input_win.h
index df5ce4d..8c22c9b 100644 (file)
@@ -20,6 +20,7 @@
 
 namespace media {
 
+class AudioBus;
 class AudioManagerWin;
 
 class PCMWaveInAudioInputStream : public AudioInputStream {
@@ -34,16 +35,17 @@ class PCMWaveInAudioInputStream : public AudioInputStream {
   virtual ~PCMWaveInAudioInputStream();
 
   // Implementation of AudioInputStream.
-  virtual bool Open() OVERRIDE;
-  virtual void Start(AudioInputCallback* callback) OVERRIDE;
-  virtual void Stop() OVERRIDE;
-  virtual void Close() OVERRIDE;
+  virtual bool Open() override;
+  virtual void Start(AudioInputCallback* callback) override;
+  virtual void Stop() override;
+  virtual void Close() override;
   // TODO(henrika): Add volume support using the Audio Mixer API.
-  virtual double GetMaxVolume() OVERRIDE;
-  virtual void SetVolume(double volume) OVERRIDE;
-  virtual double GetVolume() OVERRIDE;
-  virtual void SetAutomaticGainControl(bool enabled) OVERRIDE;
-  virtual bool GetAutomaticGainControl() OVERRIDE;
+  virtual double GetMaxVolume() override;
+  virtual void SetVolume(double volume) override;
+  virtual double GetVolume() override;
+  virtual void SetAutomaticGainControl(bool enabled) override;
+  virtual bool GetAutomaticGainControl() override;
+  virtual bool IsMuted() override;
 
  private:
   enum State {
@@ -123,6 +125,10 @@ class PCMWaveInAudioInputStream : public AudioInputStream {
   // Lock used to avoid conflicts when Stop() is called during a callback.
   base::Lock lock_;
 
+  // Extra audio bus used for storage of deinterleaved data for the OnData
+  // callback.
+  scoped_ptr<media::AudioBus> audio_bus_;
+
   DISALLOW_COPY_AND_ASSIGN(PCMWaveInAudioInputStream);
 };