mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Ignore NACK when disable for player.
This commit is contained in:
parent
f831e9240e
commit
0aeaf442f7
3 changed files with 56 additions and 13 deletions
|
@ -1729,6 +1729,7 @@ SrsRtcRecvTrack::SrsRtcRecvTrack(SrsRtcConnection* session, SrsRtcTrackDescripti
|
|||
session_ = session;
|
||||
track_desc_ = track_desc->copy();
|
||||
statistic_ = new SrsRtcTrackStatistic();
|
||||
nack_enabled_ = false;
|
||||
|
||||
if (is_audio) {
|
||||
rtp_queue_ = new SrsRtpRingBuffer(100);
|
||||
|
@ -1749,6 +1750,11 @@ SrsRtcRecvTrack::~SrsRtcRecvTrack()
|
|||
srs_freep(statistic_);
|
||||
}
|
||||
|
||||
void SrsRtcRecvTrack::set_nack_enabled(bool v)
|
||||
{
|
||||
nack_enabled_ = v;
|
||||
}
|
||||
|
||||
bool SrsRtcRecvTrack::has_ssrc(uint32_t ssrc)
|
||||
{
|
||||
return track_desc_->has_ssrc(ssrc);
|
||||
|
@ -1872,7 +1878,7 @@ void SrsRtcAudioRecvTrack::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffe
|
|||
*ppt = SrsRtpPacketPayloadTypeRaw;
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcAudioRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pkt, bool nack_enabled)
|
||||
srs_error_t SrsRtcAudioRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
|
@ -1888,7 +1894,7 @@ srs_error_t SrsRtcAudioRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pk
|
|||
}
|
||||
|
||||
// For NACK to handle packet.
|
||||
if (nack_enabled && (err = on_nack(pkt)) != srs_success) {
|
||||
if (nack_enabled_ && (err = on_nack(pkt)) != srs_success) {
|
||||
return srs_error_wrap(err, "on nack");
|
||||
}
|
||||
|
||||
|
@ -1938,7 +1944,7 @@ void SrsRtcVideoRecvTrack::on_before_decode_payload(SrsRtpPacket2* pkt, SrsBuffe
|
|||
}
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcVideoRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pkt, bool nack_enabled)
|
||||
srs_error_t SrsRtcVideoRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pkt)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
|
@ -1956,7 +1962,7 @@ srs_error_t SrsRtcVideoRecvTrack::on_rtp(SrsRtcStream* source, SrsRtpPacket2* pk
|
|||
}
|
||||
|
||||
// For NACK to handle packet.
|
||||
if (nack_enabled && (err = on_nack(pkt)) != srs_success) {
|
||||
if ((err = on_nack(pkt)) != srs_success) {
|
||||
return srs_error_wrap(err, "on nack");
|
||||
}
|
||||
|
||||
|
@ -1990,6 +1996,7 @@ SrsRtcSendTrack::SrsRtcSendTrack(SrsRtcConnection* session, SrsRtcTrackDescripti
|
|||
session_ = session;
|
||||
track_desc_ = track_desc->copy();
|
||||
statistic_ = new SrsRtcTrackStatistic();
|
||||
nack_enabled_ = false;
|
||||
|
||||
if (is_audio) {
|
||||
rtp_queue_ = new SrsRtpRingBuffer(100);
|
||||
|
@ -2008,6 +2015,11 @@ SrsRtcSendTrack::~SrsRtcSendTrack()
|
|||
srs_freep(nack_epp);
|
||||
}
|
||||
|
||||
void SrsRtcSendTrack::set_nack_enabled(bool v)
|
||||
{
|
||||
nack_enabled_ = v;
|
||||
}
|
||||
|
||||
bool SrsRtcSendTrack::has_ssrc(uint32_t ssrc)
|
||||
{
|
||||
return track_desc_->has_ssrc(ssrc);
|
||||
|
@ -2119,7 +2131,7 @@ srs_error_t SrsRtcAudioSendTrack::on_rtp(SrsRtpPacket2* pkt)
|
|||
}
|
||||
|
||||
// Put rtp packet to NACK/ARQ queue
|
||||
if (true) {
|
||||
if (nack_enabled_) {
|
||||
SrsRtpPacket2* nack = pkt->copy();
|
||||
rtp_queue_->set(nack->header.get_sequence(), nack);
|
||||
}
|
||||
|
@ -2179,7 +2191,7 @@ srs_error_t SrsRtcVideoSendTrack::on_rtp(SrsRtpPacket2* pkt)
|
|||
}
|
||||
|
||||
// Put rtp packet to NACK/ARQ queue
|
||||
if (true) {
|
||||
if (nack_enabled_) {
|
||||
SrsRtpPacket2* nack = pkt->copy();
|
||||
rtp_queue_->set(nack->header.get_sequence(), nack);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue