1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MEDIA_CAST_RTP_RECEIVER_RECEIVER_STATS_H_
6 #define MEDIA_CAST_RTP_RECEIVER_RECEIVER_STATS_H_
8 #include "base/time/tick_clock.h"
9 #include "base/time/time.h"
10 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
17 explicit ReceiverStats(base::TickClock
* clock
);
20 void GetStatistics(uint8
* fraction_lost
,
21 uint32
* cumulative_lost
, // 24 bits valid.
22 uint32
* extended_high_sequence_number
,
24 void UpdateStatistics(const RtpCastHeader
& header
);
27 base::TickClock
* const clock_
; // Not owned by this class.
30 uint16 min_sequence_number_
;
31 uint16 max_sequence_number_
;
32 uint32 total_number_packets_
;
33 uint16 sequence_number_cycles_
;
34 base::TimeDelta last_received_timestamp_
;
35 base::TimeTicks last_received_packet_time_
;
36 base::TimeDelta jitter_
;
38 // Intermediate metrics - between RTCP reports.
39 int interval_min_sequence_number_
;
40 int interval_number_packets_
;
41 int interval_wrap_count_
;
47 #endif // MEDIA_CAST_RTP_RECEIVER_RECEIVER_STATS_H_