Remove deprecated interface in I420BufferInterface::GetI420

Bug: none
Change-Id: I55895a360308fd0be79099f2466a7487ef10ce47
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134463
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27841}
This commit is contained in:
Ilya Nikolaevskiy
2019-05-03 11:39:26 +02:00
committed by Commit Bot
parent e360c09c86
commit a8507e359b
6 changed files with 18 additions and 43 deletions

View File

@ -14,26 +14,10 @@
namespace webrtc {
rtc::scoped_refptr<I420BufferInterface> VideoFrameBuffer::GetI420() {
if (type() == Type::kI420 || type() == Type::kI420A) {
return static_cast<I420BufferInterface*>(this);
} else {
return nullptr;
}
}
rtc::scoped_refptr<const I420BufferInterface> VideoFrameBuffer::GetI420()
const {
if (type() == Type::kI420 || type() == Type::kI420A) {
return static_cast<const I420BufferInterface*>(this);
} else {
return nullptr;
}
}
I420ABufferInterface* VideoFrameBuffer::GetI420A() {
RTC_CHECK(type() == Type::kI420A);
return static_cast<I420ABufferInterface*>(this);
const I420BufferInterface* VideoFrameBuffer::GetI420() const {
// Overridden by subclasses that can return an I420 buffer without any
// conversion, in particular, I420BufferInterface.
return nullptr;
}
const I420ABufferInterface* VideoFrameBuffer::GetI420A() const {
@ -41,21 +25,11 @@ const I420ABufferInterface* VideoFrameBuffer::GetI420A() const {
return static_cast<const I420ABufferInterface*>(this);
}
I444BufferInterface* VideoFrameBuffer::GetI444() {
RTC_CHECK(type() == Type::kI444);
return static_cast<I444BufferInterface*>(this);
}
const I444BufferInterface* VideoFrameBuffer::GetI444() const {
RTC_CHECK(type() == Type::kI444);
return static_cast<const I444BufferInterface*>(this);
}
I010BufferInterface* VideoFrameBuffer::GetI010() {
RTC_CHECK(type() == Type::kI010);
return static_cast<I010BufferInterface*>(this);
}
const I010BufferInterface* VideoFrameBuffer::GetI010() const {
RTC_CHECK(type() == Type::kI010);
return static_cast<const I010BufferInterface*>(this);
@ -77,6 +51,10 @@ rtc::scoped_refptr<I420BufferInterface> I420BufferInterface::ToI420() {
return this;
}
const I420BufferInterface* I420BufferInterface::GetI420() const {
return this;
}
VideoFrameBuffer::Type I420ABufferInterface::type() const {
return Type::kI420A;
}

View File

@ -71,18 +71,12 @@ class VideoFrameBuffer : public rtc::RefCountInterface {
// WebrtcVideoFrameAdapter in Chrome - it's I420 buffer backed by a shared
// memory buffer. Therefore it must have type kNative. Yet, ToI420()
// doesn't affect binary data at all. Another example is any I420A buffer.
// TODO(magjed): Return raw pointers for GetI420 once deprecated interface is
// removed.
virtual rtc::scoped_refptr<I420BufferInterface> GetI420();
virtual rtc::scoped_refptr<const I420BufferInterface> GetI420() const;
virtual const I420BufferInterface* GetI420() const;
// These functions should only be called if type() is of the correct type.
// Calling with a different type will result in a crash.
I420ABufferInterface* GetI420A();
const I420ABufferInterface* GetI420A() const;
I444BufferInterface* GetI444();
const I444BufferInterface* GetI444() const;
I010BufferInterface* GetI010();
const I010BufferInterface* GetI010() const;
protected:
@ -127,6 +121,7 @@ class I420BufferInterface : public PlanarYuv8Buffer {
int ChromaHeight() const final;
rtc::scoped_refptr<I420BufferInterface> ToI420() final;
const I420BufferInterface* GetI420() const final;
protected:
~I420BufferInterface() override {}