1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 11:51:57 +00:00

RTC: Refine RTCP packets parsing

This commit is contained in:
winlin 2020-08-11 09:50:17 +08:00
parent a728e02b93
commit 571f417db4

View file

@ -1725,30 +1725,12 @@ srs_error_t SrsRtcConnection::dispatch_rtcp(SrsRtcpCommon* rtcp)
{
srs_error_t err = srs_success;
if(SrsRtcpType_sr == rtcp->type()) {
return publisher_->on_rtcp(rtcp);
} else if(SrsRtcpType_rr == rtcp->type()) {
SrsRtcpRR* rr = dynamic_cast<SrsRtcpRR*>(rtcp);
if (rr->get_rb_ssrc()) {
return player_->on_rtcp(rtcp);
}
} else if(SrsRtcpType_rtpfb == rtcp->type()) {
if(1 == rtcp->get_rc()) {
//nack
return player_->on_rtcp(rtcp);
} else if(15 == rtcp->get_rc()) {
// twcc
return on_rtcp_feedback(rtcp->data(), rtcp->size());
}
} else if(SrsRtcpType_psfb == rtcp->type()) {
if (player_) {
return player_->on_rtcp(rtcp);
} else {
if (player_) {
return player_->on_rtcp(rtcp);
}
if (publisher_) {
return publisher_->on_rtcp(rtcp);
}
}
if (publisher_) {
return publisher_->on_rtcp(rtcp);
}
return err;