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

Side by Side Diff: webrtc/video/send_statistics_proxy.cc

Issue 2368223002: Add VideoSendStream::Stats::prefered_media_bitrate_bps (Closed)
Patch Set: Addressed nits Created 4 years, 2 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
« no previous file with comments | « webrtc/video/send_statistics_proxy.h ('k') | webrtc/video/send_statistics_proxy_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 if (rtp_config.fec.red_payload_type != -1) { 332 if (rtp_config.fec.red_payload_type != -1) {
333 RTC_HISTOGRAMS_COUNTS_10000(kIndex, 333 RTC_HISTOGRAMS_COUNTS_10000(kIndex,
334 uma_prefix_ + "FecBitrateSentInKbps", 334 uma_prefix_ + "FecBitrateSentInKbps",
335 static_cast<int>(rtp_rtx.fec.TotalBytes() * 335 static_cast<int>(rtp_rtx.fec.TotalBytes() *
336 8 / elapsed_sec / 1000)); 336 8 / elapsed_sec / 1000));
337 } 337 }
338 } 338 }
339 } 339 }
340 } 340 }
341 341
342 void SendStatisticsProxy::SetContentType( 342 void SendStatisticsProxy::OnEncoderReconfigured(
343 VideoEncoderConfig::ContentType content_type) { 343 const VideoEncoderConfig& config,
344 uint32_t preferred_bitrate_bps) {
344 rtc::CritScope lock(&crit_); 345 rtc::CritScope lock(&crit_);
345 if (content_type_ != content_type) { 346 stats_.preferred_media_bitrate_bps = preferred_bitrate_bps;
347
348 if (content_type_ != config.content_type) {
346 uma_container_->UpdateHistograms(rtp_config_, stats_); 349 uma_container_->UpdateHistograms(rtp_config_, stats_);
347 uma_container_.reset( 350 uma_container_.reset(new UmaSamplesContainer(
348 new UmaSamplesContainer(GetUmaPrefix(content_type), stats_, clock_)); 351 GetUmaPrefix(config.content_type), stats_, clock_));
349 content_type_ = content_type; 352 content_type_ = config.content_type;
350 } 353 }
351 } 354 }
352 355
353 void SendStatisticsProxy::OnEncoderStatsUpdate(uint32_t framerate, 356 void SendStatisticsProxy::OnEncoderStatsUpdate(uint32_t framerate,
354 uint32_t bitrate) { 357 uint32_t bitrate) {
355 rtc::CritScope lock(&crit_); 358 rtc::CritScope lock(&crit_);
356 stats_.encode_frame_rate = framerate; 359 stats_.encode_frame_rate = framerate;
357 stats_.media_bitrate_bps = bitrate; 360 stats_.media_bitrate_bps = bitrate;
358 } 361 }
359 362
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 return Fraction(min_required_samples, 1000.0f); 644 return Fraction(min_required_samples, 1000.0f);
642 } 645 }
643 646
644 int SendStatisticsProxy::BoolSampleCounter::Fraction( 647 int SendStatisticsProxy::BoolSampleCounter::Fraction(
645 int min_required_samples, float multiplier) const { 648 int min_required_samples, float multiplier) const {
646 if (num_samples < min_required_samples || num_samples == 0) 649 if (num_samples < min_required_samples || num_samples == 0)
647 return -1; 650 return -1;
648 return static_cast<int>((sum * multiplier / num_samples) + 0.5f); 651 return static_cast<int>((sum * multiplier / num_samples) + 0.5f);
649 } 652 }
650 } // namespace webrtc 653 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/send_statistics_proxy.h ('k') | webrtc/video/send_statistics_proxy_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698