aboutsummaryrefslogtreecommitdiff
path: root/webrtc/common_video/i420_buffer_pool.cc
diff options
context:
space:
mode:
authorMagnus Jedvert <magjed@webrtc.org>2015-08-26 16:06:21 +0200
committerMagnus Jedvert <magjed@webrtc.org>2015-08-26 14:06:30 +0000
commit3318f984cd7f51d24da4726665c05f5f06f82e6d (patch)
tree9c227c43029819e5543d7f060b12ea8fd646846f /webrtc/common_video/i420_buffer_pool.cc
parent85ad62b87760213a1a453051d833c8c40e82d9bd (diff)
downloadwebrtc-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.cc10
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);