Index: common_video/include/video_frame_buffer.h |
diff --git a/common_video/include/video_frame_buffer.h b/common_video/include/video_frame_buffer.h |
index bc9d4f94a4e9f56154c8036c91361caf2e208c4d..af68fc20ca7faa0a55ad263c3664b2f8da9df71f 100644 |
--- a/common_video/include/video_frame_buffer.h |
+++ b/common_video/include/video_frame_buffer.h |
@@ -56,6 +56,35 @@ class WrappedI420Buffer : public I420BufferInterface { |
rtc::Callback0<void> no_longer_used_cb_; |
}; |
+class WrappedI420ABuffer : public I420BufferInterface { |
+ public: |
+ WrappedI420ABuffer(rtc::scoped_refptr<webrtc::VideoFrameBuffer> buffer, |
+ const uint8_t* a_plane, |
+ int a_stride, |
+ const rtc::Callback0<void>& alpha_no_longer_used_cb); |
+ int width() const override; |
+ int height() const override; |
+ |
+ const uint8_t* DataY() const override; |
+ const uint8_t* DataU() const override; |
+ const uint8_t* DataV() const override; |
+ const uint8_t* DataA() const override; |
+ int StrideY() const override; |
+ int StrideU() const override; |
+ int StrideV() const override; |
+ int StrideA() const override; |
+ |
+ private: |
+ friend class rtc::RefCountedObject<WrappedI420ABuffer>; |
+ ~WrappedI420ABuffer() override; |
+ |
+ rtc::scoped_refptr<webrtc::VideoFrameBuffer> buffer_; |
+ rtc::scoped_refptr<webrtc::I420BufferInterface> i420_buffer_; |
+ const uint8_t* const a_plane_; |
+ const int a_stride_; |
+ rtc::Callback0<void> alpha_no_longer_used_cb_; |
+}; |
+ |
rtc::scoped_refptr<I420BufferInterface> WrapI420Buffer( |
int width, |
int height, |