Chromium Code Reviews| Index: content/renderer/pepper/pepper_platform_audio_input_impl.cc |
| diff --git a/content/renderer/pepper/pepper_platform_audio_input_impl.cc b/content/renderer/pepper/pepper_platform_audio_input_impl.cc |
| index effcf2acd112ca650d646ddf510556275ca16739..e8160f66eeec874bbb24de17073d4d3afc0ce158 100644 |
| --- a/content/renderer/pepper/pepper_platform_audio_input_impl.cc |
| +++ b/content/renderer/pepper/pepper_platform_audio_input_impl.cc |
| @@ -24,7 +24,7 @@ PepperPlatformAudioInputImpl* PepperPlatformAudioInputImpl::Create( |
| int frames_per_buffer, |
| webkit::ppapi::PluginDelegate::PlatformAudioInputClient* client) { |
| scoped_refptr<PepperPlatformAudioInputImpl> audio_input( |
| - new PepperPlatformAudioInputImpl); |
| + new PepperPlatformAudioInputImpl()); |
| if (audio_input->Initialize(plugin_delegate, device_id, sample_rate, |
| frames_per_buffer, client)) { |
| // Balanced by Release invoked in |
| @@ -97,7 +97,9 @@ void PepperPlatformAudioInputImpl::OnStreamCreated( |
| void PepperPlatformAudioInputImpl::OnVolume(double volume) {} |
| -void PepperPlatformAudioInputImpl::OnStateChanged(AudioStreamState state) {} |
| +void PepperPlatformAudioInputImpl::OnStateChanged( |
| + media::AudioInputDeviceIPCDelegate::State state) { |
| +} |
| void PepperPlatformAudioInputImpl::OnDeviceReady(const std::string& device_id) { |
| DCHECK(ChildProcess::current()->io_message_loop_proxy()-> |
| @@ -113,11 +115,14 @@ void PepperPlatformAudioInputImpl::OnDeviceReady(const std::string& device_id) { |
| this)); |
| } else { |
| // We will be notified by OnStreamCreated(). |
| - filter_->Send(new AudioInputHostMsg_CreateStream(stream_id_, params_, |
| - device_id, false)); |
| + ipc_->CreateStream(stream_id_, params_, device_id, false); |
| } |
| } |
| +void PepperPlatformAudioInputImpl::OnIPCClosed() { |
| + ipc_ = NULL; |
|
scherkus (not reviewing)
2012/07/24 17:57:48
null deref if stream_id != 0?
tommi (sloooow) - chröme
2012/07/25 13:46:17
See other comment. I didn't want to add reference
|
| +} |
| + |
| PepperPlatformAudioInputImpl::~PepperPlatformAudioInputImpl() { |
| // Make sure we have been shut down. Warning: this may happen on the I/O |
| // thread! |
| @@ -135,7 +140,7 @@ PepperPlatformAudioInputImpl::PepperPlatformAudioInputImpl() |
| stream_id_(0), |
| main_message_loop_proxy_(base::MessageLoopProxy::current()), |
| shutdown_called_(false) { |
| - filter_ = RenderThreadImpl::current()->audio_input_message_filter(); |
| + ipc_ = RenderThreadImpl::current()->audio_input_message_filter(); |
| } |
| bool PepperPlatformAudioInputImpl::Initialize( |
| @@ -180,17 +185,16 @@ void PepperPlatformAudioInputImpl::InitializeOnIOThread(int session_id) { |
| // Make sure we don't call init more than once. |
| DCHECK_EQ(0, stream_id_); |
| - stream_id_ = filter_->AddDelegate(this); |
| + stream_id_ = ipc_->AddDelegate(this); |
| DCHECK_NE(0, stream_id_); |
| if (!session_id) { |
| // We will be notified by OnStreamCreated(). |
| - filter_->Send(new AudioInputHostMsg_CreateStream( |
| - stream_id_, params_, |
| - media::AudioManagerBase::kDefaultDeviceId, false)); |
| + ipc_->CreateStream(stream_id_, params_, |
| + media::AudioManagerBase::kDefaultDeviceId, false); |
| } else { |
| // We will be notified by OnDeviceReady(). |
| - filter_->Send(new AudioInputHostMsg_StartDevice(stream_id_, session_id)); |
| + ipc_->StartDevice(stream_id_, session_id); |
| } |
| } |
| @@ -199,7 +203,7 @@ void PepperPlatformAudioInputImpl::StartCaptureOnIOThread() { |
| BelongsToCurrentThread()); |
| if (stream_id_) |
| - filter_->Send(new AudioInputHostMsg_RecordStream(stream_id_)); |
| + ipc_->RecordStream(stream_id_); |
| } |
| void PepperPlatformAudioInputImpl::StopCaptureOnIOThread() { |
| @@ -208,7 +212,7 @@ void PepperPlatformAudioInputImpl::StopCaptureOnIOThread() { |
| // TODO(yzshen): We cannot re-start capturing if the stream is closed. |
| if (stream_id_) |
| - filter_->Send(new AudioInputHostMsg_CloseStream(stream_id_)); |
| + ipc_->CloseStream(stream_id_); |
| } |
| void PepperPlatformAudioInputImpl::ShutDownOnIOThread() { |
| @@ -221,8 +225,8 @@ void PepperPlatformAudioInputImpl::ShutDownOnIOThread() { |
| shutdown_called_ = true; |
| if (stream_id_) { |
| - filter_->Send(new AudioInputHostMsg_CloseStream(stream_id_)); |
| - filter_->RemoveDelegate(stream_id_); |
| + ipc_->CloseStream(stream_id_); |
| + ipc_->RemoveDelegate(stream_id_); |
| stream_id_ = 0; |
| } |