Ignore title parameter for navigator.registerProtocolHandler
[chromium-blink-merge.git] / media / cast / rtp_receiver / receiver_stats.h
blob05a067f78707c622eff3fe09c024ed5e2e5c6f34
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/rtcp/rtcp.h"
11 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
13 namespace media {
14 namespace cast {
16 class ReceiverStats : public RtpReceiverStatistics {
17 public:
18 explicit ReceiverStats(base::TickClock* clock);
19 virtual ~ReceiverStats() OVERRIDE;
21 virtual void GetStatistics(uint8* fraction_lost,
22 uint32* cumulative_lost, // 24 bits valid.
23 uint32* extended_high_sequence_number,
24 uint32* jitter) OVERRIDE;
25 void UpdateStatistics(const RtpCastHeader& header);
27 private:
28 base::TickClock* const clock_; // Not owned by this class.
30 // Global metrics.
31 uint16 min_sequence_number_;
32 uint16 max_sequence_number_;
33 uint32 total_number_packets_;
34 uint16 sequence_number_cycles_;
35 base::TimeDelta last_received_timestamp_;
36 base::TimeTicks last_received_packet_time_;
37 base::TimeDelta jitter_;
39 // Intermediate metrics - between RTCP reports.
40 int interval_min_sequence_number_;
41 int interval_number_packets_;
42 int interval_wrap_count_;
44 DISALLOW_COPY_AND_ASSIGN(ReceiverStats);
47 } // namespace cast
48 } // namespace media
50 #endif // MEDIA_CAST_RTP_RECEIVER_RECEIVER_STATS_H_