#include "media/cast/encoding/size_adaptable_video_encoder_base.h"
#include <utility>
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "media/base/video_encoder_metrics_provider.h"
#include "media/base/video_frame.h"
#include "media/cast/common/sender_encoded_frame.h"
namespace media {
namespace cast {
SizeAdaptableVideoEncoderBase::SizeAdaptableVideoEncoderBase(
const scoped_refptr<CastEnvironment>& cast_environment,
const FrameSenderConfig& video_config,
std::unique_ptr<VideoEncoderMetricsProvider> metrics_provider,
StatusChangeCallback status_change_cb)
: … { … }
SizeAdaptableVideoEncoderBase::~SizeAdaptableVideoEncoderBase() { … }
bool SizeAdaptableVideoEncoderBase::EncodeVideoFrame(
scoped_refptr<media::VideoFrame> video_frame,
base::TimeTicks reference_time,
FrameEncodedCallback frame_encoded_callback) { … }
void SizeAdaptableVideoEncoderBase::SetBitRate(int new_bit_rate) { … }
void SizeAdaptableVideoEncoderBase::GenerateKeyFrame() { … }
std::unique_ptr<VideoFrameFactory>
SizeAdaptableVideoEncoderBase::CreateVideoFrameFactory() { … }
void SizeAdaptableVideoEncoderBase::EmitFrames() { … }
StatusChangeCallback
SizeAdaptableVideoEncoderBase::CreateEncoderStatusChangeCallback() { … }
void SizeAdaptableVideoEncoderBase::OnEncoderReplaced(
VideoEncoder* replacement_encoder) { … }
void SizeAdaptableVideoEncoderBase::DestroyEncoder() { … }
void SizeAdaptableVideoEncoderBase::TrySpawningReplacementEncoder(
const gfx::Size& size_needed) { … }
void SizeAdaptableVideoEncoderBase::OnEncoderStatusChange(
OperationalStatus status) { … }
void SizeAdaptableVideoEncoderBase::OnEncodedVideoFrame(
FrameEncodedCallback frame_encoded_callback,
std::unique_ptr<SenderEncodedFrame> encoded_frame) { … }
}
}