summaryrefslogtreecommitdiffstats
path: root/media/audio/win
diff options
context:
space:
mode:
authorleandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-13 18:38:58 +0000
committerleandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-13 18:38:58 +0000
commitbeb0f37738b9c0a18a17621124d61cf508941fc9 (patch)
tree8aa576aab16620d3bbba1cbf80eb760cf3efcb8e /media/audio/win
parente6d876e110a8e90d6918a44fafb99914288102ab (diff)
downloadchromium_src-beb0f37738b9c0a18a17621124d61cf508941fc9.zip
chromium_src-beb0f37738b9c0a18a17621124d61cf508941fc9.tar.gz
chromium_src-beb0f37738b9c0a18a17621124d61cf508941fc9.tar.bz2
Add a method to the audio manager to find out if recording is currently active in Chrome.
Adding also missing OVERRIDEs in the affected files. BUG=97388 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=105333 Review URL: http://codereview.chromium.org/8208013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105337 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio/win')
-rw-r--r--media/audio/win/audio_manager_win.h24
-rw-r--r--media/audio/win/wavein_input_win.cc6
-rw-r--r--media/audio/win/wavein_input_win.h9
3 files changed, 24 insertions, 15 deletions
diff --git a/media/audio/win/audio_manager_win.h b/media/audio/win/audio_manager_win.h
index 198e5e9..6db13c9 100644
--- a/media/audio/win/audio_manager_win.h
+++ b/media/audio/win/audio_manager_win.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -8,6 +8,7 @@
#include <windows.h>
#include "base/basictypes.h"
+#include "base/compiler_specific.h"
#include "media/audio/audio_manager_base.h"
class PCMWaveInAudioInputStream;
@@ -20,18 +21,19 @@ class AudioManagerWin : public AudioManagerBase {
public:
AudioManagerWin();
// Implementation of AudioManager.
- virtual bool HasAudioOutputDevices();
- virtual bool HasAudioInputDevices();
+ virtual bool HasAudioOutputDevices() OVERRIDE;
+ virtual bool HasAudioInputDevices() OVERRIDE;
virtual AudioOutputStream* MakeAudioOutputStream(
- const AudioParameters& params);
+ const AudioParameters& params) OVERRIDE;
virtual AudioInputStream* MakeAudioInputStream(
- const AudioParameters& params);
- virtual void MuteAll();
- virtual void UnMuteAll();
- virtual string16 GetAudioInputDeviceModel();
- virtual bool CanShowAudioInputSettings();
- virtual void ShowAudioInputSettings();
- virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names);
+ const AudioParameters& params) OVERRIDE;
+ virtual void MuteAll() OVERRIDE;
+ virtual void UnMuteAll() OVERRIDE;
+ virtual string16 GetAudioInputDeviceModel() OVERRIDE;
+ virtual bool CanShowAudioInputSettings() OVERRIDE;
+ virtual void ShowAudioInputSettings() OVERRIDE;
+ virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names)
+ OVERRIDE;
// Windows-only methods to free a stream created in MakeAudioStream. These
// are called internally by the audio stream when it has been closed.
diff --git a/media/audio/win/wavein_input_win.cc b/media/audio/win/wavein_input_win.cc
index b994a29..d9f600b 100644
--- a/media/audio/win/wavein_input_win.cc
+++ b/media/audio/win/wavein_input_win.cc
@@ -121,6 +121,8 @@ void PCMWaveInAudioInputStream::Start(AudioInputCallback* callback) {
if (result != MMSYSERR_NOERROR) {
HandleError(result);
state_ = kStateReady;
+ } else {
+ manager_->IncreaseActiveInputStreamCount();
}
}
@@ -138,6 +140,10 @@ void PCMWaveInAudioInputStream::Stop() {
HandleError(::GetLastError());
return;
}
+ // Stop is always called before Close. In case of error, this will be
+ // also called when closing the input controller.
+ manager_->DecreaseActiveInputStreamCount();
+
state_ = kStateStopped;
MMRESULT res = ::waveInReset(wavein_);
if (res != MMSYSERR_NOERROR) {
diff --git a/media/audio/win/wavein_input_win.h b/media/audio/win/wavein_input_win.h
index f549f34..c16a4a7 100644
--- a/media/audio/win/wavein_input_win.h
+++ b/media/audio/win/wavein_input_win.h
@@ -9,6 +9,7 @@
#include <mmsystem.h>
#include "base/basictypes.h"
+#include "base/compiler_specific.h"
#include "base/win/scoped_handle.h"
#include "media/audio/audio_io.h"
#include "media/audio/audio_parameters.h"
@@ -27,10 +28,10 @@ class PCMWaveInAudioInputStream : public AudioInputStream {
virtual ~PCMWaveInAudioInputStream();
// Implementation of AudioInputStream.
- virtual bool Open();
- virtual void Start(AudioInputCallback* callback);
- virtual void Stop();
- virtual void Close();
+ virtual bool Open() OVERRIDE;
+ virtual void Start(AudioInputCallback* callback) OVERRIDE;
+ virtual void Stop() OVERRIDE;
+ virtual void Close() OVERRIDE;
private:
enum State {