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..82a10797b353d3b9978411f1ce9e1c7edf878748 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_) |
+ buffer->InitializeData(); |
+ buffers_.push_back(buffer); |
return new rtc::RefCountedObject<PooledI420Buffer>(buffers_.back()); |
} |