Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: media/cast/net/rtp/receiver_stats.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/net/rtp/receiver_stats.h" 5 #include "media/cast/net/rtp/receiver_stats.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/cast/cast_defines.h" 8 #include "media/cast/cast_defines.h"
9 #include "media/cast/net/rtp/rtp_defines.h" 9 #include "media/cast/net/rtp/rtp_defines.h"
10 10
11 namespace media { 11 namespace media {
12 namespace cast { 12 namespace cast {
13 13
14 static const uint32 kMaxSequenceNumber = 65536; 14 static const uint32_t kMaxSequenceNumber = 65536;
15 15
16 ReceiverStats::ReceiverStats(base::TickClock* clock) 16 ReceiverStats::ReceiverStats(base::TickClock* clock)
17 : clock_(clock), 17 : clock_(clock),
18 min_sequence_number_(0), 18 min_sequence_number_(0),
19 max_sequence_number_(0), 19 max_sequence_number_(0),
20 total_number_packets_(0), 20 total_number_packets_(0),
21 sequence_number_cycles_(0), 21 sequence_number_cycles_(0),
22 interval_min_sequence_number_(0), 22 interval_min_sequence_number_(0),
23 interval_number_packets_(0), 23 interval_number_packets_(0),
24 interval_wrap_count_(0) {} 24 interval_wrap_count_(0) {}
(...skipping 11 matching lines...) Expand all
36 diff = kMaxSequenceNumber * (interval_wrap_count_ - 1) + 36 diff = kMaxSequenceNumber * (interval_wrap_count_ - 1) +
37 (max_sequence_number_ - interval_min_sequence_number_ + 37 (max_sequence_number_ - interval_min_sequence_number_ +
38 kMaxSequenceNumber + 1); 38 kMaxSequenceNumber + 1);
39 } 39 }
40 40
41 if (diff < 1) { 41 if (diff < 1) {
42 ret.fraction_lost = 0; 42 ret.fraction_lost = 0;
43 } else { 43 } else {
44 float tmp_ratio = 44 float tmp_ratio =
45 (1 - static_cast<float>(interval_number_packets_) / abs(diff)); 45 (1 - static_cast<float>(interval_number_packets_) / abs(diff));
46 ret.fraction_lost = static_cast<uint8>(256 * tmp_ratio); 46 ret.fraction_lost = static_cast<uint8_t>(256 * tmp_ratio);
47 } 47 }
48 } 48 }
49 49
50 int expected_packets_num = max_sequence_number_ - min_sequence_number_ + 1; 50 int expected_packets_num = max_sequence_number_ - min_sequence_number_ + 1;
51 if (total_number_packets_ == 0) { 51 if (total_number_packets_ == 0) {
52 ret.cumulative_lost = 0; 52 ret.cumulative_lost = 0;
53 } else if (sequence_number_cycles_ == 0) { 53 } else if (sequence_number_cycles_ == 0) {
54 ret.cumulative_lost = expected_packets_num - total_number_packets_; 54 ret.cumulative_lost = expected_packets_num - total_number_packets_;
55 } else { 55 } else {
56 ret.cumulative_lost = 56 ret.cumulative_lost =
57 kMaxSequenceNumber * (sequence_number_cycles_ - 1) + 57 kMaxSequenceNumber * (sequence_number_cycles_ - 1) +
58 (expected_packets_num - total_number_packets_ + kMaxSequenceNumber); 58 (expected_packets_num - total_number_packets_ + kMaxSequenceNumber);
59 } 59 }
60 60
61 // Extended high sequence number consists of the highest seq number and the 61 // Extended high sequence number consists of the highest seq number and the
62 // number of cycles (wrap). 62 // number of cycles (wrap).
63 ret.extended_high_sequence_number = 63 ret.extended_high_sequence_number =
64 (sequence_number_cycles_ << 16) + max_sequence_number_; 64 (sequence_number_cycles_ << 16) + max_sequence_number_;
65 65
66 ret.jitter = static_cast<uint32>(std::abs(jitter_.InMillisecondsRoundedUp())); 66 ret.jitter =
67 static_cast<uint32_t>(std::abs(jitter_.InMillisecondsRoundedUp()));
67 68
68 // Reset interval values. 69 // Reset interval values.
69 interval_min_sequence_number_ = 0; 70 interval_min_sequence_number_ = 0;
70 interval_number_packets_ = 0; 71 interval_number_packets_ = 0;
71 interval_wrap_count_ = 0; 72 interval_wrap_count_ = 0;
72 73
73 return ret; 74 return ret;
74 } 75 }
75 76
76 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) { 77 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) {
77 const uint16 new_seq_num = header.sequence_number; 78 const uint16_t new_seq_num = header.sequence_number;
78 79
79 if (interval_number_packets_ == 0) { 80 if (interval_number_packets_ == 0) {
80 // First packet in the interval. 81 // First packet in the interval.
81 interval_min_sequence_number_ = new_seq_num; 82 interval_min_sequence_number_ = new_seq_num;
82 } 83 }
83 if (total_number_packets_ == 0) { 84 if (total_number_packets_ == 0) {
84 // First incoming packet. 85 // First incoming packet.
85 min_sequence_number_ = new_seq_num; 86 min_sequence_number_ = new_seq_num;
86 max_sequence_number_ = new_seq_num; 87 max_sequence_number_ = new_seq_num;
87 } 88 }
(...skipping 21 matching lines...) Expand all
109 last_received_timestamp_ = delta_new_timestamp; 110 last_received_timestamp_ = delta_new_timestamp;
110 last_received_packet_time_ = now; 111 last_received_packet_time_ = now;
111 112
112 // Increment counters. 113 // Increment counters.
113 ++total_number_packets_; 114 ++total_number_packets_;
114 ++interval_number_packets_; 115 ++interval_number_packets_;
115 } 116 }
116 117
117 } // namespace cast 118 } // namespace cast
118 } // namespace media 119 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698