/* * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h" #include #include #include "api/video/video_frame_buffer.h" namespace webrtc { AugmentedVideoFrameBuffer::AugmentedVideoFrameBuffer( const rtc::scoped_refptr& video_frame_buffer, std::unique_ptr augmenting_data, uint16_t augmenting_data_size) : augmenting_data_size_(augmenting_data_size), augmenting_data_(std::move(augmenting_data)), video_frame_buffer_(video_frame_buffer) {} rtc::scoped_refptr AugmentedVideoFrameBuffer::GetVideoFrameBuffer() const { return video_frame_buffer_; } uint8_t* AugmentedVideoFrameBuffer::GetAugmentingData() const { return augmenting_data_.get(); } uint16_t AugmentedVideoFrameBuffer::GetAugmentingDataSize() const { return augmenting_data_size_; } VideoFrameBuffer::Type AugmentedVideoFrameBuffer::type() const { return video_frame_buffer_->type(); } int AugmentedVideoFrameBuffer::width() const { return video_frame_buffer_->width(); } int AugmentedVideoFrameBuffer::height() const { return video_frame_buffer_->height(); } rtc::scoped_refptr AugmentedVideoFrameBuffer::ToI420() { return video_frame_buffer_->ToI420(); } const I420BufferInterface* AugmentedVideoFrameBuffer::GetI420() const { // TODO(https://crbug.com/webrtc/12021): When AugmentedVideoFrameBuffer is // updated to implement the buffer interfaces of relevant // VideoFrameBuffer::Types, stop overriding GetI420() as a workaround to // AugmentedVideoFrameBuffer not being the type that is returned by type(). return video_frame_buffer_->GetI420(); } } // namespace webrtc