Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(367)

Side by Side Diff: media/renderers/mock_gpu_video_accelerator_factories.cc

Issue 1133563010: Add a GpuMemoryBuffer pool that creates hardware backed VideoFrames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/renderers/mock_gpu_video_accelerator_factories.h" 5 #include "media/renderers/mock_gpu_video_accelerator_factories.h"
6 6
7 #include "ui/gfx/gpu_memory_buffer.h"
8
7 namespace media { 9 namespace media {
8 10
11 namespace {
12
13 class GpuMemoryBufferImpl : public gfx::GpuMemoryBuffer {
14 public:
15 GpuMemoryBufferImpl(const gfx::Size& size,
16 gfx::GpuMemoryBuffer::Format format)
17 : size_(size), format_(format) {
18 DCHECK_EQ(gfx::GpuMemoryBuffer::R_8, format);
reveman 2015/05/12 03:20:24 nit: move this to AllocateGpuMemoryBuffer and remo
Daniele Castagna 2015/05/12 21:21:29 Done.
19 bytes_.resize(size_.GetArea());
20 }
21
22 // Overridden from gfx::GpuMemoryBuffer:
23 bool Map(void** data) override {
24 data[0] = &bytes_[0];
25 return true;
26 }
27 void Unmap() override{};
28 bool IsMapped() const override {
29 NOTREACHED();
30 return false;
31 }
32 Format GetFormat() const override { return format_; }
33 void GetStride(int* stride) const override { stride[0] = size_.width(); }
34 gfx::GpuMemoryBufferHandle GetHandle() const override {
35 NOTREACHED();
36 return gfx::GpuMemoryBufferHandle();
37 }
38 ClientBuffer AsClientBuffer() override {
39 return reinterpret_cast<ClientBuffer>(this);
40 }
41
42 private:
43 std::vector<unsigned char> bytes_;
44 const gfx::Size size_;
45 gfx::GpuMemoryBuffer::Format format_;
46 };
47
48 } // unnamed namespace
49
9 MockGpuVideoAcceleratorFactories::MockGpuVideoAcceleratorFactories() {} 50 MockGpuVideoAcceleratorFactories::MockGpuVideoAcceleratorFactories() {}
10 51
11 MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() {} 52 MockGpuVideoAcceleratorFactories::~MockGpuVideoAcceleratorFactories() {}
12 53
54 scoped_ptr<gfx::GpuMemoryBuffer>
55 MockGpuVideoAcceleratorFactories::AllocateGpuMemoryBuffer(
56 const gfx::Size& size,
57 gfx::GpuMemoryBuffer::Format format,
58 gfx::GpuMemoryBuffer::Usage usage) {
59 return make_scoped_ptr<gfx::GpuMemoryBuffer>(
60 new GpuMemoryBufferImpl(size, format));
61 }
62
13 scoped_ptr<base::SharedMemory> 63 scoped_ptr<base::SharedMemory>
14 MockGpuVideoAcceleratorFactories::CreateSharedMemory(size_t size) { 64 MockGpuVideoAcceleratorFactories::CreateSharedMemory(size_t size) {
15 return nullptr; 65 return nullptr;
16 } 66 }
17 67
18 scoped_ptr<VideoDecodeAccelerator> 68 scoped_ptr<VideoDecodeAccelerator>
19 MockGpuVideoAcceleratorFactories::CreateVideoDecodeAccelerator() { 69 MockGpuVideoAcceleratorFactories::CreateVideoDecodeAccelerator() {
20 return scoped_ptr<VideoDecodeAccelerator>(DoCreateVideoDecodeAccelerator()); 70 return scoped_ptr<VideoDecodeAccelerator>(DoCreateVideoDecodeAccelerator());
21 } 71 }
22 72
23 scoped_ptr<VideoEncodeAccelerator> 73 scoped_ptr<VideoEncodeAccelerator>
24 MockGpuVideoAcceleratorFactories::CreateVideoEncodeAccelerator() { 74 MockGpuVideoAcceleratorFactories::CreateVideoEncodeAccelerator() {
25 return scoped_ptr<VideoEncodeAccelerator>(DoCreateVideoEncodeAccelerator()); 75 return scoped_ptr<VideoEncodeAccelerator>(DoCreateVideoEncodeAccelerator());
26 } 76 }
27 77
28 } // namespace media 78 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698