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 c69d562ecd0e7a76dc3055e84a6e225641eda4e8..effcf2acd112ca650d646ddf510556275ca16739 100644 |
--- a/content/renderer/pepper/pepper_platform_audio_input_impl.cc |
+++ b/content/renderer/pepper/pepper_platform_audio_input_impl.cc |
@@ -16,26 +16,6 @@ |
namespace content { |
-PepperPlatformAudioInputImpl::PepperPlatformAudioInputImpl() |
- : client_(NULL), |
- stream_id_(0), |
- main_message_loop_proxy_(base::MessageLoopProxy::current()), |
- shutdown_called_(false) { |
- filter_ = RenderThreadImpl::current()->audio_input_message_filter(); |
-} |
- |
-PepperPlatformAudioInputImpl::~PepperPlatformAudioInputImpl() { |
- // Make sure we have been shut down. Warning: this may happen on the I/O |
- // thread! |
- // Although these members should be accessed on a specific thread (either the |
- // main thread or the I/O thread), it should be fine to examine their value |
- // here. |
- DCHECK_EQ(0, stream_id_); |
- DCHECK(!client_); |
- DCHECK(label_.empty()); |
- DCHECK(shutdown_called_); |
-} |
- |
// static |
PepperPlatformAudioInputImpl* PepperPlatformAudioInputImpl::Create( |
const base::WeakPtr<PepperPluginDelegateImpl>& plugin_delegate, |
@@ -81,6 +61,83 @@ void PepperPlatformAudioInputImpl::ShutDown() { |
base::Bind(&PepperPlatformAudioInputImpl::ShutDownOnIOThread, this)); |
} |
+void PepperPlatformAudioInputImpl::OnStreamCreated( |
+ base::SharedMemoryHandle handle, |
+ base::SyncSocket::Handle socket_handle, |
+ uint32 length) { |
+#if defined(OS_WIN) |
+ DCHECK(handle); |
+ DCHECK(socket_handle); |
+#else |
+ DCHECK_NE(-1, handle.fd); |
+ DCHECK_NE(-1, socket_handle); |
+#endif |
+ DCHECK(length); |
+ |
+ if (base::MessageLoopProxy::current() != main_message_loop_proxy_) { |
+ // No need to check |shutdown_called_| here. If shutdown has occurred, |
+ // |client_| will be NULL and the handles will be cleaned up on the main |
+ // thread. |
+ main_message_loop_proxy_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&PepperPlatformAudioInputImpl::OnStreamCreated, this, |
+ handle, socket_handle, length)); |
+ } else { |
+ // Must dereference the client only on the main thread. Shutdown may have |
+ // occurred while the request was in-flight, so we need to NULL check. |
+ if (client_) { |
+ client_->StreamCreated(handle, length, socket_handle); |
+ } else { |
+ // Clean up the handles. |
+ base::SyncSocket temp_socket(socket_handle); |
+ base::SharedMemory temp_shared_memory(handle, false); |
+ } |
+ } |
+} |
+ |
+void PepperPlatformAudioInputImpl::OnVolume(double volume) {} |
+ |
+void PepperPlatformAudioInputImpl::OnStateChanged(AudioStreamState state) {} |
+ |
+void PepperPlatformAudioInputImpl::OnDeviceReady(const std::string& device_id) { |
+ DCHECK(ChildProcess::current()->io_message_loop_proxy()-> |
+ BelongsToCurrentThread()); |
+ |
+ if (shutdown_called_) |
+ return; |
+ |
+ if (device_id.empty()) { |
+ main_message_loop_proxy_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&PepperPlatformAudioInputImpl::NotifyStreamCreationFailed, |
+ this)); |
+ } else { |
+ // We will be notified by OnStreamCreated(). |
+ filter_->Send(new AudioInputHostMsg_CreateStream(stream_id_, params_, |
+ device_id, false)); |
+ } |
+} |
+ |
+PepperPlatformAudioInputImpl::~PepperPlatformAudioInputImpl() { |
+ // Make sure we have been shut down. Warning: this may happen on the I/O |
+ // thread! |
+ // Although these members should be accessed on a specific thread (either the |
+ // main thread or the I/O thread), it should be fine to examine their value |
+ // here. |
+ DCHECK_EQ(0, stream_id_); |
+ DCHECK(!client_); |
+ DCHECK(label_.empty()); |
+ DCHECK(shutdown_called_); |
+} |
+ |
+PepperPlatformAudioInputImpl::PepperPlatformAudioInputImpl() |
+ : client_(NULL), |
+ stream_id_(0), |
+ main_message_loop_proxy_(base::MessageLoopProxy::current()), |
+ shutdown_called_(false) { |
+ filter_ = RenderThreadImpl::current()->audio_input_message_filter(); |
+} |
+ |
bool PepperPlatformAudioInputImpl::Initialize( |
const base::WeakPtr<PepperPluginDelegateImpl>& plugin_delegate, |
const std::string& device_id, |
@@ -177,65 +234,6 @@ void PepperPlatformAudioInputImpl::ShutDownOnIOThread() { |
// PepperPluginDelegateImpl::CreateAudioInput. |
} |
-void PepperPlatformAudioInputImpl::OnStreamCreated( |
- base::SharedMemoryHandle handle, |
- base::SyncSocket::Handle socket_handle, |
- uint32 length) { |
-#if defined(OS_WIN) |
- DCHECK(handle); |
- DCHECK(socket_handle); |
-#else |
- DCHECK_NE(-1, handle.fd); |
- DCHECK_NE(-1, socket_handle); |
-#endif |
- DCHECK(length); |
- |
- if (base::MessageLoopProxy::current() != main_message_loop_proxy_) { |
- // No need to check |shutdown_called_| here. If shutdown has occurred, |
- // |client_| will be NULL and the handles will be cleaned up on the main |
- // thread. |
- main_message_loop_proxy_->PostTask( |
- FROM_HERE, |
- base::Bind(&PepperPlatformAudioInputImpl::OnStreamCreated, this, |
- handle, socket_handle, length)); |
- } else { |
- // Must dereference the client only on the main thread. Shutdown may have |
- // occurred while the request was in-flight, so we need to NULL check. |
- if (client_) { |
- client_->StreamCreated(handle, length, socket_handle); |
- } else { |
- // Clean up the handles. |
- base::SyncSocket temp_socket(socket_handle); |
- base::SharedMemory temp_shared_memory(handle, false); |
- } |
- } |
-} |
- |
-void PepperPlatformAudioInputImpl::OnVolume(double volume) { |
-} |
- |
-void PepperPlatformAudioInputImpl::OnStateChanged(AudioStreamState state) { |
-} |
- |
-void PepperPlatformAudioInputImpl::OnDeviceReady(const std::string& device_id) { |
- DCHECK(ChildProcess::current()->io_message_loop_proxy()-> |
- BelongsToCurrentThread()); |
- |
- if (shutdown_called_) |
- return; |
- |
- if (device_id.empty()) { |
- main_message_loop_proxy_->PostTask( |
- FROM_HERE, |
- base::Bind(&PepperPlatformAudioInputImpl::NotifyStreamCreationFailed, |
- this)); |
- } else { |
- // We will be notified by OnStreamCreated(). |
- filter_->Send(new AudioInputHostMsg_CreateStream(stream_id_, params_, |
- device_id, false)); |
- } |
-} |
- |
void PepperPlatformAudioInputImpl::OnDeviceOpened(int request_id, |
bool succeeded, |
const std::string& label) { |