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

Unified Diff: media/capture/content/thread_safe_capture_oracle.cc

Issue 2566983007: [Mojo Video Capture] Replace method OnIncomingCapturedVideoFrame with OnIncomingCapturedBufferExt (Closed)
Patch Set: mcasas comments Created 4 years 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: media/capture/content/thread_safe_capture_oracle.cc
diff --git a/media/capture/content/thread_safe_capture_oracle.cc b/media/capture/content/thread_safe_capture_oracle.cc
index 9fc8f93b0f7e283eeee40ef89b188cd05d846b82..ad869b7d13051343a2164f66d7b1920ce34d7912 100644
--- a/media/capture/content/thread_safe_capture_oracle.cc
+++ b/media/capture/content/thread_safe_capture_oracle.cc
@@ -211,26 +211,33 @@ void ThreadSafeCaptureOracle::DidCaptureFrame(
base::AutoLock guard(lock_);
- if (oracle_.CompleteCapture(frame_number, success, &reference_time)) {
- TRACE_EVENT_INSTANT0("gpu.capture", "CaptureSucceeded",
- TRACE_EVENT_SCOPE_THREAD);
-
- if (!client_)
- return; // Capture is stopped.
-
- frame->metadata()->SetDouble(VideoFrameMetadata::FRAME_RATE,
- params_.requested_format.frame_rate);
- frame->metadata()->SetTimeTicks(VideoFrameMetadata::CAPTURE_BEGIN_TIME,
- capture_begin_time);
- frame->metadata()->SetTimeTicks(VideoFrameMetadata::CAPTURE_END_TIME,
- base::TimeTicks::Now());
- frame->metadata()->SetTimeDelta(VideoFrameMetadata::FRAME_DURATION,
- estimated_frame_duration);
- frame->metadata()->SetTimeTicks(VideoFrameMetadata::REFERENCE_TIME,
- reference_time);
-
- client_->OnIncomingCapturedVideoFrame(std::move(buffer), std::move(frame));
- }
+ if (!oracle_.CompleteCapture(frame_number, success, &reference_time))
+ return;
+
+ TRACE_EVENT_INSTANT0("gpu.capture", "CaptureSucceeded",
+ TRACE_EVENT_SCOPE_THREAD);
+
+ if (!client_)
+ return; // Capture is stopped.
+
+ frame->metadata()->SetDouble(VideoFrameMetadata::FRAME_RATE,
+ params_.requested_format.frame_rate);
+ frame->metadata()->SetTimeTicks(VideoFrameMetadata::CAPTURE_BEGIN_TIME,
+ capture_begin_time);
+ frame->metadata()->SetTimeTicks(VideoFrameMetadata::CAPTURE_END_TIME,
+ base::TimeTicks::Now());
+ frame->metadata()->SetTimeDelta(VideoFrameMetadata::FRAME_DURATION,
+ estimated_frame_duration);
+ frame->metadata()->SetTimeTicks(VideoFrameMetadata::REFERENCE_TIME,
+ reference_time);
+
+ DCHECK(frame->IsMappable());
+ media::VideoCaptureFormat format(frame->coded_size(),
+ params_.requested_format.frame_rate,
+ frame->format(), media::PIXEL_STORAGE_CPU);
+ client_->OnIncomingCapturedBufferExt(
+ std::move(buffer), format, reference_time, frame->timestamp(),
+ frame->visible_rect(), *frame->metadata());
}
void ThreadSafeCaptureOracle::OnConsumerReportingUtilization(

Powered by Google App Engine
This is Rietveld 408576698