Chromium Code Reviews| Index: webrtc/common_video/i420_buffer_pool.cc |
| diff --git a/webrtc/common_video/i420_buffer_pool.cc b/webrtc/common_video/i420_buffer_pool.cc |
| index 98daec99f66fcf067ae75ad8998940c0f882f037..c70c14bb6ebbfa2e5e39bcbf6475c692a8917223 100644 |
| --- a/webrtc/common_video/i420_buffer_pool.cc |
| +++ b/webrtc/common_video/i420_buffer_pool.cc |
| @@ -53,7 +53,8 @@ class PooledI420Buffer : public webrtc::VideoFrameBuffer { |
| namespace webrtc { |
| -I420BufferPool::I420BufferPool() { |
| +I420BufferPool::I420BufferPool(bool zero_initialize) |
| + : zero_initialize_(zero_initialize) { |
| Release(); |
| } |
| @@ -83,7 +84,11 @@ rtc::scoped_refptr<VideoFrameBuffer> I420BufferPool::CreateBuffer(int width, |
| return new rtc::RefCountedObject<PooledI420Buffer>(buffer); |
| } |
| // Allocate new buffer. |
| - buffers_.push_back(new rtc::RefCountedObject<I420Buffer>(width, height)); |
| + rtc::scoped_refptr<I420Buffer> buffer = new rtc::RefCountedObject<I420Buffer>( |
| + width, height); |
| + if (zero_initialize_) |
| + memset(buffer->MutableData(kYPlane), 0, buffer->DataSize()); |
|
stefan-webrtc
2016/02/01 14:02:08
Is it safe to assume continuous memory here?
hbos
2016/02/02 16:13:03
Yes because it is a pool specifically for I420Buff
|
| + buffers_.push_back(buffer); |
| return new rtc::RefCountedObject<PooledI420Buffer>(buffers_.back()); |
| } |