summaryrefslogtreecommitdiffstats
path: root/media/audio
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-13 18:16:50 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-13 18:16:50 +0000
commit92355685a6dd03537f78c612117ab5fc871009ec (patch)
tree38a1410be41a5facaf8c84aec4c24344c61b2c9a /media/audio
parentb0f54b647d4f51afdf5c9a25fe21dfc2fd67807a (diff)
downloadchromium_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.h3
-rw-r--r--media/audio/audio_manager_base.cc19
-rw-r--r--media/audio/audio_manager_base.h32
-rw-r--r--media/audio/audio_output_proxy_unittest.cc1
-rw-r--r--media/audio/linux/alsa_input.cc10
-rw-r--r--media/audio/linux/alsa_input.h9
-rw-r--r--media/audio/linux/audio_manager_linux.h29
-rw-r--r--media/audio/mac/audio_input_mac.cc6
-rw-r--r--media/audio/mac/audio_input_mac.h11
-rw-r--r--media/audio/mac/audio_manager_mac.h18
-rw-r--r--media/audio/openbsd/audio_manager_openbsd.cc5
-rw-r--r--media/audio/openbsd/audio_manager_openbsd.h16
-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
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 {