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

Unified Diff: content/browser/media/capture/aura_window_capture_machine.cc

Issue 1162863003: Move ContentVideoCaptureDeviceCore from src/content to src/media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
Index: content/browser/media/capture/aura_window_capture_machine.cc
diff --git a/content/browser/media/capture/aura_window_capture_machine.cc b/content/browser/media/capture/aura_window_capture_machine.cc
index b17f31d68f170aab5a2a5e85264ef181f22886a9..e518896ba4125e16b2c883920931b591a2b31cf5 100644
--- a/content/browser/media/capture/aura_window_capture_machine.cc
+++ b/content/browser/media/capture/aura_window_capture_machine.cc
@@ -10,13 +10,13 @@
#include "cc/output/copy_output_request.h"
#include "cc/output/copy_output_result.h"
#include "content/browser/compositor/image_transport_factory.h"
-#include "content/browser/media/capture/content_video_capture_device_core.h"
#include "content/browser/media/capture/desktop_capture_device_uma_types.h"
#include "content/common/gpu/client/gl_helper.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/power_save_blocker.h"
#include "media/base/video_capture_types.h"
#include "media/base/video_util.h"
+#include "media/capture/media_video_capture_device_core.h"
#include "skia/ext/image_operations.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/aura/client/screen_position_client.h"
@@ -91,7 +91,7 @@ void RenderCursorOnVideoFrame(
void CopyOutputFinishedForVideo(
base::TimeTicks start_time,
- const ThreadSafeCaptureOracle::CaptureFrameCallback& capture_frame_cb,
+ const CaptureFrameCallback& capture_frame_cb,
const scoped_refptr<media::VideoFrame>& target,
const SkBitmap& cursor_bitmap,
const gfx::Point& cursor_position,
@@ -117,8 +117,23 @@ AuraWindowCaptureMachine::AuraWindowCaptureMachine()
AuraWindowCaptureMachine::~AuraWindowCaptureMachine() {}
-bool AuraWindowCaptureMachine::Start(
- const scoped_refptr<ThreadSafeCaptureOracle>& oracle_proxy,
+void AuraWindowCaptureMachine::Start(
+ const scoped_refptr<media::ThreadSafeCaptureOracle>& oracle_proxy,
+ const media::VideoCaptureParams& params,
+ const base::Callback<void(bool)> callback) {
+ // Starts the capture machine asynchronously.
+ BrowserThread::PostTaskAndReplyWithResult(
+ BrowserThread::UI,
+ FROM_HERE,
+ base::Bind(&AuraWindowCaptureMachine::InternalStart,
+ base::Unretained(this),
+ oracle_proxy,
+ params),
+ callback);
+}
+
+bool AuraWindowCaptureMachine::InternalStart(
+ const scoped_refptr<media::ThreadSafeCaptureOracle>& oracle_proxy,
const media::VideoCaptureParams& params) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -160,6 +175,15 @@ bool AuraWindowCaptureMachine::Start(
}
void AuraWindowCaptureMachine::Stop(const base::Closure& callback) {
+ // Stops the capture machine asynchronously.
+ BrowserThread::PostTask(
+ BrowserThread::UI, FROM_HERE, base::Bind(
+ &AuraWindowCaptureMachine::InternalStop,
+ base::Unretained(this),
+ callback));
+}
+
+void AuraWindowCaptureMachine::InternalStop(const base::Closure& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
power_save_blocker_.reset();
@@ -213,7 +237,7 @@ void AuraWindowCaptureMachine::Capture(bool dirty) {
return;
scoped_refptr<media::VideoFrame> frame;
- ThreadSafeCaptureOracle::CaptureFrameCallback capture_frame_cb;
+ media::ThreadSafeCaptureOracle::CaptureFrameCallback capture_frame_cb;
// TODO(miu): Need to fix this so the compositor is providing the presentation
// timestamps and damage regions, to leverage the frame timestamp rewriting
@@ -238,7 +262,7 @@ void AuraWindowCaptureMachine::Capture(bool dirty) {
void AuraWindowCaptureMachine::DidCopyOutput(
scoped_refptr<media::VideoFrame> video_frame,
base::TimeTicks start_time,
- const ThreadSafeCaptureOracle::CaptureFrameCallback& capture_frame_cb,
+ const CaptureFrameCallback& capture_frame_cb,
scoped_ptr<cc::CopyOutputResult> result) {
static bool first_call = true;
@@ -271,7 +295,7 @@ void AuraWindowCaptureMachine::DidCopyOutput(
bool AuraWindowCaptureMachine::ProcessCopyOutputResponse(
scoped_refptr<media::VideoFrame> video_frame,
base::TimeTicks start_time,
- const ThreadSafeCaptureOracle::CaptureFrameCallback& capture_frame_cb,
+ const CaptureFrameCallback& capture_frame_cb,
scoped_ptr<cc::CopyOutputResult> result) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);

Powered by Google App Engine
This is Rietveld 408576698