#include "third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame_delegate.h"
#include <utility>
#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
#include "third_party/blink/renderer/platform/bindings/exception_code.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/v8_binding.h"
#include "third_party/webrtc/api/frame_transformer_factory.h"
#include "third_party/webrtc/api/frame_transformer_interface.h"
namespace blink {
static constexpr char kRTCEncodedVideoFrameDetachKey[] = …;
const void* const RTCEncodedVideoFramesAttachment::kAttachmentKey = …;
RTCEncodedVideoFrameDelegate::RTCEncodedVideoFrameDelegate(
std::unique_ptr<webrtc::TransformableVideoFrameInterface> webrtc_frame)
: … { … }
String RTCEncodedVideoFrameDelegate::Type() const { … }
uint32_t RTCEncodedVideoFrameDelegate::RtpTimestamp() const { … }
std::optional<webrtc::Timestamp>
RTCEncodedVideoFrameDelegate::PresentationTimestamp() const { … }
DOMArrayBuffer* RTCEncodedVideoFrameDelegate::CreateDataBuffer(
v8::Isolate* isolate) const { … }
void RTCEncodedVideoFrameDelegate::SetData(const DOMArrayBuffer* data) { … }
std::optional<uint8_t> RTCEncodedVideoFrameDelegate::PayloadType() const { … }
std::optional<std::string> RTCEncodedVideoFrameDelegate::MimeType() const { … }
std::optional<webrtc::VideoFrameMetadata>
RTCEncodedVideoFrameDelegate::GetMetadata() const { … }
base::expected<void, String> RTCEncodedVideoFrameDelegate::SetMetadata(
const webrtc::VideoFrameMetadata& metadata,
uint32_t rtpTimestamp) { … }
std::unique_ptr<webrtc::TransformableVideoFrameInterface>
RTCEncodedVideoFrameDelegate::PassWebRtcFrame() { … }
std::unique_ptr<webrtc::TransformableVideoFrameInterface>
RTCEncodedVideoFrameDelegate::CloneWebRtcFrame() { … }
}