mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
RTC: Add RTX desc
This commit is contained in:
parent
9f2aaef283
commit
87a4c63130
2 changed files with 59 additions and 0 deletions
|
@ -1138,11 +1138,13 @@ SrsMediaPayloadType SrsCodecPayload::generate_media_payload_type()
|
|||
|
||||
SrsVideoPayload::SrsVideoPayload()
|
||||
{
|
||||
type_ = "video";
|
||||
}
|
||||
|
||||
SrsVideoPayload::SrsVideoPayload(uint8_t pt, std::string encode_name, int sample)
|
||||
:SrsCodecPayload(pt, encode_name, sample)
|
||||
{
|
||||
type_ = "video";
|
||||
h264_param_.profile_level_id = "";
|
||||
h264_param_.packetization_mode = "";
|
||||
h264_param_.level_asymmerty_allow = "";
|
||||
|
@ -1224,11 +1226,13 @@ srs_error_t SrsVideoPayload::set_h264_param_desc(std::string fmtp)
|
|||
|
||||
SrsAudioPayload::SrsAudioPayload()
|
||||
{
|
||||
type_ = "audio";
|
||||
}
|
||||
|
||||
SrsAudioPayload::SrsAudioPayload(uint8_t pt, std::string encode_name, int sample, int channel)
|
||||
:SrsCodecPayload(pt, encode_name, sample)
|
||||
{
|
||||
type_ = "audio";
|
||||
channel_ = channel;
|
||||
opus_param_.minptime = 0;
|
||||
opus_param_.use_inband_fec = false;
|
||||
|
@ -1344,6 +1348,47 @@ SrsMediaPayloadType SrsRedPayload::generate_media_payload_type()
|
|||
return media_payload_type;
|
||||
}
|
||||
|
||||
SrsRtxPayloadDes::SrsRtxPayloadDes()
|
||||
{
|
||||
}
|
||||
|
||||
SrsRtxPayloadDes::SrsRtxPayloadDes(uint8_t pt, uint8_t apt):SrsCodecPayload(pt, "rtx", 8000), apt_(apt)
|
||||
{
|
||||
}
|
||||
|
||||
SrsRtxPayloadDes::~SrsRtxPayloadDes()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
SrsRtxPayloadDes* SrsRtxPayloadDes::copy()
|
||||
{
|
||||
SrsRtxPayloadDes* cp = new SrsRtxPayloadDes();
|
||||
|
||||
cp->type_ = type_;
|
||||
cp->pt_ = pt_;
|
||||
cp->name_ = name_;
|
||||
cp->sample_ = sample_;
|
||||
cp->rtcp_fbs_ = rtcp_fbs_;
|
||||
cp->apt_ = apt_;
|
||||
|
||||
return cp;
|
||||
}
|
||||
|
||||
SrsMediaPayloadType SrsRtxPayloadDes::generate_media_payload_type()
|
||||
{
|
||||
SrsMediaPayloadType media_payload_type(pt_);
|
||||
|
||||
media_payload_type.encoding_name_ = name_;
|
||||
media_payload_type.clock_rate_ = sample_;
|
||||
std::ostringstream format_specific_param;
|
||||
format_specific_param << "fmtp:" << pt_ << " apt="<< apt_;
|
||||
|
||||
media_payload_type.format_specific_param_ = format_specific_param.str();
|
||||
|
||||
return media_payload_type;
|
||||
}
|
||||
|
||||
SrsRtcTrackDescription::SrsRtcTrackDescription()
|
||||
{
|
||||
ssrc_ = 0;
|
||||
|
|
|
@ -330,6 +330,20 @@ public:
|
|||
virtual SrsMediaPayloadType generate_media_payload_type();
|
||||
};
|
||||
|
||||
class SrsRtxPayloadDes : public SrsCodecPayload
|
||||
{
|
||||
public:
|
||||
uint8_t apt_;
|
||||
public:
|
||||
SrsRtxPayloadDes();
|
||||
SrsRtxPayloadDes(uint8_t pt, uint8_t apt);
|
||||
virtual ~SrsRtxPayloadDes();
|
||||
|
||||
public:
|
||||
virtual SrsRtxPayloadDes* copy();
|
||||
virtual SrsMediaPayloadType generate_media_payload_type();
|
||||
};
|
||||
|
||||
class SrsRtcTrackDescription
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Reference in a new issue