Index: content/renderer/media/audio_input_message_filter.cc |
diff --git a/content/renderer/media/audio_input_message_filter.cc b/content/renderer/media/audio_input_message_filter.cc |
index 30e4b01eec3b38a673296aa2ff9aa837e2a21f85..dbd9f38907ded8c84a65cc567be6ad88308504ca 100644 |
--- a/content/renderer/media/audio_input_message_filter.cc |
+++ b/content/renderer/media/audio_input_message_filter.cc |
@@ -13,11 +13,11 @@ |
AudioInputMessageFilter::AudioInputMessageFilter() |
: channel_(NULL) { |
- VLOG(1) << "AudioInputMessageFilter()"; |
+ DVLOG(1) << "AudioInputMessageFilter()"; |
} |
AudioInputMessageFilter::~AudioInputMessageFilter() { |
- VLOG(1) << "AudioInputMessageFilter::~AudioInputMessageFilter()"; |
+ DVLOG(1) << "AudioInputMessageFilter::~AudioInputMessageFilter()"; |
} |
bool AudioInputMessageFilter::Send(IPC::Message* message) { |
@@ -55,7 +55,7 @@ bool AudioInputMessageFilter::OnMessageReceived(const IPC::Message& message) { |
} |
void AudioInputMessageFilter::OnFilterAdded(IPC::Channel* channel) { |
- VLOG(1) << "AudioInputMessageFilter::OnFilterAdded()"; |
+ DVLOG(1) << "AudioInputMessageFilter::OnFilterAdded()"; |
// Captures the channel for IPC. |
channel_ = channel; |
} |
@@ -66,6 +66,14 @@ void AudioInputMessageFilter::OnFilterRemoved() { |
void AudioInputMessageFilter::OnChannelClosing() { |
channel_ = NULL; |
+ LOG_IF(WARNING, !delegates_.IsEmpty()) |
+ << "Not all audio devices have been closed."; |
+ |
+ IDMap<media::AudioInputDeviceIPCDelegate>::iterator it(&delegates_); |
+ while (!it.IsAtEnd()) { |
+ it.GetCurrentValue()->OnIPCClosed(); |
+ it.Advance(); |
+ } |
} |
void AudioInputMessageFilter::OnStreamCreated( |
@@ -80,7 +88,7 @@ void AudioInputMessageFilter::OnStreamCreated( |
#if !defined(OS_WIN) |
base::SyncSocket::Handle socket_handle = socket_descriptor.fd; |
#endif |
- Delegate* delegate = delegates_.Lookup(stream_id); |
+ media::AudioInputDeviceIPCDelegate* delegate = delegates_.Lookup(stream_id); |
if (!delegate) { |
DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
" audio capturer (stream_id=" << stream_id << ")."; |
@@ -93,7 +101,7 @@ void AudioInputMessageFilter::OnStreamCreated( |
} |
void AudioInputMessageFilter::OnStreamVolume(int stream_id, double volume) { |
- Delegate* delegate = delegates_.Lookup(stream_id); |
+ media::AudioInputDeviceIPCDelegate* delegate = delegates_.Lookup(stream_id); |
if (!delegate) { |
DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
" audio capturer."; |
@@ -103,8 +111,8 @@ void AudioInputMessageFilter::OnStreamVolume(int stream_id, double volume) { |
} |
void AudioInputMessageFilter::OnStreamStateChanged( |
- int stream_id, AudioStreamState state) { |
- Delegate* delegate = delegates_.Lookup(stream_id); |
+ int stream_id, media::AudioInputDeviceIPCDelegate::State state) { |
+ media::AudioInputDeviceIPCDelegate* delegate = delegates_.Lookup(stream_id); |
if (!delegate) { |
DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
" audio renderer."; |
@@ -115,20 +123,43 @@ void AudioInputMessageFilter::OnStreamStateChanged( |
void AudioInputMessageFilter::OnDeviceStarted(int stream_id, |
const std::string& device_id) { |
- Delegate* delegate = delegates_.Lookup(stream_id); |
+ media::AudioInputDeviceIPCDelegate* delegate = delegates_.Lookup(stream_id); |
if (!delegate) { |
- DLOG(WARNING) << "Got audio stream event for a non-existent or removed" |
- " audio renderer."; |
+ NOTREACHED(); |
return; |
} |
delegate->OnDeviceReady(device_id); |
} |
-int32 AudioInputMessageFilter::AddDelegate(Delegate* delegate) { |
+int AudioInputMessageFilter::AddDelegate( |
+ media::AudioInputDeviceIPCDelegate* delegate) { |
return delegates_.Add(delegate); |
} |
-void AudioInputMessageFilter::RemoveDelegate(int32 id) { |
- VLOG(1) << "AudioInputMessageFilter::RemoveDelegate(id=" << id << ")"; |
+void AudioInputMessageFilter::RemoveDelegate(int id) { |
+ DVLOG(1) << "AudioInputMessageFilter::RemoveDelegate(id=" << id << ")"; |
delegates_.Remove(id); |
} |
+ |
+void AudioInputMessageFilter::CreateStream(int stream_id, |
+ const media::AudioParameters& params, const std::string& device_id, |
+ bool automatic_gain_control) { |
+ Send(new AudioInputHostMsg_CreateStream( |
+ stream_id, params, device_id, automatic_gain_control)); |
+} |
+ |
+void AudioInputMessageFilter::StartDevice(int stream_id, int session_id) { |
+ Send(new AudioInputHostMsg_StartDevice(stream_id, session_id)); |
+} |
+ |
+void AudioInputMessageFilter::RecordStream(int stream_id) { |
+ Send(new AudioInputHostMsg_RecordStream(stream_id)); |
+} |
+ |
+void AudioInputMessageFilter::CloseStream(int stream_id) { |
+ Send(new AudioInputHostMsg_CloseStream(stream_id)); |
+} |
+ |
+void AudioInputMessageFilter::SetVolume(int stream_id, double volume) { |
+ Send(new AudioInputHostMsg_SetVolume(stream_id, volume)); |
+} |