Index: ppapi/shared_impl/ppb_audio_input_shared.h |
diff --git a/ppapi/shared_impl/ppb_audio_input_shared.h b/ppapi/shared_impl/ppb_audio_input_shared.h |
deleted file mode 100644 |
index 4dfdab9361caa945d1dbd7f53feb9cb00564696e..0000000000000000000000000000000000000000 |
--- a/ppapi/shared_impl/ppb_audio_input_shared.h |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef PPAPI_SHARED_IMPL_PPB_AUDIO_INPUT_SHARED_H_ |
-#define PPAPI_SHARED_IMPL_PPB_AUDIO_INPUT_SHARED_H_ |
- |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/shared_memory.h" |
-#include "base/sync_socket.h" |
-#include "base/threading/simple_thread.h" |
-#include "ppapi/c/dev/ppb_audio_input_dev.h" |
-#include "ppapi/c/ppb_audio_config.h" |
-#include "ppapi/shared_impl/resource.h" |
-#include "ppapi/shared_impl/scoped_pp_resource.h" |
-#include "ppapi/shared_impl/tracked_callback.h" |
-#include "ppapi/thunk/ppb_audio_input_api.h" |
- |
-namespace ppapi { |
- |
-// Implements the logic to map shared memory and run the audio thread signaled |
-// from the sync socket. Both the proxy and the renderer implementation use |
-// this code. |
-class PPAPI_SHARED_EXPORT PPB_AudioInput_Shared |
- : public Resource, |
- public thunk::PPB_AudioInput_API, |
- public base::DelegateSimpleThread::Delegate { |
- public: |
- // Used by the proxy. |
- explicit PPB_AudioInput_Shared(const HostResource& audio_input); |
- // Used by the impl. |
- explicit PPB_AudioInput_Shared(PP_Instance instance); |
- virtual ~PPB_AudioInput_Shared(); |
- |
- // Resource overrides. |
- virtual thunk::PPB_AudioInput_API* AsPPB_AudioInput_API() OVERRIDE; |
- |
- // Implementation of PPB_AudioInput_API non-trusted methods. |
- virtual int32_t EnumerateDevices( |
- PP_Resource* devices, |
- scoped_refptr<TrackedCallback> callback) OVERRIDE; |
- virtual int32_t Open(const std::string& device_id, |
- PP_Resource config, |
- PPB_AudioInput_Callback audio_input_callback, |
- void* user_data, |
- scoped_refptr<TrackedCallback> callback) OVERRIDE; |
- virtual PP_Resource GetCurrentConfig() OVERRIDE; |
- virtual PP_Bool StartCapture() OVERRIDE; |
- virtual PP_Bool StopCapture() OVERRIDE; |
- virtual void Close() OVERRIDE; |
- |
- void OnEnumerateDevicesComplete(int32_t result, |
- const std::vector<DeviceRefData>& devices); |
- void OnOpenComplete(int32_t result, |
- base::SharedMemoryHandle shared_memory_handle, |
- size_t shared_memory_size, |
- base::SyncSocket::Handle socket_handle); |
- |
- static scoped_refptr<TrackedCallback> MakeIgnoredCompletionCallback( |
- Resource* resource); |
- |
- protected: |
- enum OpenState { |
- BEFORE_OPEN, |
- OPENED, |
- CLOSED |
- }; |
- |
- // Subclasses should implement these methods to do impl- and proxy-specific |
- // work. |
- virtual int32_t InternalEnumerateDevices( |
- PP_Resource* devices, |
- scoped_refptr<TrackedCallback> callback) = 0; |
- virtual int32_t InternalOpen(const std::string& device_id, |
- PP_AudioSampleRate sample_rate, |
- uint32_t sample_frame_count, |
- scoped_refptr<TrackedCallback> callback) = 0; |
- virtual PP_Bool InternalStartCapture() = 0; |
- virtual PP_Bool InternalStopCapture() = 0; |
- virtual void InternalClose() = 0; |
- |
- // Configures the current state to be capturing or not. The caller is |
- // responsible for ensuring the new state is the opposite of the current one. |
- // |
- // This is the implementation for PPB_AudioInput.Start/StopCapture, except |
- // that it does not actually notify the audio system to stop capture, it just |
- // configures our object to stop generating callbacks. The actual stop |
- // capture request will be done in the derived classes and will be different |
- // from the proxy and the renderer. |
- void SetStartCaptureState(); |
- void SetStopCaptureState(); |
- |
- // Sets the shared memory and socket handles. This will automatically start |
- // capture if we're currently set to capture. |
- void SetStreamInfo(base::SharedMemoryHandle shared_memory_handle, |
- size_t shared_memory_size, |
- base::SyncSocket::Handle socket_handle); |
- |
- // Starts execution of the audio input thread. |
- void StartThread(); |
- |
- // Stops execution of the audio input thread. |
- void StopThread(); |
- |
- // DelegateSimpleThread::Delegate implementation. |
- // Run on the audio input thread. |
- virtual void Run(); |
- |
- // The common implementation of OpenTrusted() and Open(). It will call |
- // InternalOpen() to do impl- and proxy-specific work. |
- // OpenTrusted() will call this methods with a NULL |audio_input_callback|, |
- // in this case, the thread will not be run. This non-callback mode is used in |
- // the renderer with the proxy, since the proxy handles the callback entirely |
- // within the plugin process. |
- int32_t CommonOpen(const std::string& device_id, |
- PP_Resource config, |
- PPB_AudioInput_Callback audio_input_callback, |
- void* user_data, |
- scoped_refptr<TrackedCallback> callback); |
- |
- OpenState open_state_; |
- |
- // True if capturing the stream. |
- bool capturing_; |
- |
- // Socket used to notify us when new samples are available. This pointer is |
- // created in SetStreamInfo(). |
- scoped_ptr<base::CancelableSyncSocket> socket_; |
- |
- // Sample buffer in shared memory. This pointer is created in |
- // SetStreamInfo(). The memory is only mapped when the audio thread is |
- // created. |
- scoped_ptr<base::SharedMemory> shared_memory_; |
- |
- // The size of the sample buffer in bytes. |
- size_t shared_memory_size_; |
- |
- // When the callback is set, this thread is spawned for calling it. |
- scoped_ptr<base::DelegateSimpleThread> audio_input_thread_; |
- |
- // Callback to call when new samples are available. |
- PPB_AudioInput_Callback audio_input_callback_; |
- |
- // User data pointer passed verbatim to the callback function. |
- void* user_data_; |
- |
- scoped_refptr<TrackedCallback> enumerate_devices_callback_; |
- scoped_refptr<TrackedCallback> open_callback_; |
- |
- // Owning reference to the current config object. This isn't actually used, |
- // we just dish it out as requested by the plugin. |
- ScopedPPResource config_; |
- |
- // Output parameter of EnumerateDevices(). It should not be accessed after |
- // |enumerate_devices_callback_| is run. |
- PP_Resource* devices_; |
- |
- ResourceObjectType resource_object_type_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PPB_AudioInput_Shared); |
-}; |
- |
-} // namespace ppapi |
- |
-#endif // PPAPI_SHARED_IMPL_PPB_AUDIO_INPUT_SHARED_H_ |