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

Side by Side Diff: media/cast/rtp_receiver/receiver_stats.cc

Issue 143263024: Cast: Refactoring RtpReceiver to Clang format (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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/rtp_receiver/receiver_stats.h" 5 #include "media/cast/rtp_receiver/receiver_stats.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "media/cast/rtp_receiver/rtp_receiver_defines.h" 8 #include "media/cast/rtp_receiver/rtp_receiver_defines.h"
9 9
10 namespace media { 10 namespace media {
(...skipping 19 matching lines...) Expand all
30 uint32* jitter) { 30 uint32* jitter) {
31 // Compute losses. 31 // Compute losses.
32 if (interval_number_packets_ == 0) { 32 if (interval_number_packets_ == 0) {
33 *fraction_lost = 0; 33 *fraction_lost = 0;
34 } else { 34 } else {
35 int diff = 0; 35 int diff = 0;
36 if (interval_wrap_count_ == 0) { 36 if (interval_wrap_count_ == 0) {
37 diff = max_sequence_number_ - interval_min_sequence_number_ + 1; 37 diff = max_sequence_number_ - interval_min_sequence_number_ + 1;
38 } else { 38 } else {
39 diff = kMaxSequenceNumber * (interval_wrap_count_ - 1) + 39 diff = kMaxSequenceNumber * (interval_wrap_count_ - 1) +
40 (max_sequence_number_ - interval_min_sequence_number_ + 40 (max_sequence_number_ - interval_min_sequence_number_ +
41 kMaxSequenceNumber + 1); 41 kMaxSequenceNumber + 1);
42 } 42 }
43 43
44 if (diff < 1) { 44 if (diff < 1) {
45 *fraction_lost = 0; 45 *fraction_lost = 0;
46 } else { 46 } else {
47 *fraction_lost = static_cast<uint8>((256 * (1 - 47 *fraction_lost = static_cast<uint8>(
48 static_cast<float>(interval_number_packets_) / abs(diff)))); 48 (256 *
hubbe 2014/02/03 21:49:36 This is pretty ugly. Perhaps use fabs() and void t
mikhal1 2014/02/04 00:16:27 Done.
49 (1 - static_cast<float>(interval_number_packets_) / abs(diff))));
49 } 50 }
50 } 51 }
51 52
52 int expected_packets_num = max_sequence_number_ - min_sequence_number_ + 1; 53 int expected_packets_num = max_sequence_number_ - min_sequence_number_ + 1;
53 if (total_number_packets_ == 0) { 54 if (total_number_packets_ == 0) {
54 *cumulative_lost = 0; 55 *cumulative_lost = 0;
55 } else if (sequence_number_cycles_ == 0) { 56 } else if (sequence_number_cycles_ == 0) {
56 *cumulative_lost = expected_packets_num - total_number_packets_; 57 *cumulative_lost = expected_packets_num - total_number_packets_;
57 } else { 58 } else {
58 *cumulative_lost = kMaxSequenceNumber * (sequence_number_cycles_ - 1) + 59 *cumulative_lost =
60 kMaxSequenceNumber * (sequence_number_cycles_ - 1) +
59 (expected_packets_num - total_number_packets_ + kMaxSequenceNumber); 61 (expected_packets_num - total_number_packets_ + kMaxSequenceNumber);
60 } 62 }
61 63
62 // Extended high sequence number consists of the highest seq number and the 64 // Extended high sequence number consists of the highest seq number and the
63 // number of cycles (wrap). 65 // number of cycles (wrap).
64 *extended_high_sequence_number = (sequence_number_cycles_ << 16) + 66 *extended_high_sequence_number =
65 max_sequence_number_; 67 (sequence_number_cycles_ << 16) + max_sequence_number_;
66 68
67 *jitter = static_cast<uint32>(abs(jitter_.InMillisecondsRoundedUp())); 69 *jitter = static_cast<uint32>(abs(jitter_.InMillisecondsRoundedUp()));
68 70
69 // Reset interval values. 71 // Reset interval values.
70 interval_min_sequence_number_ = 0; 72 interval_min_sequence_number_ = 0;
71 interval_number_packets_ = 0; 73 interval_number_packets_ = 0;
72 interval_wrap_count_ = 0; 74 interval_wrap_count_ = 0;
73 } 75 }
74 76
75 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) { 77 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) {
(...skipping 17 matching lines...) Expand all
93 } 95 }
94 max_sequence_number_ = new_seq_num; 96 max_sequence_number_ = new_seq_num;
95 } 97 }
96 98
97 // Compute Jitter. 99 // Compute Jitter.
98 base::TimeTicks now = clock_->NowTicks(); 100 base::TimeTicks now = clock_->NowTicks();
99 base::TimeDelta delta_new_timestamp = 101 base::TimeDelta delta_new_timestamp =
100 base::TimeDelta::FromMilliseconds(header.webrtc.header.timestamp); 102 base::TimeDelta::FromMilliseconds(header.webrtc.header.timestamp);
101 if (total_number_packets_ > 0) { 103 if (total_number_packets_ > 0) {
102 // Update jitter. 104 // Update jitter.
103 base::TimeDelta delta = (now - last_received_packet_time_) - 105 base::TimeDelta delta =
106 (now - last_received_packet_time_) -
104 ((delta_new_timestamp - last_received_timestamp_) / 90); 107 ((delta_new_timestamp - last_received_timestamp_) / 90);
105 jitter_ += (delta - jitter_) / 16; 108 jitter_ += (delta - jitter_) / 16;
106 } 109 }
107 last_received_timestamp_ = delta_new_timestamp; 110 last_received_timestamp_ = delta_new_timestamp;
108 last_received_packet_time_ = now; 111 last_received_packet_time_ = now;
109 112
110 // Increment counters. 113 // Increment counters.
111 ++total_number_packets_; 114 ++total_number_packets_;
112 ++interval_number_packets_; 115 ++interval_number_packets_;
113 } 116 }
114 117
115 } // namespace cast 118 } // namespace cast
116 } // namespace media 119 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtp_receiver/receiver_stats.h ('k') | media/cast/rtp_receiver/receiver_stats_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698