Chromium Code Reviews| Index: webrtc/video_engine/vie_channel.cc |
| diff --git a/webrtc/video_engine/vie_channel.cc b/webrtc/video_engine/vie_channel.cc |
| index 61096b39630eacb83fa325e278fa2fed7796c491..83f59ba0f5729dfe912633a4b022d2519e1b696b 100644 |
| --- a/webrtc/video_engine/vie_channel.cc |
| +++ b/webrtc/video_engine/vie_channel.cc |
| @@ -244,6 +244,48 @@ void ViEChannel::UpdateHistograms() { |
| RTC_HISTOGRAM_PERCENTAGE("WebRTC.Video.SentPacketsLostInPercent", |
| fraction_lost); |
| } |
| + |
| + StreamDataCounters rtp; |
|
åsapersson
2015/07/07 12:18:43
move this outside if-statement above
pbos-webrtc
2015/07/07 13:31:26
Done.
|
| + StreamDataCounters rtx; |
| + GetSendStreamDataCounters(&rtp, &rtx); |
| + StreamDataCounters rtp_rtx = rtp; |
| + rtp_rtx.Add(rtx); |
| + elapsed_sec = |
| + rtp_rtx.TimeSinceFirstPacketInMs( |
| + Clock::GetRealTimeClock()->TimeInMilliseconds()) / |
| + 1000; |
| + if (elapsed_sec > metrics::kMinRunTimeInSeconds) { |
| + RTC_HISTOGRAM_COUNTS_100000( |
| + "WebRTC.Video.BitrateSentInKbps", |
| + static_cast<int>(rtp_rtx.transmitted.TotalBytes() * 8 / |
| + elapsed_sec / 1000)); |
| + RTC_HISTOGRAM_COUNTS_10000( |
| + "WebRTC.Video.MediaBitrateSentInKbps", |
| + static_cast<int>(rtp.MediaPayloadBytes() * 8 / elapsed_sec / 1000)); |
| + RTC_HISTOGRAM_COUNTS_10000( |
| + "WebRTC.Video.PaddingBitrateSentInKbps", |
| + static_cast<int>(rtp_rtx.transmitted.padding_bytes * 8 / |
| + elapsed_sec / 1000)); |
| + RTC_HISTOGRAM_COUNTS_10000( |
| + "WebRTC.Video.RetransmittedBitrateSentInKbps", |
| + static_cast<int>(rtp_rtx.retransmitted.TotalBytes() * 8 / |
| + elapsed_sec / 1000)); |
| + if (rtp_rtcp_->RtxSendStatus() != kRtxOff) { |
| + RTC_HISTOGRAM_COUNTS_10000( |
| + "WebRTC.Video.RtxBitrateSentInKbps", |
| + static_cast<int>(rtx.transmitted.TotalBytes() * 8 / elapsed_sec / |
| + 1000)); |
| + } |
| + bool fec_enabled = false; |
| + uint8_t pltype_red; |
| + uint8_t pltype_fec; |
| + rtp_rtcp_->GenericFECStatus(fec_enabled, pltype_red, pltype_fec); |
| + if (fec_enabled) { |
| + RTC_HISTOGRAM_COUNTS_10000("WebRTC.Video.FecBitrateSentInKbps", |
| + static_cast<int>(rtp_rtx.fec.TotalBytes() * |
| + 8 / elapsed_sec / 1000)); |
| + } |
| + } |
| } |
| } else if (vie_receiver_.GetRemoteSsrc() > 0) { |
| // Get receive stats if we are receiving packets, i.e. there is a remote |
| @@ -302,49 +344,6 @@ void ViEChannel::UpdateHistograms() { |
| } |
| } |
| -void ViEChannel::UpdateHistogramsAtStopSend() { |
| - StreamDataCounters rtp; |
| - StreamDataCounters rtx; |
| - GetSendStreamDataCounters(&rtp, &rtx); |
| - StreamDataCounters rtp_rtx = rtp; |
| - rtp_rtx.Add(rtx); |
| - |
| - int64_t elapsed_sec = rtp_rtx.TimeSinceFirstPacketInMs( |
| - Clock::GetRealTimeClock()->TimeInMilliseconds()) / 1000; |
| - if (elapsed_sec < metrics::kMinRunTimeInSeconds) { |
| - return; |
| - } |
| - RTC_HISTOGRAM_COUNTS_100000( |
| - "WebRTC.Video.BitrateSentInKbps", |
| - static_cast<int>(rtp_rtx.transmitted.TotalBytes() * 8 / elapsed_sec / |
| - 1000)); |
| - RTC_HISTOGRAM_COUNTS_10000( |
| - "WebRTC.Video.MediaBitrateSentInKbps", |
| - static_cast<int>(rtp.MediaPayloadBytes() * 8 / elapsed_sec / 1000)); |
| - RTC_HISTOGRAM_COUNTS_10000( |
| - "WebRTC.Video.PaddingBitrateSentInKbps", |
| - static_cast<int>(rtp_rtx.transmitted.padding_bytes * 8 / elapsed_sec / |
| - 1000)); |
| - RTC_HISTOGRAM_COUNTS_10000( |
| - "WebRTC.Video.RetransmittedBitrateSentInKbps", |
| - static_cast<int>(rtp_rtx.retransmitted.TotalBytes() * 8 / elapsed_sec / |
| - 1000)); |
| - if (rtp_rtcp_->RtxSendStatus() != kRtxOff) { |
| - RTC_HISTOGRAM_COUNTS_10000("WebRTC.Video.RtxBitrateSentInKbps", |
| - static_cast<int>(rtx.transmitted.TotalBytes() * |
| - 8 / elapsed_sec / 1000)); |
| - } |
| - bool fec_enabled = false; |
| - uint8_t pltype_red; |
| - uint8_t pltype_fec; |
| - rtp_rtcp_->GenericFECStatus(fec_enabled, pltype_red, pltype_fec); |
| - if (fec_enabled) { |
| - RTC_HISTOGRAM_COUNTS_10000( |
| - "WebRTC.Video.FecBitrateSentInKbps", |
| - static_cast<int>(rtp_rtx.fec.TotalBytes() * 8 / elapsed_sec / 1000)); |
| - } |
| -} |
| - |
| int32_t ViEChannel::SetSendCodec(const VideoCodec& video_codec, |
| bool new_stream) { |
| if (!sender_) { |
| @@ -1335,7 +1334,6 @@ int32_t ViEChannel::StartSend() { |
| } |
| int32_t ViEChannel::StopSend() { |
| - UpdateHistogramsAtStopSend(); |
| send_payload_router_->set_active(false); |
| CriticalSectionScoped cs(rtp_rtcp_cs_.get()); |
| rtp_rtcp_->SetSendingMediaStatus(false); |
| @@ -1349,8 +1347,6 @@ int32_t ViEChannel::StopSend() { |
| return -1; |
| } |
| - // Reset. |
| - rtp_rtcp_->ResetSendDataCountersRTP(); |
| if (rtp_rtcp_->SetSendingStatus(false) != 0) { |
| return -1; |
| } |
| @@ -1358,7 +1354,6 @@ int32_t ViEChannel::StopSend() { |
| it != simulcast_rtp_rtcp_.end(); |
| it++) { |
| RtpRtcp* rtp_rtcp = *it; |
| - rtp_rtcp->ResetSendDataCountersRTP(); |
| rtp_rtcp->SetSendingStatus(false); |
| } |
| return 0; |
| @@ -1706,13 +1701,6 @@ void ViEChannel::OnIncomingCSRCChanged(const int32_t id, |
| CriticalSectionScoped cs(callback_cs_.get()); |
| } |
| -void ViEChannel::ResetStatistics(uint32_t ssrc) { |
| - StreamStatistician* statistician = |
| - vie_receiver_.GetReceiveStatistics()->GetStatistician(ssrc); |
| - if (statistician) |
| - statistician->ResetStatistics(); |
| -} |
| - |
| void ViEChannel::RegisterSendFrameCountObserver( |
| FrameCountObserver* observer) { |
| send_frame_count_observer_.Set(observer); |