diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-13 18:16:50 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-13 18:16:50 +0000 |
commit | 92355685a6dd03537f78c612117ab5fc871009ec (patch) | |
tree | 38a1410be41a5facaf8c84aec4c24344c61b2c9a /media/audio | |
parent | b0f54b647d4f51afdf5c9a25fe21dfc2fd67807a (diff) | |
download | chromium_src-92355685a6dd03537f78c612117ab5fc871009ec.zip chromium_src-92355685a6dd03537f78c612117ab5fc871009ec.tar.gz chromium_src-92355685a6dd03537f78c612117ab5fc871009ec.tar.bz2 |
Revert 105333: OVERRIDE failures on asan - 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
Review URL: http://codereview.chromium.org/8208013
TBR=leandrogracia@chromium.org
Review URL: http://codereview.chromium.org/8276008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105335 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/audio')
-rw-r--r-- | media/audio/audio_manager.h | 3 | ||||
-rw-r--r-- | media/audio/audio_manager_base.cc | 19 | ||||
-rw-r--r-- | media/audio/audio_manager_base.h | 32 | ||||
-rw-r--r-- | media/audio/audio_output_proxy_unittest.cc | 1 | ||||
-rw-r--r-- | media/audio/linux/alsa_input.cc | 10 | ||||
-rw-r--r-- | media/audio/linux/alsa_input.h | 9 | ||||
-rw-r--r-- | media/audio/linux/audio_manager_linux.h | 29 | ||||
-rw-r--r-- | media/audio/mac/audio_input_mac.cc | 6 | ||||
-rw-r--r-- | media/audio/mac/audio_input_mac.h | 11 | ||||
-rw-r--r-- | media/audio/mac/audio_manager_mac.h | 18 | ||||
-rw-r--r-- | media/audio/openbsd/audio_manager_openbsd.cc | 5 | ||||
-rw-r--r-- | media/audio/openbsd/audio_manager_openbsd.h | 16 | ||||
-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 |
15 files changed, 61 insertions, 137 deletions
diff --git a/media/audio/audio_manager.h b/media/audio/audio_manager.h index 628eee9..d80026d 100644 --- a/media/audio/audio_manager.h +++ b/media/audio/audio_manager.h @@ -100,9 +100,6 @@ class MEDIA_EXPORT AudioManager { virtual void MuteAll() = 0; virtual void UnMuteAll() = 0; - // Used to determine if something else is currently making use of audio input. - virtual bool IsRecordingInProcess() = 0; - // Returns message loop used for audio IO. virtual MessageLoop* GetMessageLoop() = 0; diff --git a/media/audio/audio_manager_base.cc b/media/audio/audio_manager_base.cc index 5053e87..d0614f4 100644 --- a/media/audio/audio_manager_base.cc +++ b/media/audio/audio_manager_base.cc @@ -12,8 +12,7 @@ const char AudioManagerBase::kDefaultDeviceName[] = "Default"; AudioManagerBase::AudioManagerBase() : audio_thread_("AudioThread"), - initialized_(false), - num_active_input_streams_(0) { + initialized_(false) { } AudioManagerBase::~AudioManagerBase() { @@ -63,19 +62,3 @@ void AudioManagerBase::ShowAudioInputSettings() { void AudioManagerBase::GetAudioInputDeviceNames( media::AudioDeviceNames* device_names) { } - -void AudioManagerBase::IncreaseActiveInputStreamCount() { - base::AutoLock auto_lock(active_input_streams_lock_); - ++num_active_input_streams_; -} - -void AudioManagerBase::DecreaseActiveInputStreamCount() { - base::AutoLock auto_lock(active_input_streams_lock_); - DCHECK_GT(num_active_input_streams_, 0); - --num_active_input_streams_; -} - -bool AudioManagerBase::IsRecordingInProcess() { - base::AutoLock auto_lock(active_input_streams_lock_); - return num_active_input_streams_ > 0; -} diff --git a/media/audio/audio_manager_base.h b/media/audio/audio_manager_base.h index f24a299..fb4c51e 100644 --- a/media/audio/audio_manager_base.h +++ b/media/audio/audio_manager_base.h @@ -7,7 +7,6 @@ #include <map> -#include "base/compiler_specific.h" #include "base/threading/thread.h" #include "media/audio/audio_manager.h" @@ -21,26 +20,20 @@ class MEDIA_EXPORT AudioManagerBase : public AudioManager { AudioManagerBase(); - virtual void Init() OVERRIDE; - virtual void Cleanup() OVERRIDE; + virtual void Init(); + virtual void Cleanup(); - virtual MessageLoop* GetMessageLoop() OVERRIDE; + virtual MessageLoop* GetMessageLoop(); - virtual string16 GetAudioInputDeviceModel() OVERRIDE; + virtual string16 GetAudioInputDeviceModel(); - virtual bool CanShowAudioInputSettings() OVERRIDE; - virtual void ShowAudioInputSettings() OVERRIDE; + virtual bool CanShowAudioInputSettings(); + virtual void ShowAudioInputSettings(); - virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names) - OVERRIDE; + virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names); virtual AudioOutputStream* MakeAudioOutputStreamProxy( - const AudioParameters& params) OVERRIDE; - - virtual bool IsRecordingInProcess() OVERRIDE; - - void IncreaseActiveInputStreamCount(); - void DecreaseActiveInputStreamCount(); + const AudioParameters& params); protected: virtual ~AudioManagerBase(); @@ -59,15 +52,6 @@ class MEDIA_EXPORT AudioManagerBase : public AudioManager { AudioOutputDispatchersMap output_dispatchers_; - // Counts the number of active input streams to find out if something else - // is currently recording in Chrome. - int num_active_input_streams_; - - // Lock used to synchronize the access to num_active_input_streams_. - // Do not use for anything else and try to avoid using other locks - // in this code whenever possible. - base::Lock active_input_streams_lock_; - DISALLOW_COPY_AND_ASSIGN(AudioManagerBase); }; diff --git a/media/audio/audio_output_proxy_unittest.cc b/media/audio/audio_output_proxy_unittest.cc index 50a5020..895cb1b 100644 --- a/media/audio/audio_output_proxy_unittest.cc +++ b/media/audio/audio_output_proxy_unittest.cc @@ -53,7 +53,6 @@ class MockAudioManager : public AudioManager { MOCK_METHOD0(GetMessageLoop, MessageLoop*()); MOCK_METHOD1(GetAudioInputDeviceNames, void( media::AudioDeviceNames* device_name)); - MOCK_METHOD0(IsRecordingInProcess, bool()); }; class MockAudioSourceCallback : public AudioOutputStream::AudioSourceCallback { diff --git a/media/audio/linux/alsa_input.cc b/media/audio/linux/alsa_input.cc index 725ecb4..8aad65a 100644 --- a/media/audio/linux/alsa_input.cc +++ b/media/audio/linux/alsa_input.cc @@ -9,10 +9,8 @@ #include "base/logging.h" #include "base/message_loop.h" #include "base/time.h" -#include "media/audio/audio_manager.h" #include "media/audio/linux/alsa_util.h" #include "media/audio/linux/alsa_wrapper.h" -#include "media/audio/linux/audio_manager_linux.h" static const int kNumPacketsInRingBuffer = 3; @@ -107,9 +105,6 @@ void AlsaPcmInputStream::Start(AudioInputCallback* callback) { FROM_HERE, base::Bind(&AlsaPcmInputStream::ReadAudio, weak_factory_.GetWeakPtr()), delay_ms); - - static_cast<AudioManagerLinux*>(AudioManager::GetAudioManager())-> - IncreaseActiveInputStreamCount(); } } @@ -218,11 +213,6 @@ void AlsaPcmInputStream::Stop() { if (!device_handle_ || !callback_) return; - // Stop is always called before Close. In case of error, this will be - // also called when closing the input controller. - static_cast<AudioManagerLinux*>(AudioManager::GetAudioManager())-> - DecreaseActiveInputStreamCount(); - weak_factory_.InvalidateWeakPtrs(); // Cancel the next scheduled read. int error = wrapper_->PcmDrop(device_handle_); if (error < 0) diff --git a/media/audio/linux/alsa_input.h b/media/audio/linux/alsa_input.h index 6aa1b87..3e5209a 100644 --- a/media/audio/linux/alsa_input.h +++ b/media/audio/linux/alsa_input.h @@ -9,7 +9,6 @@ #include <string> -#include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" #include "media/audio/audio_io.h" @@ -35,10 +34,10 @@ class AlsaPcmInputStream : public AudioInputStream { virtual ~AlsaPcmInputStream(); // Implementation of AudioOutputStream. - virtual bool Open() OVERRIDE; - virtual void Start(AudioInputCallback* callback) OVERRIDE; - virtual void Stop() OVERRIDE; - virtual void Close() OVERRIDE; + virtual bool Open(); + virtual void Start(AudioInputCallback* callback); + virtual void Stop(); + virtual void Close(); private: // Logs the error and invokes any registered callbacks. diff --git a/media/audio/linux/audio_manager_linux.h b/media/audio/linux/audio_manager_linux.h index e7ac53a..5ec6221 100644 --- a/media/audio/linux/audio_manager_linux.h +++ b/media/audio/linux/audio_manager_linux.h @@ -7,7 +7,6 @@ #include <set> -#include "base/compiler_specific.h" #include "base/memory/ref_counted.h" #include "base/threading/thread.h" #include "media/audio/audio_manager_base.h" @@ -19,24 +18,22 @@ class MEDIA_EXPORT AudioManagerLinux : public AudioManagerBase { AudioManagerLinux(); // Call before using a newly created AudioManagerLinux instance. - virtual void Init() OVERRIDE; + virtual void Init(); // Implementation of AudioManager. - virtual bool HasAudioOutputDevices() OVERRIDE; - virtual bool HasAudioInputDevices() OVERRIDE; + virtual bool HasAudioOutputDevices(); + virtual bool HasAudioInputDevices(); virtual AudioOutputStream* MakeAudioOutputStream( - const AudioParameters& params) OVERRIDE; - virtual AudioInputStream* MakeAudioInputStream(const AudioParameters& params) - OVERRIDE; - virtual bool CanShowAudioInputSettings() OVERRIDE; - virtual void ShowAudioInputSettings() OVERRIDE; - virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names) - OVERRIDE; - - virtual void MuteAll() OVERRIDE; - virtual void UnMuteAll() OVERRIDE; - - virtual void ReleaseOutputStream(AudioOutputStream* stream) OVERRIDE; + const AudioParameters& params); + virtual AudioInputStream* MakeAudioInputStream(const AudioParameters& params); + virtual bool CanShowAudioInputSettings(); + virtual void ShowAudioInputSettings(); + virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names); + + virtual void MuteAll(); + virtual void UnMuteAll(); + + virtual void ReleaseOutputStream(AudioOutputStream* stream); protected: virtual ~AudioManagerLinux(); diff --git a/media/audio/mac/audio_input_mac.cc b/media/audio/mac/audio_input_mac.cc index c59eb61..e96277f 100644 --- a/media/audio/mac/audio_input_mac.cc +++ b/media/audio/mac/audio_input_mac.cc @@ -70,17 +70,11 @@ void PCMQueueInAudioInputStream::Start(AudioInputCallback* callback) { OSStatus err = AudioQueueStart(audio_queue_, NULL); if (err != noErr) HandleError(err); - else - manager_->IncreaseActiveInputStreamCount(); } void PCMQueueInAudioInputStream::Stop() { if (!audio_queue_) return; - // Stop is always called before Close. In case of error, this will be - // also called when closing the input controller. - manager_->DecreaseActiveInputStreamCount(); - // We request a synchronous stop, so the next call can take some time. In // the windows implementation we block here as well. OSStatus err = AudioQueueStop(audio_queue_, true); diff --git a/media/audio/mac/audio_input_mac.h b/media/audio/mac/audio_input_mac.h index 7569c36..1796d82 100644 --- a/media/audio/mac/audio_input_mac.h +++ b/media/audio/mac/audio_input_mac.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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,7 +8,6 @@ #include <AudioToolbox/AudioQueue.h> #include <AudioToolbox/AudioFormat.h> -#include "base/compiler_specific.h" #include "media/audio/audio_io.h" #include "media/audio/audio_parameters.h" @@ -24,10 +23,10 @@ class PCMQueueInAudioInputStream : public AudioInputStream { virtual ~PCMQueueInAudioInputStream(); // Implementation of AudioInputStream. - virtual bool Open() OVERRIDE; - virtual void Start(AudioInputCallback* callback) OVERRIDE; - virtual void Stop() OVERRIDE; - virtual void Close() OVERRIDE; + virtual bool Open(); + virtual void Start(AudioInputCallback* callback); + virtual void Stop(); + virtual void Close(); private: // Issue the OnError to |callback_|; diff --git a/media/audio/mac/audio_manager_mac.h b/media/audio/mac/audio_manager_mac.h index b7c29bc..a8ffced 100644 --- a/media/audio/mac/audio_manager_mac.h +++ b/media/audio/mac/audio_manager_mac.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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. @@ -6,7 +6,6 @@ #define MEDIA_AUDIO_MAC_AUDIO_MANAGER_MAC_H_ #include "base/basictypes.h" -#include "base/compiler_specific.h" #include "media/audio/audio_manager_base.h" class PCMQueueInAudioInputStream; @@ -20,16 +19,15 @@ class AudioManagerMac : public AudioManagerBase { AudioManagerMac(); // Implementation of AudioManager. - virtual bool HasAudioOutputDevices() OVERRIDE; - virtual bool HasAudioInputDevices() OVERRIDE; - virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names) - OVERRIDE; + virtual bool HasAudioOutputDevices(); + virtual bool HasAudioInputDevices(); + virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names); virtual AudioOutputStream* MakeAudioOutputStream( - const AudioParameters& params) OVERRIDE; + const AudioParameters& params); virtual AudioInputStream* MakeAudioInputStream( - const AudioParameters& params) OVERRIDE; - virtual void MuteAll() OVERRIDE; - virtual void UnMuteAll() OVERRIDE; + const AudioParameters& params); + virtual void MuteAll(); + virtual void UnMuteAll(); // Mac-only method to free the streams created by above facoty methods. // They are called internally by the respective audio stream when it has diff --git a/media/audio/openbsd/audio_manager_openbsd.cc b/media/audio/openbsd/audio_manager_openbsd.cc index cb94324..c9fc9e8 100644 --- a/media/audio/openbsd/audio_manager_openbsd.cc +++ b/media/audio/openbsd/audio_manager_openbsd.cc @@ -49,11 +49,6 @@ void AudioManagerOpenBSD::UnMuteAll() { NOTIMPLEMENTED(); } -bool AudioManagerOpenBSD::IsRecordingInProgress() { - NOTIMPLEMENTED(); - return false; -} - // static AudioManager* AudioManager::CreateAudioManager() { return new AudioManagerOpenBSD(); diff --git a/media/audio/openbsd/audio_manager_openbsd.h b/media/audio/openbsd/audio_manager_openbsd.h index 8f7c412..455c38e 100644 --- a/media/audio/openbsd/audio_manager_openbsd.h +++ b/media/audio/openbsd/audio_manager_openbsd.h @@ -1,11 +1,10 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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. #ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ #define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ -#include "base/compiler_specific.h" #include "media/audio/audio_io.h" class AudioManagerOpenBSD : public AudioManagerBase { @@ -16,15 +15,14 @@ class AudioManagerOpenBSD : public AudioManagerBase { virtual void Init(); // Implementation of AudioManager. - virtual bool HasAudioOutputDevices() OVERRIDE; - virtual bool HasAudioInputDevices() OVERRIDE; + virtual bool HasAudioOutputDevices(); + virtual bool HasAudioInputDevices(); virtual AudioOutputStream* MakeAudioOutputStream( - const AudioParameters& params) OVERRIDE; + const AudioParameters& params); virtual AudioInputStream* MakeAudioInputStream( - const AudioParameters& params) OVERRIDE; - virtual bool IsRecordingInProgress() OVERRIDE; - virtual void MuteAll() OVERRIDE; - virtual void UnMuteAll() OVERRIDE; + const AudioParameters& params); + virtual void MuteAll(); + virtual void UnMuteAll(); protected: virtual ~AudioManagerOpenBSD(); diff --git a/media/audio/win/audio_manager_win.h b/media/audio/win/audio_manager_win.h index 6db13c9..198e5e9 100644 --- a/media/audio/win/audio_manager_win.h +++ b/media/audio/win/audio_manager_win.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 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,7 +8,6 @@ #include <windows.h> #include "base/basictypes.h" -#include "base/compiler_specific.h" #include "media/audio/audio_manager_base.h" class PCMWaveInAudioInputStream; @@ -21,19 +20,18 @@ class AudioManagerWin : public AudioManagerBase { public: AudioManagerWin(); // Implementation of AudioManager. - virtual bool HasAudioOutputDevices() OVERRIDE; - virtual bool HasAudioInputDevices() OVERRIDE; + virtual bool HasAudioOutputDevices(); + virtual bool HasAudioInputDevices(); virtual AudioOutputStream* MakeAudioOutputStream( - const AudioParameters& params) OVERRIDE; + const AudioParameters& params); virtual AudioInputStream* MakeAudioInputStream( - 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; + 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); // 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 d9f600b..b994a29 100644 --- a/media/audio/win/wavein_input_win.cc +++ b/media/audio/win/wavein_input_win.cc @@ -121,8 +121,6 @@ void PCMWaveInAudioInputStream::Start(AudioInputCallback* callback) { if (result != MMSYSERR_NOERROR) { HandleError(result); state_ = kStateReady; - } else { - manager_->IncreaseActiveInputStreamCount(); } } @@ -140,10 +138,6 @@ 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 c16a4a7..f549f34 100644 --- a/media/audio/win/wavein_input_win.h +++ b/media/audio/win/wavein_input_win.h @@ -9,7 +9,6 @@ #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" @@ -28,10 +27,10 @@ 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(); + virtual void Start(AudioInputCallback* callback); + virtual void Stop(); + virtual void Close(); private: enum State { |