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

Side by Side Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 405963004: Remove Media.AcceleratedCompositingActive UMA. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: obsolete Created 6 years, 5 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
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/renderer/media/webmediaplayer_impl.h" 5 #include "content/renderer/media/webmediaplayer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 opaque_(false), 162 opaque_(false),
163 paused_(true), 163 paused_(true),
164 seeking_(false), 164 seeking_(false),
165 playback_rate_(0.0f), 165 playback_rate_(0.0f),
166 pending_seek_(false), 166 pending_seek_(false),
167 pending_seek_seconds_(0.0f), 167 pending_seek_seconds_(0.0f),
168 should_notify_time_changed_(false), 168 should_notify_time_changed_(false),
169 client_(client), 169 client_(client),
170 delegate_(delegate), 170 delegate_(delegate),
171 defer_load_cb_(params.defer_load_cb()), 171 defer_load_cb_(params.defer_load_cb()),
172 accelerated_compositing_reported_(false),
173 incremented_externally_allocated_memory_(false), 172 incremented_externally_allocated_memory_(false),
174 gpu_factories_(RenderThreadImpl::current()->GetGpuFactories()), 173 gpu_factories_(RenderThreadImpl::current()->GetGpuFactories()),
175 supports_save_(true), 174 supports_save_(true),
176 chunk_demuxer_(NULL), 175 chunk_demuxer_(NULL),
177 // Threaded compositing isn't enabled universally yet. 176 // Threaded compositing isn't enabled universally yet.
178 compositor_task_runner_( 177 compositor_task_runner_(
179 RenderThreadImpl::current()->compositor_message_loop_proxy() 178 RenderThreadImpl::current()->compositor_message_loop_proxy()
180 ? RenderThreadImpl::current()->compositor_message_loop_proxy() 179 ? RenderThreadImpl::current()->compositor_message_loop_proxy()
181 : base::MessageLoopProxy::current()), 180 : base::MessageLoopProxy::current()),
182 compositor_(new VideoFrameCompositor( 181 compositor_(new VideoFrameCompositor(
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 bool data_progress = buffered_data_source_host_.DidLoadingProgress(); 513 bool data_progress = buffered_data_source_host_.DidLoadingProgress();
515 return pipeline_progress || data_progress; 514 return pipeline_progress || data_progress;
516 } 515 }
517 516
518 void WebMediaPlayerImpl::paint(WebCanvas* canvas, 517 void WebMediaPlayerImpl::paint(WebCanvas* canvas,
519 const WebRect& rect, 518 const WebRect& rect,
520 unsigned char alpha) { 519 unsigned char alpha) {
521 DCHECK(main_loop_->BelongsToCurrentThread()); 520 DCHECK(main_loop_->BelongsToCurrentThread());
522 TRACE_EVENT0("media", "WebMediaPlayerImpl:paint"); 521 TRACE_EVENT0("media", "WebMediaPlayerImpl:paint");
523 522
524 if (!accelerated_compositing_reported_) {
525 accelerated_compositing_reported_ = true;
526 // Normally paint() is only called in non-accelerated rendering, but there
527 // are exceptions such as webgl where compositing is used in the WebView but
528 // video frames are still rendered to a canvas.
529 UMA_HISTOGRAM_BOOLEAN(
530 "Media.AcceleratedCompositingActive",
531 frame_->view()->isAcceleratedCompositingActive());
532 }
533
534 // TODO(scherkus): Clarify paint() API contract to better understand when and 523 // TODO(scherkus): Clarify paint() API contract to better understand when and
535 // why it's being called. For example, today paint() is called when: 524 // why it's being called. For example, today paint() is called when:
536 // - We haven't reached HAVE_CURRENT_DATA and need to paint black 525 // - We haven't reached HAVE_CURRENT_DATA and need to paint black
537 // - We're painting to a canvas 526 // - We're painting to a canvas
538 // See http://crbug.com/341225 http://crbug.com/342621 for details. 527 // See http://crbug.com/341225 http://crbug.com/342621 for details.
539 scoped_refptr<media::VideoFrame> video_frame = 528 scoped_refptr<media::VideoFrame> video_frame =
540 GetCurrentFrameFromCompositor(); 529 GetCurrentFrameFromCompositor();
541 530
542 gfx::Rect gfx_rect(rect); 531 gfx::Rect gfx_rect(rect);
543 skcanvas_video_renderer_.Paint(video_frame.get(), canvas, gfx_rect, alpha); 532 skcanvas_video_renderer_.Paint(video_frame.get(), canvas, gfx_rect, alpha);
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 compositor_task_runner_->PostTask(FROM_HERE, 1350 compositor_task_runner_->PostTask(FROM_HERE,
1362 base::Bind(&GetCurrentFrameAndSignal, 1351 base::Bind(&GetCurrentFrameAndSignal,
1363 base::Unretained(compositor_), 1352 base::Unretained(compositor_),
1364 &video_frame, 1353 &video_frame,
1365 &event)); 1354 &event));
1366 event.Wait(); 1355 event.Wait();
1367 return video_frame; 1356 return video_frame;
1368 } 1357 }
1369 1358
1370 } // namespace content 1359 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698