X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmedia%2Fcast%2Frtp_receiver%2Freceiver_stats.cc;h=434238d6916d2b068e23b41173944fa71e19cfc3;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=9d34583a769c185805c845d2c3a8848b7cfd925a;hpb=7338fba38ba696536d1cc9d389afd716a6ab2fe6;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/media/cast/rtp_receiver/receiver_stats.cc b/src/media/cast/rtp_receiver/receiver_stats.cc index 9d34583..434238d 100644 --- a/src/media/cast/rtp_receiver/receiver_stats.cc +++ b/src/media/cast/rtp_receiver/receiver_stats.cc @@ -37,15 +37,16 @@ void ReceiverStats::GetStatistics(uint8* fraction_lost, diff = max_sequence_number_ - interval_min_sequence_number_ + 1; } else { diff = kMaxSequenceNumber * (interval_wrap_count_ - 1) + - (max_sequence_number_ - interval_min_sequence_number_ + - kMaxSequenceNumber + 1); + (max_sequence_number_ - interval_min_sequence_number_ + + kMaxSequenceNumber + 1); } if (diff < 1) { *fraction_lost = 0; } else { - *fraction_lost = static_cast((256 * (1 - - static_cast(interval_number_packets_) / abs(diff)))); + float tmp_ratio = + (1 - static_cast(interval_number_packets_) / abs(diff)); + *fraction_lost = static_cast(256 * tmp_ratio); } } @@ -55,14 +56,15 @@ void ReceiverStats::GetStatistics(uint8* fraction_lost, } else if (sequence_number_cycles_ == 0) { *cumulative_lost = expected_packets_num - total_number_packets_; } else { - *cumulative_lost = kMaxSequenceNumber * (sequence_number_cycles_ - 1) + + *cumulative_lost = + kMaxSequenceNumber * (sequence_number_cycles_ - 1) + (expected_packets_num - total_number_packets_ + kMaxSequenceNumber); } // Extended high sequence number consists of the highest seq number and the // number of cycles (wrap). - *extended_high_sequence_number = (sequence_number_cycles_ << 16) + - max_sequence_number_; + *extended_high_sequence_number = + (sequence_number_cycles_ << 16) + max_sequence_number_; *jitter = static_cast(abs(jitter_.InMillisecondsRoundedUp())); @@ -100,7 +102,8 @@ void ReceiverStats::UpdateStatistics(const RtpCastHeader& header) { base::TimeDelta::FromMilliseconds(header.webrtc.header.timestamp); if (total_number_packets_ > 0) { // Update jitter. - base::TimeDelta delta = (now - last_received_packet_time_) - + base::TimeDelta delta = + (now - last_received_packet_time_) - ((delta_new_timestamp - last_received_timestamp_) / 90); jitter_ += (delta - jitter_) / 16; }