Index: content/renderer/gpu_video_service_host.h |
=================================================================== |
--- content/renderer/gpu_video_service_host.h (revision 86484) |
+++ content/renderer/gpu_video_service_host.h (working copy) |
@@ -1,77 +0,0 @@ |
-// Copyright (c) 2011 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 CONTENT_RENDERER_GPU_VIDEO_SERVICE_HOST_H_ |
-#define CONTENT_RENDERER_GPU_VIDEO_SERVICE_HOST_H_ |
- |
-#include "base/memory/singleton.h" |
-#include "content/renderer/gpu_channel_host.h" |
-#include "content/renderer/gpu_video_decoder_host.h" |
-#include "ipc/ipc_channel.h" |
-#include "media/base/buffers.h" |
-#include "media/base/video_frame.h" |
-#include "media/video/video_decode_accelerator.h" |
- |
-class GpuVideoDecodeAcceleratorHost; |
- |
-// GpuVideoServiceHost lives on IO thread and is used to dispatch IPC messages |
-// to GpuVideoDecoderHost objects. |
-class GpuVideoServiceHost : public IPC::ChannelProxy::MessageFilter { |
- public: |
- GpuVideoServiceHost(); |
- virtual ~GpuVideoServiceHost(); |
- |
- // IPC::ChannelProxy::MessageFilter implementations, called on IO thread. |
- virtual bool OnMessageReceived(const IPC::Message& message); |
- virtual void OnFilterAdded(IPC::Channel* channel); |
- virtual void OnFilterRemoved(); |
- virtual void OnChannelClosing(); |
- |
- // Register a callback to be notified when |*this| can be used to |
- // CreateVideo{Decoder,Accelerator} below. Called on RenderThread. |
- // |on_initialized| will get invoked in-line in this function if |*this| is |
- // already ready for use, and asynchronously after this function returns |
- // otherwise. |
- void SetOnInitialized(const base::Closure& on_initialized); |
- |
- // Called on RenderThread to create a hardware accelerated video decoder |
- // in the GPU process. |
- // |
- // A routing ID for the GLES2 context needs to be provided when creating a |
- // hardware video decoder. This is important because the resources used by |
- // the video decoder needs to be shared with the GLES2 context corresponding |
- // to the RenderView. |
- // |
- // This means that a GPU video decoder is tied to a specific RenderView and |
- // its GLES2 context in the GPU process. |
- // |
- // Returns a GpuVideoDecoderHost as a handle to control the video decoder. |
- // |
- // Note: OnFilterAdded() MUST be called before these methods are called, |
- // because they require |channel_| to be non-NULL. |
- GpuVideoDecoderHost* CreateVideoDecoder(int context_route_id); |
- |
- GpuVideoDecodeAcceleratorHost* CreateVideoAccelerator( |
- media::VideoDecodeAccelerator::Client* client); |
- |
- private: |
- // Guards all members other than |router_|. |
- base::Lock lock_; |
- |
- // Reference to the channel that the service listens to. |
- IPC::Channel* channel_; |
- |
- // Router to send messages to a GpuVideoDecoderHost. |
- MessageRouter router_; |
- |
- // ID for the next GpuVideoDecoderHost. |
- int32 next_decoder_host_id_; |
- |
- // Callback to invoke when initialized. |
- base::Closure on_initialized_; |
- |
- DISALLOW_COPY_AND_ASSIGN(GpuVideoServiceHost); |
-}; |
- |
-#endif // CONTENT_RENDERER_GPU_VIDEO_SERVICE_HOST_H_ |