From f149c84dd06ebbcfdb6f8ca43270947ffdaa14e9 Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 5 Aug 2020 17:24:26 +0800 Subject: [PATCH] RTC: Check error for send_rtcp_rr --- trunk/src/app/srs_app_rtc_conn.cpp | 19 +++++++++++-------- trunk/src/app/srs_app_rtc_source.cpp | 10 ++++++++-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/trunk/src/app/srs_app_rtc_conn.cpp b/trunk/src/app/srs_app_rtc_conn.cpp index 676856023..7c9a14faa 100644 --- a/trunk/src/app/srs_app_rtc_conn.cpp +++ b/trunk/src/app/srs_app_rtc_conn.cpp @@ -958,12 +958,16 @@ srs_error_t SrsRtcPublishStream::send_rtcp_xr_rrtr() for (int i = 0; i < (int)video_tracks_.size(); ++i) { SrsRtcVideoRecvTrack* track = video_tracks_.at(i); - track->send_rtcp_xr_rrtr(); + if ((err = track->send_rtcp_xr_rrtr()) != srs_success) { + return srs_error_wrap(err, "track=%s", track->get_track_id().c_str()); + } } for (int i = 0; i < (int)audio_tracks_.size(); ++i) { SrsRtcAudioRecvTrack* track = audio_tracks_.at(i); - track->send_rtcp_xr_rrtr(); + if ((err = track->send_rtcp_xr_rrtr()) != srs_success) { + return srs_error_wrap(err, "track=%s", track->get_track_id().c_str()); + } } session_->stat_->nn_xr++; @@ -1521,8 +1525,10 @@ srs_error_t SrsRtcPublishStream::notify(int type, srs_utime_t interval, srs_utim srs_freep(err); } - // TODO: FIXME: Check error. - send_rtcp_xr_rrtr(); + if ((err = send_rtcp_xr_rrtr()) != srs_success) { + srs_warn("XR err %s", srs_error_desc(err).c_str()); + srs_freep(err); + } // TODO: FIXME: Check error. // We should not depends on the received packet, @@ -2197,10 +2203,7 @@ srs_error_t SrsRtcConnection::send_rtcp_xr_rrtr(uint32_t ssrc) return srs_error_wrap(err, "protect rtcp xr"); } - // TDOO: FIXME: Check error. - sendonly_skt->sendto(protected_buf, nb_protected_buf, 0); - - return err; + return sendonly_skt->sendto(protected_buf, nb_protected_buf, 0); } srs_error_t SrsRtcConnection::send_rtcp_fb_pli(uint32_t ssrc) diff --git a/trunk/src/app/srs_app_rtc_source.cpp b/trunk/src/app/srs_app_rtc_source.cpp index 21b66ecf0..d4648b0c3 100644 --- a/trunk/src/app/srs_app_rtc_source.cpp +++ b/trunk/src/app/srs_app_rtc_source.cpp @@ -1569,7 +1569,7 @@ srs_error_t SrsRtcRecvTrack::send_rtcp_rr() uint32_t ssrc = track_desc_->ssrc_; const uint64_t& last_time = last_sender_report_sys_time; if ((err = session_->send_rtcp_rr(ssrc, rtp_queue_, last_time, last_sender_report_ntp)) != srs_success) { - return srs_error_wrap(err, "send RR ssrc=%u, last_time=%" PRId64, ssrc, last_time); + return srs_error_wrap(err, "ssrc=%u, last_time=%" PRId64, ssrc, last_time); } return err; @@ -1577,7 +1577,13 @@ srs_error_t SrsRtcRecvTrack::send_rtcp_rr() srs_error_t SrsRtcRecvTrack::send_rtcp_xr_rrtr() { - return session_->send_rtcp_xr_rrtr(track_desc_->ssrc_); + srs_error_t err = srs_success; + + if ((err = session_->send_rtcp_xr_rrtr(track_desc_->ssrc_)) != srs_success) { + return srs_error_wrap(err, "ssrc=%u", track_desc_->ssrc_); + } + + return err; } bool SrsRtcRecvTrack::set_track_status(bool active)