[feat] enable congestion controller

This commit is contained in:
dijunkun
2025-02-07 17:42:05 +08:00
parent 316a0220a8
commit 8d7068aa32
32 changed files with 184 additions and 46 deletions

View File

@@ -4,13 +4,14 @@
#include "rtp_packetizer_generic.h"
#include "rtp_packetizer_h264.h"
std::unique_ptr<RtpPacketizer> RtpPacketizer::Create(uint32_t payload_type) {
std::unique_ptr<RtpPacketizer> RtpPacketizer::Create(uint32_t payload_type,
uint32_t ssrc) {
switch (payload_type) {
case rtp::PAYLOAD_TYPE::H264:
return std::make_unique<RtpPacketizerH264>();
return std::make_unique<RtpPacketizerH264>(ssrc);
case rtp::PAYLOAD_TYPE::AV1:
return std::make_unique<RtpPacketizerAv1>();
return std::make_unique<RtpPacketizerAv1>(ssrc);
default:
return std::make_unique<RtpPacketizerGeneric>();
return std::make_unique<RtpPacketizerGeneric>(ssrc);
}
}

View File

@@ -15,7 +15,8 @@
class RtpPacketizer {
public:
static std::unique_ptr<RtpPacketizer> Create(uint32_t payload_type);
static std::unique_ptr<RtpPacketizer> Create(uint32_t payload_type,
uint32_t ssrc);
virtual ~RtpPacketizer() = default;

View File

@@ -1,6 +1,6 @@
#include "rtp_packetizer_av1.h"
RtpPacketizerAv1::RtpPacketizerAv1() {}
RtpPacketizerAv1::RtpPacketizerAv1(uint32_t ssrc) {}
RtpPacketizerAv1::~RtpPacketizerAv1() {}

View File

@@ -11,7 +11,7 @@
class RtpPacketizerAv1 : public RtpPacketizer {
public:
RtpPacketizerAv1();
RtpPacketizerAv1(uint32_t ssrc);
virtual ~RtpPacketizerAv1();

View File

@@ -1,6 +1,6 @@
#include "rtp_packetizer_generic.h"
RtpPacketizerGeneric::RtpPacketizerGeneric()
RtpPacketizerGeneric::RtpPacketizerGeneric(uint32_t ssrc)
: version_(kRtpVersion),
has_padding_(false),
has_extension_(true),
@@ -9,7 +9,7 @@ RtpPacketizerGeneric::RtpPacketizerGeneric()
payload_type_(rtp::PAYLOAD_TYPE::DATA),
sequence_number_(0),
timestamp_(0),
ssrc_(0),
ssrc_(ssrc),
profile_(0),
extension_profile_(0),
extension_len_(0),

View File

@@ -11,7 +11,7 @@
class RtpPacketizerGeneric : public RtpPacketizer {
public:
RtpPacketizerGeneric();
RtpPacketizerGeneric(uint32_t ssrc);
virtual ~RtpPacketizerGeneric();

View File

@@ -1,6 +1,6 @@
#include "rtp_packetizer_h264.h"
RtpPacketizerH264::RtpPacketizerH264()
RtpPacketizerH264::RtpPacketizerH264(uint32_t ssrc)
: version_(kRtpVersion),
has_padding_(false),
has_extension_(true),
@@ -9,7 +9,7 @@ RtpPacketizerH264::RtpPacketizerH264()
payload_type_(rtp::PAYLOAD_TYPE::H264),
sequence_number_(0),
timestamp_(0),
ssrc_(0),
ssrc_(ssrc),
profile_(0),
extension_profile_(0),
extension_len_(0),

View File

@@ -11,7 +11,7 @@
class RtpPacketizerH264 : public RtpPacketizer {
public:
RtpPacketizerH264();
RtpPacketizerH264(uint32_t ssrc);
virtual ~RtpPacketizerH264();