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:
parent
a728e02b93
commit
571f417db4
1 changed files with 5 additions and 23 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue