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

Unified Diff: media/blink/webmediaplayer_impl.cc

Issue 2814043005: media: Report initial video height to UMA (Closed)
Patch Set: remove "average" Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/blink/webmediaplayer_impl.cc
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
index 172541b83589e380d6e5e3fc661da93561247df7..8384a527c1c289888d2e75f20d6f65c9f910b789 100644
--- a/media/blink/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
@@ -1406,20 +1406,18 @@ void WebMediaPlayerImpl::OnVideoNaturalSizeChange(const gfx::Size& size) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
DCHECK_NE(ready_state_, WebMediaPlayer::kReadyStateHaveNothing);
+ TRACE_EVENT0("media", "WebMediaPlayerImpl::OnNaturalSizeChanged");
+
// The input |size| is from the decoded video frame, which is the original
// natural size and need to be rotated accordingly.
gfx::Size rotated_size =
GetRotatedVideoSize(pipeline_metadata_.video_rotation, size);
- if (rotated_size == pipeline_metadata_.natural_size)
- return;
-
- TRACE_EVENT0("media", "WebMediaPlayerImpl::OnNaturalSizeChanged");
- media_log_->AddEvent(media_log_->CreateVideoSizeSetEvent(
- rotated_size.width(), rotated_size.height()));
+ RecordVideoNaturalSize(rotated_size);
- if (overlay_enabled_ && surface_manager_)
- surface_manager_->NaturalSizeChanged(rotated_size);
+ gfx::Size old_size = pipeline_metadata_.natural_size;
+ if (rotated_size == old_size)
+ return;
pipeline_metadata_.natural_size = rotated_size;
@@ -1428,6 +1426,9 @@ void WebMediaPlayerImpl::OnVideoNaturalSizeChange(const gfx::Size& size) {
if (!watch_time_reporter_->IsSizeLargeEnoughToReportWatchTime())
CreateWatchTimeReporter();
+ if (overlay_enabled_ && surface_manager_)
+ surface_manager_->NaturalSizeChanged(rotated_size);
+
client_->SizeChanged();
if (observer_)
@@ -2365,4 +2366,32 @@ void WebMediaPlayerImpl::RecordUnderflowDuration(base::TimeDelta duration) {
UMA_HISTOGRAM_TIMES("Media.UnderflowDuration.MSE", duration);
}
+#define UMA_HISTOGRAM_VIDEO_HEIGHT(name, sample) \
+ UMA_HISTOGRAM_CUSTOM_COUNTS(name, sample, 100, 10000, 50)
+
+void WebMediaPlayerImpl::RecordVideoNaturalSize(const gfx::Size& natural_size) {
+ // Always report video natural size to MediaLog.
+ media_log_->AddEvent(media_log_->CreateVideoSizeSetEvent(
+ natural_size.width(), natural_size.height()));
+
+ if (initial_video_height_recorded_)
+ return;
+
+ initial_video_height_recorded_ = true;
+
+ int height = natural_size.height();
+
+ if (load_type_ == kLoadTypeURL)
+ UMA_HISTOGRAM_VIDEO_HEIGHT("Media.VideoHeight.Initial.SRC", height);
+ else if (load_type_ == kLoadTypeMediaSource)
+ UMA_HISTOGRAM_VIDEO_HEIGHT("Media.VideoHeight.Initial.MSE", height);
+
+ if (is_encrypted_)
+ UMA_HISTOGRAM_VIDEO_HEIGHT("Media.VideoHeight.Initial.EME", height);
+
+ UMA_HISTOGRAM_VIDEO_HEIGHT("Media.VideoHeight.Initial.All", height);
+}
+
+#undef UMA_HISTOGRAM_VIDEO_HEIGHT
Ilya Sherman 2017/04/19 05:52:45 Optional nit: It seems a bit weird to #undef in an
xhwang 2017/04/19 06:03:50 Thanks for catching the weirdness. I am okay eithe
+
} // namespace media
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698