diff --git a/webrtc/modules/rtp_rtcp/interface/receive_statistics.h b/webrtc/modules/rtp_rtcp/interface/receive_statistics.h index 07288c4dbf..4cc069a93f 100644 --- a/webrtc/modules/rtp_rtcp/interface/receive_statistics.h +++ b/webrtc/modules/rtp_rtcp/interface/receive_statistics.h @@ -69,18 +69,5 @@ class ReceiveStatistics : public Module { virtual StreamStatistician* GetStatistician(uint32_t ssrc) const = 0; }; -class NullReceiveStatistics : public ReceiveStatistics { - public: - virtual void IncomingPacket(const RTPHeader& rtp_header, size_t bytes, - bool retransmitted, bool in_order) {} - virtual void GetActiveStatisticians( - StatisticianMap* statisticians) const { statisticians->clear(); } - virtual StreamStatistician* GetStatistician(uint32_t ssrc) const { - return NULL; - } - virtual int32_t TimeUntilNextProcess() { return 0; } - virtual int32_t Process() { return 0; } -}; - } // namespace webrtc #endif // WEBRTC_MODULES_RTP_RTCP_INTERFACE_RECEIVE_STATISTICS_H_ diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc index de6eb0045f..c3bc8f5e46 100644 --- a/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc +++ b/webrtc/modules/rtp_rtcp/source/rtcp_sender.cc @@ -1689,12 +1689,14 @@ int RTCPSender::PrepareRTCP( // If the data does not fit in the packet we fill it as much as possible. int32_t buildVal = 0; - // We need to send our NTP even if we haven't received any reports. - _clock->CurrentNtp(NTPsec, NTPfrac); if (ShouldSendReportBlocks(rtcpPacketTypeFlags)) { ReceiveStatistics::StatisticianMap statisticians; receive_statistics_->GetActiveStatisticians(&statisticians); - if (!statisticians.empty()) { + if (statisticians.empty()) { + // We need to send our NTP even if we dont have received any + // reports. + _clock->CurrentNtp(NTPsec, NTPfrac); + } else { ReceiveStatistics::StatisticianMap::const_iterator it; int i; for (it = statisticians.begin(), i = 0; it != statisticians.end(); @@ -1703,8 +1705,9 @@ int RTCPSender::PrepareRTCP( if (PrepareReport(it->second, &report_block, &NTPsec, &NTPfrac)) AddReportBlock(it->first, &internal_report_blocks_, &report_block); } - if (_IJ && !statisticians.empty()) { - rtcpPacketTypeFlags |= kRtcpTransmissionTimeOffset; + if (_IJ && !statisticians.empty()) + { + rtcpPacketTypeFlags |= kRtcpTransmissionTimeOffset; } _lastRTCPTime[0] = Clock::NtpToMs(NTPsec, NTPfrac); } diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc index ea4bfcba34..2a1c3d52e4 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc @@ -41,7 +41,7 @@ RtpRtcp::Configuration::Configuration() audio(false), clock(NULL), default_module(NULL), - receive_statistics(NullObjectReceiveStatistics()), + receive_statistics(), outgoing_transport(NULL), rtcp_feedback(NULL), intra_frame_callback(NULL), diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc index 3fdbfe0718..25afd73d70 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc @@ -61,11 +61,6 @@ RtpAudioFeedback* NullObjectRtpAudioFeedback() { return &null_rtp_audio_feedback; } -ReceiveStatistics* NullObjectReceiveStatistics() { - static NullReceiveStatistics null_receive_statistics; - return &null_receive_statistics; -} - namespace ModuleRTPUtility { enum { diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.h b/webrtc/modules/rtp_rtcp/source/rtp_utility.h index baf70fae20..e95830effe 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.h @@ -14,7 +14,6 @@ #include // size_t, ptrdiff_t #include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" -#include "webrtc/modules/rtp_rtcp/interface/receive_statistics.h" #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" #include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h" #include "webrtc/typedefs.h" @@ -26,7 +25,6 @@ const uint8_t kRtpMarkerBitMask = 0x80; RtpData* NullObjectRtpData(); RtpFeedback* NullObjectRtpFeedback(); RtpAudioFeedback* NullObjectRtpAudioFeedback(); -ReceiveStatistics* NullObjectReceiveStatistics(); namespace ModuleRTPUtility {