#include "video/encoder_rtcp_feedback.h"
#include <algorithm>
#include <utility>
#include "absl/types/optional.h"
#include "api/environment/environment.h"
#include "api/video_codecs/video_encoder.h"
#include "rtc_base/checks.h"
#include "rtc_base/experiments/keyframe_interval_settings.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {
namespace {
constexpr int kMinKeyframeSendIntervalMs = …;
}
EncoderRtcpFeedback::EncoderRtcpFeedback(
const Environment& env,
bool per_layer_keyframes,
const std::vector<uint32_t>& ssrcs,
VideoStreamEncoderInterface* encoder,
std::function<std::vector<RtpSequenceNumberMap::Info>(
uint32_t ssrc,
const std::vector<uint16_t>& seq_nums)> get_packet_infos)
: … { … }
void EncoderRtcpFeedback::OnReceivedIntraFrameRequest(uint32_t ssrc) { … }
void EncoderRtcpFeedback::OnReceivedLossNotification(
uint32_t ssrc,
uint16_t seq_num_of_last_decodable,
uint16_t seq_num_of_last_received,
bool decodability_flag) { … }
}