| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ | 5 #ifndef PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ |
| 6 #define PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ | 6 #define PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 namespace ppapi { | 24 namespace ppapi { |
| 25 namespace proxy { | 25 namespace proxy { |
| 26 | 26 |
| 27 class ResourceMessageReplyParams; | 27 class ResourceMessageReplyParams; |
| 28 | 28 |
| 29 class AudioInputResource : public PluginResource, | 29 class AudioInputResource : public PluginResource, |
| 30 public thunk::PPB_AudioInput_API, | 30 public thunk::PPB_AudioInput_API, |
| 31 public base::DelegateSimpleThread::Delegate { | 31 public base::DelegateSimpleThread::Delegate { |
| 32 public: | 32 public: |
| 33 AudioInputResource(Connection connection, PP_Instance instance); | 33 AudioInputResource(Connection connection, PP_Instance instance); |
| 34 virtual ~AudioInputResource(); | 34 ~AudioInputResource() override; |
| 35 | 35 |
| 36 // Resource overrides. | 36 // Resource overrides. |
| 37 virtual thunk::PPB_AudioInput_API* AsPPB_AudioInput_API() override; | 37 thunk::PPB_AudioInput_API* AsPPB_AudioInput_API() override; |
| 38 virtual void OnReplyReceived(const ResourceMessageReplyParams& params, | 38 void OnReplyReceived(const ResourceMessageReplyParams& params, |
| 39 const IPC::Message& msg) override; | 39 const IPC::Message& msg) override; |
| 40 | 40 |
| 41 // PPB_AudioInput_API implementation. | 41 // PPB_AudioInput_API implementation. |
| 42 virtual int32_t EnumerateDevices( | 42 int32_t EnumerateDevices(const PP_ArrayOutput& output, |
| 43 const PP_ArrayOutput& output, | 43 scoped_refptr<TrackedCallback> callback) override; |
| 44 scoped_refptr<TrackedCallback> callback) override; | 44 int32_t MonitorDeviceChange(PP_MonitorDeviceChangeCallback callback, |
| 45 virtual int32_t MonitorDeviceChange( | 45 void* user_data) override; |
| 46 PP_MonitorDeviceChangeCallback callback, | 46 int32_t Open0_3(PP_Resource device_ref, |
| 47 void* user_data) override; | 47 PP_Resource config, |
| 48 virtual int32_t Open0_3(PP_Resource device_ref, | 48 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3, |
| 49 PP_Resource config, | 49 void* user_data, |
| 50 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3, | 50 scoped_refptr<TrackedCallback> callback) override; |
| 51 void* user_data, | 51 int32_t Open(PP_Resource device_ref, |
| 52 scoped_refptr<TrackedCallback> callback) override; | 52 PP_Resource config, |
| 53 virtual int32_t Open(PP_Resource device_ref, | 53 PPB_AudioInput_Callback audio_input_callback, |
| 54 PP_Resource config, | 54 void* user_data, |
| 55 PPB_AudioInput_Callback audio_input_callback, | 55 scoped_refptr<TrackedCallback> callback) override; |
| 56 void* user_data, | 56 PP_Resource GetCurrentConfig() override; |
| 57 scoped_refptr<TrackedCallback> callback) override; | 57 PP_Bool StartCapture() override; |
| 58 virtual PP_Resource GetCurrentConfig() override; | 58 PP_Bool StopCapture() override; |
| 59 virtual PP_Bool StartCapture() override; | 59 void Close() override; |
| 60 virtual PP_Bool StopCapture() override; | |
| 61 virtual void Close() override; | |
| 62 | 60 |
| 63 protected: | 61 protected: |
| 64 // Resource override. | 62 // Resource override. |
| 65 virtual void LastPluginRefWasDeleted() override; | 63 void LastPluginRefWasDeleted() override; |
| 66 | 64 |
| 67 private: | 65 private: |
| 68 enum OpenState { | 66 enum OpenState { |
| 69 BEFORE_OPEN, | 67 BEFORE_OPEN, |
| 70 OPENED, | 68 OPENED, |
| 71 CLOSED | 69 CLOSED |
| 72 }; | 70 }; |
| 73 | 71 |
| 74 void OnPluginMsgOpenReply(const ResourceMessageReplyParams& params); | 72 void OnPluginMsgOpenReply(const ResourceMessageReplyParams& params); |
| 75 | 73 |
| 76 // Sets the shared memory and socket handles. This will automatically start | 74 // Sets the shared memory and socket handles. This will automatically start |
| 77 // capture if we're currently set to capture. | 75 // capture if we're currently set to capture. |
| 78 void SetStreamInfo(base::SharedMemoryHandle shared_memory_handle, | 76 void SetStreamInfo(base::SharedMemoryHandle shared_memory_handle, |
| 79 size_t shared_memory_size, | 77 size_t shared_memory_size, |
| 80 base::SyncSocket::Handle socket_handle); | 78 base::SyncSocket::Handle socket_handle); |
| 81 | 79 |
| 82 // Starts execution of the audio input thread. | 80 // Starts execution of the audio input thread. |
| 83 void StartThread(); | 81 void StartThread(); |
| 84 | 82 |
| 85 // Stops execution of the audio input thread. | 83 // Stops execution of the audio input thread. |
| 86 void StopThread(); | 84 void StopThread(); |
| 87 | 85 |
| 88 // DelegateSimpleThread::Delegate implementation. | 86 // DelegateSimpleThread::Delegate implementation. |
| 89 // Run on the audio input thread. | 87 // Run on the audio input thread. |
| 90 virtual void Run() override; | 88 void Run() override; |
| 91 | 89 |
| 92 int32_t CommonOpen(PP_Resource device_ref, | 90 int32_t CommonOpen(PP_Resource device_ref, |
| 93 PP_Resource config, | 91 PP_Resource config, |
| 94 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3, | 92 PPB_AudioInput_Callback_0_3 audio_input_callback_0_3, |
| 95 PPB_AudioInput_Callback audio_input_callback, | 93 PPB_AudioInput_Callback audio_input_callback, |
| 96 void* user_data, | 94 void* user_data, |
| 97 scoped_refptr<TrackedCallback> callback); | 95 scoped_refptr<TrackedCallback> callback); |
| 98 | 96 |
| 99 OpenState open_state_; | 97 OpenState open_state_; |
| 100 | 98 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 int client_buffer_size_bytes_; | 143 int client_buffer_size_bytes_; |
| 146 scoped_ptr<uint8_t[]> client_buffer_; | 144 scoped_ptr<uint8_t[]> client_buffer_; |
| 147 | 145 |
| 148 DISALLOW_COPY_AND_ASSIGN(AudioInputResource); | 146 DISALLOW_COPY_AND_ASSIGN(AudioInputResource); |
| 149 }; | 147 }; |
| 150 | 148 |
| 151 } // namespace proxy | 149 } // namespace proxy |
| 152 } // namespace ppapi | 150 } // namespace ppapi |
| 153 | 151 |
| 154 #endif // PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ | 152 #endif // PPAPI_PROXY_AUDIO_INPUT_RESOURCE_H_ |
| OLD | NEW |