summaryrefslogtreecommitdiffstats
path: root/media/renderers
diff options
context:
space:
mode:
authordcastagna <dcastagna@chromium.org>2015-06-22 13:38:59 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-22 20:39:40 +0000
commit40fa27fa1ad85af977c0dce6692ab9d74c90e4af (patch)
treebed040b6f6b4056f6cfa11ac091348fd5ed5169c /media/renderers
parent5804924345e69b015097a3a2508e519bb52bb351 (diff)
downloadchromium_src-40fa27fa1ad85af977c0dce6692ab9d74c90e4af.zip
chromium_src-40fa27fa1ad85af977c0dce6692ab9d74c90e4af.tar.gz
chromium_src-40fa27fa1ad85af977c0dce6692ab9d74c90e4af.tar.bz2
media: Always instantiate GpuVideoAcceleratorFactories.
Prior to this patch GpuVideoAcceleratorFactories would be instantiated only if |kDisableAcceleratedVideoDecode| flag was not set. GpuVideoAcceleratorFactories is not only used for video encoding/decoding acceleration but also for creating GPU resources in media. This patch adds a boolean flag to GpuVideoAcceleratorFactories that is set only if |kDisableAcceleratedVideoDecode| is not set and always creates GpuVideoAcceleratorFactories when a GPU context can be obtained. BUG= Review URL: https://codereview.chromium.org/1185603003 Cr-Commit-Position: refs/heads/master@{#335552}
Diffstat (limited to 'media/renderers')
-rw-r--r--media/renderers/gpu_video_accelerator_factories.h2
-rw-r--r--media/renderers/mock_gpu_video_accelerator_factories.cc4
-rw-r--r--media/renderers/mock_gpu_video_accelerator_factories.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/media/renderers/gpu_video_accelerator_factories.h b/media/renderers/gpu_video_accelerator_factories.h
index 0c81189d..7a8c387 100644
--- a/media/renderers/gpu_video_accelerator_factories.h
+++ b/media/renderers/gpu_video_accelerator_factories.h
@@ -41,6 +41,8 @@ class VideoDecodeAccelerator;
class MEDIA_EXPORT GpuVideoAcceleratorFactories
: public base::RefCountedThreadSafe<GpuVideoAcceleratorFactories> {
public:
+ // Return whether GPU encoding/decoding is enabled.
+ virtual bool IsGpuVideoAcceleratorEnabled() = 0;
// Caller owns returned pointer, but should call Destroy() on it (instead of
// directly deleting) for proper destruction, as per the
// VideoDecodeAccelerator interface.
diff --git a/media/renderers/mock_gpu_video_accelerator_factories.cc b/media/renderers/mock_gpu_video_accelerator_factories.cc
index d4f41a8..a1f49e4 100644
--- a/media/renderers/mock_gpu_video_accelerator_factories.cc
+++ b/media/renderers/mock_gpu_video_accelerator_factories.cc
@@ -47,6 +47,10 @@ MockGpuVideoAcceleratorFactories::MockGpuVideoAcceleratorFactories() {}
MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() {}
+bool MockGpuVideoAcceleratorFactories::IsGpuVideoAcceleratorEnabled() {
+ return true;
+}
+
scoped_ptr<gfx::GpuMemoryBuffer>
MockGpuVideoAcceleratorFactories::AllocateGpuMemoryBuffer(
const gfx::Size& size,
diff --git a/media/renderers/mock_gpu_video_accelerator_factories.h b/media/renderers/mock_gpu_video_accelerator_factories.h
index 6eeefa3..b50b0c1 100644
--- a/media/renderers/mock_gpu_video_accelerator_factories.h
+++ b/media/renderers/mock_gpu_video_accelerator_factories.h
@@ -25,6 +25,7 @@ class MockGpuVideoAcceleratorFactories : public GpuVideoAcceleratorFactories {
public:
MockGpuVideoAcceleratorFactories();
+ bool IsGpuVideoAcceleratorEnabled() override;
// CreateVideo{Decode,Encode}Accelerator returns scoped_ptr, which the mocking
// framework does not want. Trampoline them.
MOCK_METHOD0(DoCreateVideoDecodeAccelerator, VideoDecodeAccelerator*());