Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9923)

Unified Diff: content/renderer/media/audio_input_device.cc

Issue 10790121: First step towards moving AudioDevice from content/ to media/audio. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: relaxing the notreached back to log(error) since nacl tests will otherwise fail Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/audio_input_device.cc
diff --git a/content/renderer/media/audio_input_device.cc b/content/renderer/media/audio_input_device.cc
index 6d8514375575339aa1be3108811e5e3fe52d1f27..1a7d6ca1165513aea949839b75cf249807356f68 100644
--- a/content/renderer/media/audio_input_device.cc
+++ b/content/renderer/media/audio_input_device.cc
@@ -45,12 +45,12 @@ AudioInputDevice::AudioInputDevice(const media::AudioParameters& params,
audio_parameters_(params),
callback_(callback),
event_handler_(event_handler),
- volume_(1.0),
stream_id_(0),
session_id_(0),
pending_device_ready_(false),
agc_is_enabled_(false) {
- filter_ = RenderThreadImpl::current()->audio_input_message_filter();
+ // TODO(tommi): This needs to be updated to match AudioDevice.
+ ipc_ = RenderThreadImpl::current()->audio_input_message_filter();
}
void AudioInputDevice::SetDevice(int session_id) {
@@ -133,7 +133,8 @@ void AudioInputDevice::OnVolume(double volume) {
NOTIMPLEMENTED();
}
-void AudioInputDevice::OnStateChanged(AudioStreamState state) {
+void AudioInputDevice::OnStateChanged(
+ media::AudioInputDeviceIPCDelegate::State state) {
DCHECK(message_loop()->BelongsToCurrentThread());
// Do nothing if the stream has been closed.
@@ -141,11 +142,9 @@ void AudioInputDevice::OnStateChanged(AudioStreamState state) {
return;
switch (state) {
- // TODO(xians): This should really be kAudioStreamStopped since the stream
- // has been closed at this point.
- case kAudioStreamPaused:
+ case media::AudioInputDeviceIPCDelegate::kStopped:
// TODO(xians): Should we just call ShutDownOnIOThread here instead?
- filter_->RemoveDelegate(stream_id_);
+ ipc_->RemoveDelegate(stream_id_);
audio_thread_.Stop(MessageLoop::current());
audio_callback_.reset();
@@ -156,10 +155,10 @@ void AudioInputDevice::OnStateChanged(AudioStreamState state) {
stream_id_ = 0;
pending_device_ready_ = false;
break;
- case kAudioStreamPlaying:
+ case media::AudioInputDeviceIPCDelegate::kRecording:
NOTIMPLEMENTED();
break;
- case kAudioStreamError:
+ case media::AudioInputDeviceIPCDelegate::kError:
DLOG(WARNING) << "AudioInputDevice::OnStateChanged(kError)";
// Don't dereference the callback object if the audio thread
// is stopped or stopping. That could mean that the callback
@@ -187,11 +186,11 @@ void AudioInputDevice::OnDeviceReady(const std::string& device_id) {
// If AudioInputDeviceManager returns an empty string, it means no device
// is ready for start.
if (device_id.empty()) {
- filter_->RemoveDelegate(stream_id_);
+ ipc_->RemoveDelegate(stream_id_);
stream_id_ = 0;
} else {
- Send(new AudioInputHostMsg_CreateStream(stream_id_, audio_parameters_,
- device_id, agc_is_enabled_));
+ ipc_->CreateStream(stream_id_, audio_parameters_, device_id,
+ agc_is_enabled_);
scherkus (not reviewing) 2012/07/24 17:57:48 indenting
tommi (sloooow) - chröme 2012/07/25 13:46:17 Done.
}
pending_device_ready_ = false;
@@ -200,6 +199,10 @@ void AudioInputDevice::OnDeviceReady(const std::string& device_id) {
event_handler_->OnDeviceStarted(device_id);
}
+void AudioInputDevice::OnIPCClosed() {
+ ipc_ = NULL;
scherkus (not reviewing) 2012/07/24 17:57:48 FYI we seem to guard against calling ipc_ with str
tommi (sloooow) - chröme 2012/07/25 13:46:17 The stream_id_ checks are not really meant to guar
+}
+
AudioInputDevice::~AudioInputDevice() {
// TODO(henrika): The current design requires that the user calls
// Stop before deleting this class.
@@ -213,17 +216,15 @@ void AudioInputDevice::InitializeOnIOThread() {
if (stream_id_)
return;
- stream_id_ = filter_->AddDelegate(this);
+ stream_id_ = ipc_->AddDelegate(this);
// If |session_id_| is not specified, it will directly create the stream;
// otherwise it will send a AudioInputHostMsg_StartDevice msg to the browser
// and create the stream when getting a OnDeviceReady() callback.
if (!session_id_) {
- Send(new AudioInputHostMsg_CreateStream(
- stream_id_, audio_parameters_,
- media::AudioManagerBase::kDefaultDeviceId,
- agc_is_enabled_));
+ ipc_->CreateStream(stream_id_, audio_parameters_,
+ media::AudioManagerBase::kDefaultDeviceId, agc_is_enabled_);
} else {
- Send(new AudioInputHostMsg_StartDevice(stream_id_, session_id_));
+ ipc_->StartDevice(stream_id_, session_id_);
pending_device_ready_ = true;
}
}
@@ -236,7 +237,7 @@ void AudioInputDevice::SetSessionIdOnIOThread(int session_id) {
void AudioInputDevice::StartOnIOThread() {
DCHECK(message_loop()->BelongsToCurrentThread());
if (stream_id_)
- Send(new AudioInputHostMsg_RecordStream(stream_id_));
+ ipc_->RecordStream(stream_id_);
}
void AudioInputDevice::ShutDownOnIOThread() {
@@ -244,8 +245,8 @@ void AudioInputDevice::ShutDownOnIOThread() {
// NOTE: |completion| may be NULL.
// Make sure we don't call shutdown more than once.
if (stream_id_) {
- filter_->RemoveDelegate(stream_id_);
- Send(new AudioInputHostMsg_CloseStream(stream_id_));
+ ipc_->CloseStream(stream_id_);
+ ipc_->RemoveDelegate(stream_id_);
stream_id_ = 0;
session_id_ = 0;
@@ -268,7 +269,7 @@ void AudioInputDevice::ShutDownOnIOThread() {
void AudioInputDevice::SetVolumeOnIOThread(double volume) {
DCHECK(message_loop()->BelongsToCurrentThread());
if (stream_id_)
- Send(new AudioInputHostMsg_SetVolume(stream_id_, volume));
+ ipc_->SetVolume(stream_id_, volume);
}
void AudioInputDevice::SetAutomaticGainControlOnIOThread(bool enabled) {
@@ -283,10 +284,6 @@ void AudioInputDevice::SetAutomaticGainControlOnIOThread(bool enabled) {
agc_is_enabled_ = enabled;
}
-void AudioInputDevice::Send(IPC::Message* message) {
- filter_->Send(message);
-}
-
void AudioInputDevice::WillDestroyCurrentMessageLoop() {
LOG(ERROR) << "IO loop going away before the input device has been stopped";
ShutDownOnIOThread();

Powered by Google App Engine
This is Rietveld 408576698