#include "call/flexfec_receive_stream_impl.h"
#include <stddef.h>
#include <cstdint>
#include <string>
#include <utility>
#include "api/array_view.h"
#include "api/call/transport.h"
#include "api/rtp_parameters.h"
#include "call/rtp_stream_receiver_controller_interface.h"
#include "modules/rtp_rtcp/include/flexfec_receiver.h"
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/strings/string_builder.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {
std::string FlexfecReceiveStream::Config::ToString() const { … }
bool FlexfecReceiveStream::Config::IsCompleteAndEnabled() const { … }
namespace {
std::unique_ptr<FlexfecReceiver> MaybeCreateFlexfecReceiver(
Clock* clock,
const FlexfecReceiveStream::Config& config,
RecoveredPacketReceiver* recovered_packet_receiver) { … }
std::unique_ptr<ModuleRtpRtcpImpl2> CreateRtpRtcpModule(
Clock* clock,
ReceiveStatistics* receive_statistics,
const FlexfecReceiveStreamImpl::Config& config,
RtcpRttStats* rtt_stats) { … }
}
FlexfecReceiveStreamImpl::FlexfecReceiveStreamImpl(
Clock* clock,
Config config,
RecoveredPacketReceiver* recovered_packet_receiver,
RtcpRttStats* rtt_stats)
: … { … }
FlexfecReceiveStreamImpl::~FlexfecReceiveStreamImpl() { … }
void FlexfecReceiveStreamImpl::RegisterWithTransport(
RtpStreamReceiverControllerInterface* receiver_controller) { … }
void FlexfecReceiveStreamImpl::UnregisterFromTransport() { … }
void FlexfecReceiveStreamImpl::OnRtpPacket(const RtpPacketReceived& packet) { … }
void FlexfecReceiveStreamImpl::SetPayloadType(int payload_type) { … }
int FlexfecReceiveStreamImpl::payload_type() const { … }
void FlexfecReceiveStreamImpl::SetLocalSsrc(uint32_t local_ssrc) { … }
}