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

Side by Side Diff: content/browser/media/capture/web_contents_video_capture_device.cc

Issue 188633002: Query the preferred readback config in CopyFromBackingStore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for test build issue. Created 6 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Implementation notes: This needs to work on a variety of hardware 5 // Implementation notes: This needs to work on a variety of hardware
6 // configurations where the speed of the CPU and GPU greatly affect overall 6 // configurations where the speed of the CPU and GPU greatly affect overall
7 // performance. Spanning several threads, the process of capturing has been 7 // performance. Spanning several threads, the process of capturing has been
8 // split up into four conceptual stages: 8 // split up into four conceptual stages:
9 // 9 //
10 // 1. Reserve Buffer: Before a frame can be captured, a slot in the client's 10 // 1. Reserve Buffer: Before a frame can be captured, a slot in the client's
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 base::Bind(&WebContentsCaptureMachine:: 664 base::Bind(&WebContentsCaptureMachine::
665 DidCopyFromCompositingSurfaceToVideoFrame, 665 DidCopyFromCompositingSurfaceToVideoFrame,
666 weak_ptr_factory_.GetWeakPtr(), 666 weak_ptr_factory_.GetWeakPtr(),
667 start_time, deliver_frame_cb)); 667 start_time, deliver_frame_cb));
668 } else { 668 } else {
669 rwh->CopyFromBackingStore( 669 rwh->CopyFromBackingStore(
670 gfx::Rect(), 670 gfx::Rect(),
671 fitted_size, // Size here is a request not always honored. 671 fitted_size, // Size here is a request not always honored.
672 base::Bind(&WebContentsCaptureMachine::DidCopyFromBackingStore, 672 base::Bind(&WebContentsCaptureMachine::DidCopyFromBackingStore,
673 weak_ptr_factory_.GetWeakPtr(), 673 weak_ptr_factory_.GetWeakPtr(),
674 start_time, target, deliver_frame_cb)); 674 start_time,
675 target,
676 deliver_frame_cb),
677 SkBitmap::kARGB_8888_Config);
675 } 678 }
676 } 679 }
677 680
678 bool WebContentsCaptureMachine::StartObservingWebContents() { 681 bool WebContentsCaptureMachine::StartObservingWebContents() {
679 // Look-up the RenderViewHost and, from that, the WebContents that wraps it. 682 // Look-up the RenderViewHost and, from that, the WebContents that wraps it.
680 // If successful, begin observing the WebContents instance. 683 // If successful, begin observing the WebContents instance.
681 // 684 //
682 // Why this can be unsuccessful: The request for mirroring originates in a 685 // Why this can be unsuccessful: The request for mirroring originates in a
683 // render process, and this request is based on the current RenderView 686 // render process, and this request is based on the current RenderView
684 // associated with a tab. However, by the time we get up-and-running here, 687 // associated with a tab. However, by the time we get up-and-running here,
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 scoped_ptr<Client> client) { 821 scoped_ptr<Client> client) {
819 DVLOG(1) << "Allocating " << params.requested_format.frame_size.ToString(); 822 DVLOG(1) << "Allocating " << params.requested_format.frame_size.ToString();
820 core_->AllocateAndStart(params, client.Pass()); 823 core_->AllocateAndStart(params, client.Pass());
821 } 824 }
822 825
823 void WebContentsVideoCaptureDevice::StopAndDeAllocate() { 826 void WebContentsVideoCaptureDevice::StopAndDeAllocate() {
824 core_->StopAndDeAllocate(); 827 core_->StopAndDeAllocate();
825 } 828 }
826 829
827 } // namespace content 830 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698