summaryrefslogtreecommitdiffstats
path: root/content/public/gpu/gpu_video_decode_accelerator_factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/public/gpu/gpu_video_decode_accelerator_factory.h')
-rw-r--r--content/public/gpu/gpu_video_decode_accelerator_factory.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/content/public/gpu/gpu_video_decode_accelerator_factory.h b/content/public/gpu/gpu_video_decode_accelerator_factory.h
deleted file mode 100644
index b02ceea..0000000
--- a/content/public/gpu/gpu_video_decode_accelerator_factory.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2016 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_PUBLIC_GPU_GPU_VIDEO_DECODE_ACCELERATOR_FACTORY_H_
-#define CONTENT_PUBLIC_GPU_GPU_VIDEO_DECODE_ACCELERATOR_FACTORY_H_
-
-#include "base/callback.h"
-#include "base/memory/weak_ptr.h"
-#include "content/common/content_export.h"
-#include "gpu/command_buffer/service/gpu_preferences.h"
-#include "gpu/config/gpu_info.h"
-#include "media/video/video_decode_accelerator.h"
-
-namespace gfx {
-class GLContext;
-}
-
-namespace gl {
-class GLImage;
-}
-
-namespace gpu {
-namespace gles2 {
-class GLES2Decoder;
-}
-}
-
-namespace content {
-
-class GpuVideoDecodeAcceleratorFactoryImpl;
-
-// This factory allows creation of VideoDecodeAccelerator implementations,
-// providing the most applicable VDA for current platform and given
-// configuration. To be used in GPU process only.
-class CONTENT_EXPORT GpuVideoDecodeAcceleratorFactory {
- public:
- virtual ~GpuVideoDecodeAcceleratorFactory();
-
- // Return current GLContext.
- using GetGLContextCallback = base::Callback<gfx::GLContext*(void)>;
-
- // Make the applicable GL context current. To be called by VDAs before
- // executing any GL calls. Return true on success, false otherwise.
- using MakeGLContextCurrentCallback = base::Callback<bool(void)>;
-
- // Bind |image| to |client_texture_id| given |texture_target|. If
- // |can_bind_to_sampler| is true, then the image may be used as a sampler
- // directly, otherwise a copy to a staging buffer is required.
- // Return true on success, false otherwise.
- using BindGLImageCallback =
- base::Callback<bool(uint32_t client_texture_id,
- uint32_t texture_target,
- const scoped_refptr<gl::GLImage>& image,
- bool can_bind_to_sampler)>;
-
- // Return a WeakPtr to a GLES2Decoder, if one is available.
- using GetGLES2DecoderCallback =
- base::Callback<base::WeakPtr<gpu::gles2::GLES2Decoder>(void)>;
-
- // Create a factory capable of producing VDA instances for current platform.
- static scoped_ptr<GpuVideoDecodeAcceleratorFactory> Create(
- const GetGLContextCallback& get_gl_context_cb,
- const MakeGLContextCurrentCallback& make_context_current_cb,
- const BindGLImageCallback& bind_image_cb);
-
- static scoped_ptr<GpuVideoDecodeAcceleratorFactory> CreateWithGLES2Decoder(
- const GetGLContextCallback& get_gl_context_cb,
- const MakeGLContextCurrentCallback& make_context_current_cb,
- const BindGLImageCallback& bind_image_cb,
- const GetGLES2DecoderCallback& get_gles2_decoder_cb);
-
- // Return decoder capabilities supported on the current platform.
- static gpu::VideoDecodeAcceleratorCapabilities GetDecoderCapabilities(
- const gpu::GpuPreferences& gpu_preferences);
-
- // Create a VDA for the current platform for |client| with the given |config|
- // and for given |gpu_preferences|. Return nullptr on failure.
- virtual scoped_ptr<media::VideoDecodeAccelerator> CreateVDA(
- media::VideoDecodeAccelerator::Client* client,
- const media::VideoDecodeAccelerator::Config& config,
- const gpu::GpuPreferences& gpu_preferences);
-
- private:
- // TODO(posciak): This is temporary and will not be needed once
- // GpuVideoDecodeAcceleratorFactoryImpl implements
- // GpuVideoDecodeAcceleratorFactory, see crbug.com/597150 and related.
- GpuVideoDecodeAcceleratorFactory(
- scoped_ptr<GpuVideoDecodeAcceleratorFactoryImpl> gvdafactory_impl);
-
- scoped_ptr<GpuVideoDecodeAcceleratorFactoryImpl> gvdafactory_impl_;
-};
-
-} // namespace content
-
-#endif // CONTENT_PUBLIC_GPU_GPU_VIDEO_DECODE_ACCELERATOR_FACTORY_H_