diff options
author | dcastagna <dcastagna@chromium.org> | 2015-06-22 13:38:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-22 20:39:40 +0000 |
commit | 40fa27fa1ad85af977c0dce6692ab9d74c90e4af (patch) | |
tree | bed040b6f6b4056f6cfa11ac091348fd5ed5169c /media/renderers | |
parent | 5804924345e69b015097a3a2508e519bb52bb351 (diff) | |
download | chromium_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.h | 2 | ||||
-rw-r--r-- | media/renderers/mock_gpu_video_accelerator_factories.cc | 4 | ||||
-rw-r--r-- | media/renderers/mock_gpu_video_accelerator_factories.h | 1 |
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*()); |