#include "third_party/blink/renderer/platform/peerconnection/instrumented_video_encoder_wrapper.h"
#include "base/numerics/safe_conversions.h"
#include "base/time/time.h"
#include "third_party/webrtc/modules/video_coding/include/video_error_codes.h"
namespace blink {
InstrumentedVideoEncoderWrapper::InstrumentedVideoEncoderWrapper(
int id,
std::unique_ptr<webrtc::VideoEncoder> wrapped_encoder,
VideoEncoderStateObserver* state_observer)
: … { … }
InstrumentedVideoEncoderWrapper::~InstrumentedVideoEncoderWrapper() { … }
int InstrumentedVideoEncoderWrapper::InitEncode(
const webrtc::VideoCodec* codec_settings,
const webrtc::VideoEncoder::Settings& settings) { … }
int32_t InstrumentedVideoEncoderWrapper::RegisterEncodeCompleteCallback(
webrtc::EncodedImageCallback* callback) { … }
int32_t InstrumentedVideoEncoderWrapper::Release() { … }
int32_t InstrumentedVideoEncoderWrapper::Encode(
const webrtc::VideoFrame& frame,
const std::vector<webrtc::VideoFrameType>* frame_types) { … }
void InstrumentedVideoEncoderWrapper::SetRates(
const RateControlParameters& parameters) { … }
void InstrumentedVideoEncoderWrapper::SetFecControllerOverride(
webrtc::FecControllerOverride* fec_controller_override) { … }
void InstrumentedVideoEncoderWrapper::OnPacketLossRateUpdate(
float packet_loss_rate) { … }
void InstrumentedVideoEncoderWrapper::OnRttUpdate(int64_t rtt_ms) { … }
void InstrumentedVideoEncoderWrapper::OnLossNotification(
const LossNotification& loss_notification) { … }
webrtc::VideoEncoder::EncoderInfo
InstrumentedVideoEncoderWrapper::GetEncoderInfo() const { … }
void InstrumentedVideoEncoderWrapper::ReportEncodeResult(
const VideoEncoderStateObserver::EncodeResult& result) { … }
webrtc::EncodedImageCallback::Result
InstrumentedVideoEncoderWrapper::OnEncodedImage(
const webrtc::EncodedImage& encoded_image,
const webrtc::CodecSpecificInfo* codec_specific_info) { … }
void InstrumentedVideoEncoderWrapper::OnDroppedFrame(
webrtc::EncodedImageCallback::DropReason reason) { … }
}