diff options
author | leandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-13 18:38:58 +0000 |
---|---|---|
committer | leandrogracia@chromium.org <leandrogracia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-13 18:38:58 +0000 |
commit | beb0f37738b9c0a18a17621124d61cf508941fc9 (patch) | |
tree | 8aa576aab16620d3bbba1cbf80eb760cf3efcb8e /media/audio/win | |
parent | e6d876e110a8e90d6918a44fafb99914288102ab (diff) | |
download | chromium_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.h | 24 | ||||
-rw-r--r-- | media/audio/win/wavein_input_win.cc | 6 | ||||
-rw-r--r-- | media/audio/win/wavein_input_win.h | 9 |
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 { |