Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc |
| diff --git a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc |
| index 932be1bb9e1c19490a397146ba96c941884ac0fd..7394fde348d728b94d508d3cde240ffa32004bf4 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc |
| +++ b/webrtc/modules/rtp_rtcp/source/receive_statistics_impl.cc |
| @@ -14,8 +14,8 @@ |
| #include <cstdlib> |
| -#include "webrtc/modules/rtp_rtcp/source/bitrate.h" |
| #include "webrtc/modules/rtp_rtcp/source/time_util.h" |
| +#include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h" |
|
danilchap
2016/06/23 12:46:12
alphabetical order
sprang_webrtc
2016/06/28 09:12:33
Done.
|
| namespace webrtc { |
| @@ -29,7 +29,8 @@ StreamStatisticianImpl::StreamStatisticianImpl( |
| RtcpStatisticsCallback* rtcp_callback, |
| StreamDataCountersCallback* rtp_callback) |
| : clock_(clock), |
| - incoming_bitrate_(clock, NULL), |
| + // Calculate rate with 1000ms window, bits/s scale. |
| + incoming_bitrate_(kStatisticsProcessIntervalMs, 8000), |
| ssrc_(0), |
| max_reordering_threshold_(kDefaultMaxReorderingThreshold), |
| jitter_q4_(0), |
| @@ -61,7 +62,7 @@ void StreamStatisticianImpl::UpdateCounters(const RTPHeader& header, |
| rtc::CritScope cs(&stream_lock_); |
| bool in_order = InOrderPacketInternal(header.sequenceNumber); |
| ssrc_ = header.ssrc; |
| - incoming_bitrate_.Update(packet_length); |
| + incoming_bitrate_.Update(packet_length, clock_->TimeInMilliseconds()); |
| receive_counters_.transmitted.AddPacket(packet_length, header); |
| if (!in_order && retransmitted) { |
| receive_counters_.retransmitted.AddPacket(packet_length, header); |
| @@ -298,14 +299,9 @@ void StreamStatisticianImpl::GetReceiveStreamDataCounters( |
| *data_counters = receive_counters_; |
| } |
| -uint32_t StreamStatisticianImpl::BitrateReceived() const { |
| +uint32_t StreamStatisticianImpl::BitrateReceived() { |
| rtc::CritScope cs(&stream_lock_); |
| - return incoming_bitrate_.BitrateNow(); |
| -} |
| - |
| -void StreamStatisticianImpl::ProcessBitrate() { |
| - rtc::CritScope cs(&stream_lock_); |
| - incoming_bitrate_.Process(); |
| + return incoming_bitrate_.Rate(clock_->TimeInMilliseconds()).value_or(0); |
| } |
| void StreamStatisticianImpl::LastReceiveTimeNtp(uint32_t* secs, |
| @@ -376,7 +372,6 @@ ReceiveStatistics* ReceiveStatistics::Create(Clock* clock) { |
| ReceiveStatisticsImpl::ReceiveStatisticsImpl(Clock* clock) |
| : clock_(clock), |
| - last_rate_update_ms_(0), |
| rtcp_stats_callback_(NULL), |
| rtp_stats_callback_(NULL) {} |
| @@ -452,23 +447,6 @@ void ReceiveStatisticsImpl::SetMaxReorderingThreshold( |
| } |
| } |
| -void ReceiveStatisticsImpl::Process() { |
| - rtc::CritScope cs(&receive_statistics_lock_); |
| - for (StatisticianImplMap::iterator it = statisticians_.begin(); |
| - it != statisticians_.end(); ++it) { |
| - it->second->ProcessBitrate(); |
| - } |
| - last_rate_update_ms_ = clock_->TimeInMilliseconds(); |
| -} |
| - |
| -int64_t ReceiveStatisticsImpl::TimeUntilNextProcess() { |
| - rtc::CritScope cs(&receive_statistics_lock_); |
| - int64_t time_since_last_update = clock_->TimeInMilliseconds() - |
| - last_rate_update_ms_; |
| - return std::max<int64_t>( |
| - kStatisticsProcessIntervalMs - time_since_last_update, 0); |
| -} |
| - |
| void ReceiveStatisticsImpl::RegisterRtcpStatisticsCallback( |
| RtcpStatisticsCallback* callback) { |
| rtc::CritScope cs(&receive_statistics_lock_); |
| @@ -525,10 +503,6 @@ StreamStatistician* NullReceiveStatistics::GetStatistician( |
| void NullReceiveStatistics::SetMaxReorderingThreshold( |
| int max_reordering_threshold) {} |
| -int64_t NullReceiveStatistics::TimeUntilNextProcess() { return 0; } |
| - |
| -void NullReceiveStatistics::Process() {} |
| - |
| void NullReceiveStatistics::RegisterRtcpStatisticsCallback( |
| RtcpStatisticsCallback* callback) {} |