| Index: content/renderer/media/renderer_gpu_video_accelerator_factories.h
|
| diff --git a/content/renderer/media/renderer_gpu_video_accelerator_factories.h b/content/renderer/media/renderer_gpu_video_accelerator_factories.h
|
| index f91e690a064004ee09b4459fed77d4f3e690afac..da6b09130620daf5ff9fb82e3f02b70b4ac0a60f 100644
|
| --- a/content/renderer/media/renderer_gpu_video_accelerator_factories.h
|
| +++ b/content/renderer/media/renderer_gpu_video_accelerator_factories.h
|
| @@ -14,7 +14,6 @@
|
| #include "content/child/thread_safe_sender.h"
|
| #include "content/common/content_export.h"
|
| #include "media/filters/gpu_video_accelerator_factories.h"
|
| -#include "third_party/skia/include/core/SkBitmap.h"
|
| #include "ui/gfx/size.h"
|
|
|
| namespace base {
|
| @@ -31,12 +30,9 @@
|
| // RenderViewImpl and only has its own header to allow extraction of its
|
| // implementation from render_view_impl.cc which is already far too large.
|
| //
|
| -// The RendererGpuVideoAcceleratorFactories can be constructed on any thread.
|
| -// Most public methods of the class must be called from the media thread. The
|
| -// exceptions (which can be called from any thread, as they are internally
|
| -// trampolined) are:
|
| -// * CreateVideoDecodeAccelerator()
|
| -// * ReadPixels()
|
| +// The RendererGpuVideoAcceleratorFactories can be constructed on any thread,
|
| +// but subsequent calls to all public methods of the class must be called from
|
| +// the |message_loop_proxy_|, as provided during construction.
|
| class CONTENT_EXPORT RendererGpuVideoAcceleratorFactories
|
| : public media::GpuVideoAcceleratorFactories {
|
| public:
|
| @@ -44,10 +40,10 @@
|
| // use. Safe to call from any thread.
|
| RendererGpuVideoAcceleratorFactories(
|
| GpuChannelHost* gpu_channel_host,
|
| + const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy,
|
| const scoped_refptr<ContextProviderCommandBuffer>& context_provider);
|
|
|
| // media::GpuVideoAcceleratorFactories implementation.
|
| - // CreateVideoDecodeAccelerator() is safe to call from any thread.
|
| virtual scoped_ptr<media::VideoDecodeAccelerator>
|
| CreateVideoDecodeAccelerator(
|
| media::VideoCodecProfile profile,
|
| @@ -64,41 +60,20 @@
|
| uint32 texture_target) OVERRIDE;
|
| virtual void DeleteTexture(uint32 texture_id) OVERRIDE;
|
| virtual void WaitSyncPoint(uint32 sync_point) OVERRIDE;
|
| - // ReadPixels() is safe to call from any thread.
|
| virtual void ReadPixels(uint32 texture_id,
|
| - const gfx::Size& size,
|
| + const gfx::Rect& visible_rect,
|
| const SkBitmap& pixels) OVERRIDE;
|
| virtual base::SharedMemory* CreateSharedMemory(size_t size) OVERRIDE;
|
| virtual scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner() OVERRIDE;
|
| - virtual void Abort() OVERRIDE;
|
| - virtual bool IsAborted() OVERRIDE;
|
| - scoped_refptr<RendererGpuVideoAcceleratorFactories> Clone();
|
|
|
| protected:
|
| friend class base::RefCountedThreadSafe<RendererGpuVideoAcceleratorFactories>;
|
| virtual ~RendererGpuVideoAcceleratorFactories();
|
|
|
| private:
|
| - RendererGpuVideoAcceleratorFactories();
|
| -
|
| // Helper to get a pointer to the WebGraphicsContext3DCommandBufferImpl,
|
| // if it has not been lost yet.
|
| WebGraphicsContext3DCommandBufferImpl* GetContext3d();
|
| -
|
| - // Helper for the constructor to acquire the ContentGLContext on
|
| - // |task_runner_|.
|
| - void AsyncBindContext();
|
| -
|
| - // Async versions of the public methods, run on |task_runner_|.
|
| - // They use output parameters instead of return values and each takes
|
| - // a WaitableEvent* param to signal completion (except for DeleteTexture,
|
| - // which is fire-and-forget).
|
| - // AsyncCreateVideoDecodeAccelerator returns its output in the |vda_| member.
|
| - void AsyncCreateVideoDecodeAccelerator(
|
| - media::VideoCodecProfile profile,
|
| - media::VideoDecodeAccelerator::Client* client);
|
| - void AsyncReadPixels(uint32 texture_id, const gfx::Size& size);
|
| - void AsyncDestroyVideoDecodeAccelerator();
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| scoped_refptr<GpuChannelHost> gpu_channel_host_;
|
| @@ -107,20 +82,6 @@
|
| // For sending requests to allocate shared memory in the Browser process.
|
| scoped_refptr<ThreadSafeSender> thread_safe_sender_;
|
|
|
| - // This event is signaled if we have been asked to Abort().
|
| - base::WaitableEvent aborted_waiter_;
|
| -
|
| - // This event is signaled by asynchronous tasks posted to |task_runner_| to
|
| - // indicate their completion.
|
| - // e.g. AsyncCreateVideoDecodeAccelerator()/AsyncCreateTextures() etc.
|
| - base::WaitableEvent task_runner_async_waiter_;
|
| -
|
| - // The vda returned by the CreateVideoDecodeAccelerator function.
|
| - scoped_ptr<media::VideoDecodeAccelerator> vda_;
|
| -
|
| - // Bitmap returned by ReadPixels().
|
| - SkBitmap read_pixels_bitmap_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(RendererGpuVideoAcceleratorFactories);
|
| };
|
|
|
|
|