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

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

Issue 2604833003: Revert of Tab (and AuraWindow) Capture: Capture refresh frame after Resume() (Closed)
Patch Set: Created 3 years, 11 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 859 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 "WebContents and/or main frame are gone."); 870 "WebContents and/or main frame are gone.");
871 } 871 }
872 return; 872 return;
873 } 873 }
874 874
875 if (frame_capture_active_) { 875 if (frame_capture_active_) {
876 DVLOG(1) << "Renewing ContentCaptureSubscription to RWH@" << rwh; 876 DVLOG(1) << "Renewing ContentCaptureSubscription to RWH@" << rwh;
877 subscription_.reset(new ContentCaptureSubscription( 877 subscription_.reset(new ContentCaptureSubscription(
878 *rwh, oracle_proxy_, base::Bind(&WebContentsCaptureMachine::Capture, 878 *rwh, oracle_proxy_, base::Bind(&WebContentsCaptureMachine::Capture,
879 weak_ptr_factory_.GetWeakPtr()))); 879 weak_ptr_factory_.GetWeakPtr())));
880 // Whenever the target changes, capture a refresh frame immediately to make
881 // sure the latest frame in the video stream has the correct content.
882 subscription_->MaybeCaptureForRefresh();
883 } 880 }
884 } 881 }
885 882
886 void WebContentsCaptureMachine::UpdateCaptureSize() { 883 void WebContentsCaptureMachine::UpdateCaptureSize() {
887 DCHECK_CURRENTLY_ON(BrowserThread::UI); 884 DCHECK_CURRENTLY_ON(BrowserThread::UI);
888 885
889 if (!oracle_proxy_) 886 if (!oracle_proxy_)
890 return; 887 return;
891 RenderWidgetHost* const rwh = tracker_->GetTargetRenderWidgetHost(); 888 RenderWidgetHost* const rwh = tracker_->GetTargetRenderWidgetHost();
892 RenderWidgetHostView* const view = rwh ? rwh->GetView() : nullptr; 889 RenderWidgetHostView* const view = rwh ? rwh->GetView() : nullptr;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 void WebContentsVideoCaptureDevice::StopAndDeAllocate() { 956 void WebContentsVideoCaptureDevice::StopAndDeAllocate() {
960 core_->StopAndDeAllocate(); 957 core_->StopAndDeAllocate();
961 } 958 }
962 959
963 void WebContentsVideoCaptureDevice::OnUtilizationReport(int frame_feedback_id, 960 void WebContentsVideoCaptureDevice::OnUtilizationReport(int frame_feedback_id,
964 double utilization) { 961 double utilization) {
965 core_->OnConsumerReportingUtilization(frame_feedback_id, utilization); 962 core_->OnConsumerReportingUtilization(frame_feedback_id, utilization);
966 } 963 }
967 964
968 } // namespace content 965 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698