diff options
author | Magnus Jedvert <magjed@webrtc.org> | 2015-08-26 16:06:21 +0200 |
---|---|---|
committer | Magnus Jedvert <magjed@webrtc.org> | 2015-08-26 14:06:30 +0000 |
commit | 3318f984cd7f51d24da4726665c05f5f06f82e6d (patch) | |
tree | 9c227c43029819e5543d7f060b12ea8fd646846f /webrtc/common_video/i420_buffer_pool.cc | |
parent | 85ad62b87760213a1a453051d833c8c40e82d9bd (diff) | |
download | webrtc-3318f984cd7f51d24da4726665c05f5f06f82e6d.tar.gz |
VideoFrameBuffer: Make non-const data access explicit
VideoFrameBuffer currently has two overloaded data() functions for pixel access, one for const and one for non-const. Unfortunately, it will default to the non-const version, even when 'const scoped_refptr<VideoFrameBuffer>&' is used. This is a problem, because many subclasses use RTC_NOTREACHED() in the non-const version.
This CL makes the non-const version of data() explicit with a different, longer function name MutableData().
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1304143003 .
Cr-Commit-Position: refs/heads/master@{#9787}
Diffstat (limited to 'webrtc/common_video/i420_buffer_pool.cc')
-rw-r--r-- | webrtc/common_video/i420_buffer_pool.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/webrtc/common_video/i420_buffer_pool.cc b/webrtc/common_video/i420_buffer_pool.cc index 4b8695824c..cb1f4d4022 100644 --- a/webrtc/common_video/i420_buffer_pool.cc +++ b/webrtc/common_video/i420_buffer_pool.cc @@ -27,13 +27,13 @@ class PooledI420Buffer : public webrtc::VideoFrameBuffer { int width() const override { return buffer_->width(); } int height() const override { return buffer_->height(); } const uint8_t* data(webrtc::PlaneType type) const override { - const webrtc::I420Buffer* cbuffer = buffer_.get(); - return cbuffer->data(type); + return buffer_->data(type); } - uint8_t* data(webrtc::PlaneType type) { + uint8_t* MutableData(webrtc::PlaneType type) override { + // Make the HasOneRef() check here instead of in |buffer_|, because the pool + // also has a reference to |buffer_|. DCHECK(HasOneRef()); - const webrtc::I420Buffer* cbuffer = buffer_.get(); - return const_cast<uint8_t*>(cbuffer->data(type)); + return const_cast<uint8_t*>(buffer_->data(type)); } int stride(webrtc::PlaneType type) const override { return buffer_->stride(type); |