Index: media/renderers/mock_gpu_video_accelerator_factories.cc |
diff --git a/media/renderers/mock_gpu_video_accelerator_factories.cc b/media/renderers/mock_gpu_video_accelerator_factories.cc |
index c9f7824424cd6889cec388aa93d45f78d761b660..8dda0b2420ca040d7d3cbdd5de49f45a79f1c77a 100644 |
--- a/media/renderers/mock_gpu_video_accelerator_factories.cc |
+++ b/media/renderers/mock_gpu_video_accelerator_factories.cc |
@@ -4,12 +4,58 @@ |
#include "media/renderers/mock_gpu_video_accelerator_factories.h" |
+#include "ui/gfx/gpu_memory_buffer.h" |
+ |
namespace media { |
+namespace { |
+ |
+class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer { |
+ public: |
+ GpuMemoryBufferImpl(const gfx::Size& size) : size_(size) { |
+ bytes_.resize(size_.GetArea()); |
+ } |
+ |
+ // Overridden from gfx::GpuMemoryBuffer: |
+ bool Map(void** data) override { |
+ data[0] = &bytes_[0]; |
+ return true; |
+ } |
+ void Unmap() override{}; |
+ bool IsMapped() const override { |
+ NOTREACHED(); |
+ return false; |
+ } |
+ Format GetFormat() const override { return gfx::GpuMemoryBuffer::R_8; } |
+ void GetStride(int* stride) const override { stride[0] = size_.width(); } |
+ gfx::GpuMemoryBufferHandle GetHandle() const override { |
+ NOTREACHED(); |
+ return gfx::GpuMemoryBufferHandle(); |
+ } |
+ ClientBuffer AsClientBuffer() override { |
+ return reinterpret_cast<ClientBuffer>(this); |
+ } |
+ |
+ private: |
+ std::vector<unsigned char> bytes_; |
+ const gfx::Size size_; |
+}; |
+ |
+} // unnamed namespace |
+ |
MockGpuVideoAcceleratorFactories::MockGpuVideoAcceleratorFactories() {} |
MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() {} |
+scoped_ptr<gfx::GpuMemoryBuffer> |
+MockGpuVideoAcceleratorFactories::AllocateGpuMemoryBuffer( |
+ const gfx::Size& size, |
+ gfx::GpuMemoryBuffer::Format format, |
+ gfx::GpuMemoryBuffer::Usage usage) { |
+ DCHECK_EQ(gfx::GpuMemoryBuffer::R_8, format); |
+ return make_scoped_ptr<gfx::GpuMemoryBuffer>(new GpuMemoryBufferImpl(size)); |
+} |
+ |
scoped_ptr<base::SharedMemory> |
MockGpuVideoAcceleratorFactories::CreateSharedMemory(size_t size) { |
return nullptr; |