aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h
diff options
context:
space:
mode:
authormflodman@webrtc.org <mflodman@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-01-09 13:54:43 +0000
committermflodman@webrtc.org <mflodman@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2013-01-09 13:54:43 +0000
commit2f225cadde8627a64d2cede283965bac25a2807c (patch)
treed5f05ed56340d4a014c92bf0ca36bae0fb1daedd /webrtc/modules/rtp_rtcp/source/rtcp_receiver.h
parentd66eb8c4eb479778e658dd2861576d6824167f0a (diff)
downloadwebrtc-2f225cadde8627a64d2cede283965bac25a2807c.tar.gz
Add logs when no RTCP RR has been received for three regular RTCP intervals.
BUG=1267 TEST=Unittest added. Review URL: https://webrtc-codereview.appspot.com/1019006 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3346 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc/modules/rtp_rtcp/source/rtcp_receiver.h')
-rw-r--r--webrtc/modules/rtp_rtcp/source/rtcp_receiver.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h
index 5dc0310209..455c0f8079 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h
@@ -83,6 +83,16 @@ public:
WebRtc_Word32 StatisticsReceived(
std::vector<RTCPReportBlock>* receiveBlocks) const;
+ // Returns true if we haven't received an RTCP RR for several RTCP
+ // intervals, but only triggers true once.
+ bool RtcpRrTimeout(int64_t rtcp_interval_ms);
+
+ // Returns true if we haven't received an RTCP RR telling the receive side
+ // has not received RTP packets for too long, i.e. extended highest sequence
+ // number hasn't increased for several RTCP intervals. The function only
+ // returns true once until a new RR is received.
+ bool RtcpRrSequenceNumberTimeout(int64_t rtcp_interval_ms);
+
// Get TMMBR
WebRtc_Word32 TMMBRReceived(const WebRtc_UWord32 size,
const WebRtc_UWord32 accNumCandidates,
@@ -218,6 +228,13 @@ protected:
WebRtc_UWord32 _packetTimeOutMS;
+ // The last time we received an RTCP RR.
+ int64_t _lastReceivedRrMs;
+
+ // The time we last received an RTCP RR telling we have ssuccessfully
+ // delivered RTP packet to the remote side.
+ int64_t _lastIncreasedSequenceNumberMs;
+
// Externally set RTT. This value can only be used if there are no valid
// RTT estimates.
WebRtc_UWord16 _rtt;