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

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

Issue 250363002: [Cast] Clean-up RtpCastHeader and RtpParser, removing the last WebRTC dependency. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed hubbe's comment. Created 6 years, 8 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 *jitter = static_cast<uint32>(std::abs(jitter_.InMillisecondsRoundedUp())); 69 *jitter = static_cast<uint32>(std::abs(jitter_.InMillisecondsRoundedUp()));
70 70
71 // Reset interval values. 71 // Reset interval values.
72 interval_min_sequence_number_ = 0; 72 interval_min_sequence_number_ = 0;
73 interval_number_packets_ = 0; 73 interval_number_packets_ = 0;
74 interval_wrap_count_ = 0; 74 interval_wrap_count_ = 0;
75 } 75 }
76 76
77 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) { 77 void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) {
78 uint16 new_seq_num = header.webrtc.header.sequenceNumber; 78 const uint16 new_seq_num = header.sequence_number;
79 79
80 if (interval_number_packets_ == 0) { 80 if (interval_number_packets_ == 0) {
81 // First packet in the interval. 81 // First packet in the interval.
82 interval_min_sequence_number_ = new_seq_num; 82 interval_min_sequence_number_ = new_seq_num;
83 } 83 }
84 if (total_number_packets_ == 0) { 84 if (total_number_packets_ == 0) {
85 // First incoming packet. 85 // First incoming packet.
86 min_sequence_number_ = new_seq_num; 86 min_sequence_number_ = new_seq_num;
87 max_sequence_number_ = new_seq_num; 87 max_sequence_number_ = new_seq_num;
88 } 88 }
89 89
90 if (IsNewerSequenceNumber(new_seq_num, max_sequence_number_)) { 90 if (IsNewerSequenceNumber(new_seq_num, max_sequence_number_)) {
91 // Check wrap. 91 // Check wrap.
92 if (new_seq_num < max_sequence_number_) { 92 if (new_seq_num < max_sequence_number_) {
93 ++sequence_number_cycles_; 93 ++sequence_number_cycles_;
94 ++interval_wrap_count_; 94 ++interval_wrap_count_;
95 } 95 }
96 max_sequence_number_ = new_seq_num; 96 max_sequence_number_ = new_seq_num;
97 } 97 }
98 98
99 // Compute Jitter. 99 // Compute Jitter.
100 base::TimeTicks now = clock_->NowTicks(); 100 base::TimeTicks now = clock_->NowTicks();
101 base::TimeDelta delta_new_timestamp = 101 base::TimeDelta delta_new_timestamp =
102 base::TimeDelta::FromMilliseconds(header.webrtc.header.timestamp); 102 base::TimeDelta::FromMilliseconds(header.rtp_timestamp);
103 if (total_number_packets_ > 0) { 103 if (total_number_packets_ > 0) {
104 // Update jitter. 104 // Update jitter.
105 base::TimeDelta delta = 105 base::TimeDelta delta =
106 (now - last_received_packet_time_) - 106 (now - last_received_packet_time_) -
107 ((delta_new_timestamp - last_received_timestamp_) / 90); 107 ((delta_new_timestamp - last_received_timestamp_) / 90);
108 jitter_ += (delta - jitter_) / 16; 108 jitter_ += (delta - jitter_) / 16;
109 } 109 }
110 last_received_timestamp_ = delta_new_timestamp; 110 last_received_timestamp_ = delta_new_timestamp;
111 last_received_packet_time_ = now; 111 last_received_packet_time_ = now;
112 112
113 // Increment counters. 113 // Increment counters.
114 ++total_number_packets_; 114 ++total_number_packets_;
115 ++interval_number_packets_; 115 ++interval_number_packets_;
116 } 116 }
117 117
118 } // namespace cast 118 } // namespace cast
119 } // namespace media 119 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/framer/framer_unittest.cc ('k') | media/cast/rtp_receiver/receiver_stats_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698