Index: webrtc/common_video/include/i420_buffer_pool.h |
diff --git a/webrtc/common_video/include/i420_buffer_pool.h b/webrtc/common_video/include/i420_buffer_pool.h |
index 5c9ab06a097f1afbd0013cc5c6439d7b62890552..1465ddf4ecd9991b2299ac739623861f7f88d727 100644 |
--- a/webrtc/common_video/include/i420_buffer_pool.h |
+++ b/webrtc/common_video/include/i420_buffer_pool.h |
@@ -30,14 +30,18 @@ class I420BufferPool { |
// Returns a buffer from the pool, or creates a new buffer if no suitable |
// buffer exists in the pool. |
- rtc::scoped_refptr<VideoFrameBuffer> CreateBuffer(int width, int height); |
+ rtc::scoped_refptr<I420Buffer> CreateBuffer(int width, int height); |
// Clears buffers_ and detaches the thread checker so that it can be reused |
// later from another thread. |
void Release(); |
private: |
+ // Explicitly use a RefCountedObject to get access to HasOneRef, |
+ // needed by the pool to check exclusive access. |
+ using PooledI420Buffer = rtc::RefCountedObject<I420Buffer>; |
+ |
rtc::ThreadChecker thread_checker_; |
- std::list<rtc::scoped_refptr<I420Buffer>> buffers_; |
+ std::list<rtc::scoped_refptr<PooledI420Buffer>> buffers_; |
// If true, newly allocated buffers are zero-initialized. Note that recycled |
// buffers are not zero'd before reuse. This is required of buffers used by |
// FFmpeg according to http://crbug.com/390941, which only requires it for the |