Index: content/browser/renderer_host/media/video_capture_buffer_pool.cc |
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool.cc b/content/browser/renderer_host/media/video_capture_buffer_pool.cc |
index 468faafddb6a937cafdc3ad660302297e8d7fddd..b358021bfbec005a9ebb8d103a1703ed35604cc2 100644 |
--- a/content/browser/renderer_host/media/video_capture_buffer_pool.cc |
+++ b/content/browser/renderer_host/media/video_capture_buffer_pool.cc |
@@ -64,29 +64,23 @@ class SimpleBufferHandle final : public VideoCaptureBufferPool::BufferHandle { |
class GpuMemoryBufferBufferHandle final |
: public VideoCaptureBufferPool::BufferHandle { |
public: |
- GpuMemoryBufferBufferHandle(const std::vector<void*>& data, |
- const gfx::Size& dimensions, |
+ GpuMemoryBufferBufferHandle(const gfx::Size& dimensions, |
ScopedVector<gfx::GpuMemoryBuffer>* gmbs) |
- : data_(data), dimensions_(dimensions), gmbs_(gmbs) { |
-#ifndef NDEBUG |
- DCHECK_EQ(data.size(), gmbs->size()); |
- for (const auto& gmb : *gmbs) |
- DCHECK(gmb); |
- for (const auto& data_ptr : data) |
- DCHECK(data_ptr); |
-#endif |
+ : dimensions_(dimensions), gmbs_(gmbs) { |
+ DCHECK(gmbs); |
} |
~GpuMemoryBufferBufferHandle() override {} |
gfx::Size dimensions() const override { return dimensions_; } |
size_t mapped_size() const override { return dimensions_.GetArea(); } |
void* data(int plane) override { |
- DCHECK_GE(plane, media::VideoFrame::kYPlane); |
- DCHECK_LT(plane, static_cast<int>(data_.size())); |
- return data_.at(plane); |
+ DCHECK_GE(plane, 0); |
+ DCHECK_LT(plane, static_cast<int>(gmbs_->size())); |
+ DCHECK((*gmbs_)[plane]); |
+ return (*gmbs_)[plane]->memory(0); |
} |
ClientBuffer AsClientBuffer(int plane) override { |
- DCHECK_GE(plane, media::VideoFrame::kYPlane); |
+ DCHECK_GE(plane, 0); |
DCHECK_LT(plane, static_cast<int>(gmbs_->size())); |
return (*gmbs_)[plane]->AsClientBuffer(); |
} |
@@ -98,7 +92,6 @@ class GpuMemoryBufferBufferHandle final |
#endif |
private: |
- const std::vector<void*> data_; |
const gfx::Size dimensions_; |
ScopedVector<gfx::GpuMemoryBuffer>* const gmbs_; |
}; |
@@ -145,13 +138,10 @@ class VideoCaptureBufferPool::GpuMemoryBufferTracker final : public Tracker { |
~GpuMemoryBufferTracker() override; |
scoped_ptr<BufferHandle> GetBufferHandle() override { |
- std::vector<void*> data; |
DCHECK_EQ(gpu_memory_buffers_.size(), |
media::VideoFrame::NumPlanes(pixel_format())); |
- for (const auto& gmb : gpu_memory_buffers_) |
- data.push_back(gmb->memory(0)); |
- return make_scoped_ptr(new GpuMemoryBufferBufferHandle( |
- data, dimensions_, &gpu_memory_buffers_)); |
+ return make_scoped_ptr( |
+ new GpuMemoryBufferBufferHandle(dimensions_, &gpu_memory_buffers_)); |
} |
bool ShareToProcess(base::ProcessHandle process_handle, |
base::SharedMemoryHandle* new_handle) override { |