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

Side by Side Diff: content/browser/renderer_host/media/video_capture_device_impl.cc

Issue 101843005: Convert video capture pipline to base::TimeTicks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 9890509b Rebase, Windows compile fixes Created 6 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 | Annotate | Revision Log
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/browser/renderer_host/media/video_capture_device_impl.h" 5 #include "content/browser/renderer_host/media/video_capture_device_impl.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback_forward.h" 9 #include "base/callback_forward.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 capture_size_ = gfx::Size( 55 capture_size_ = gfx::Size(
56 MakeEven(params.requested_format.frame_size.width()), 56 MakeEven(params.requested_format.frame_size.width()),
57 MakeEven(params.requested_format.frame_size.height())); 57 MakeEven(params.requested_format.frame_size.height()));
58 frame_rate_ = params.requested_format.frame_rate; 58 frame_rate_ = params.requested_format.frame_rate;
59 } 59 }
60 60
61 ThreadSafeCaptureOracle::~ThreadSafeCaptureOracle() {} 61 ThreadSafeCaptureOracle::~ThreadSafeCaptureOracle() {}
62 62
63 bool ThreadSafeCaptureOracle::ObserveEventAndDecideCapture( 63 bool ThreadSafeCaptureOracle::ObserveEventAndDecideCapture(
64 VideoCaptureOracle::Event event, 64 VideoCaptureOracle::Event event,
65 base::Time event_time, 65 base::TimeTicks event_time,
66 scoped_refptr<media::VideoFrame>* storage, 66 scoped_refptr<media::VideoFrame>* storage,
67 CaptureFrameCallback* callback) { 67 CaptureFrameCallback* callback) {
68 base::AutoLock guard(lock_); 68 base::AutoLock guard(lock_);
69 69
70 if (!client_) 70 if (!client_)
71 return false; // Capture is stopped. 71 return false; // Capture is stopped.
72 72
73 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> output_buffer = 73 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> output_buffer =
74 client_->ReserveOutputBuffer(media::VideoFrame::I420, capture_size_); 74 client_->ReserveOutputBuffer(media::VideoFrame::I420, capture_size_);
75 const bool should_capture = 75 const bool should_capture =
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 159
160 void ThreadSafeCaptureOracle::ReportError() { 160 void ThreadSafeCaptureOracle::ReportError() {
161 base::AutoLock guard(lock_); 161 base::AutoLock guard(lock_);
162 if (client_) 162 if (client_)
163 client_->OnError(); 163 client_->OnError();
164 } 164 }
165 165
166 void ThreadSafeCaptureOracle::DidCaptureFrame( 166 void ThreadSafeCaptureOracle::DidCaptureFrame(
167 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> buffer, 167 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> buffer,
168 int frame_number, 168 int frame_number,
169 base::Time timestamp, 169 base::TimeTicks timestamp,
170 bool success) { 170 bool success) {
171 base::AutoLock guard(lock_); 171 base::AutoLock guard(lock_);
172 TRACE_EVENT_ASYNC_END2("mirroring", "Capture", buffer.get(), 172 TRACE_EVENT_ASYNC_END2("mirroring", "Capture", buffer.get(),
173 "success", success, 173 "success", success,
174 "timestamp", timestamp.ToInternalValue()); 174 "timestamp", timestamp.ToInternalValue());
175 175
176 if (!client_) 176 if (!client_)
177 return; // Capture is stopped. 177 return; // Capture is stopped.
178 178
179 if (success) { 179 if (success) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 return; 295 return;
296 296
297 if (oracle_proxy_) 297 if (oracle_proxy_)
298 oracle_proxy_->ReportError(); 298 oracle_proxy_->ReportError();
299 299
300 StopAndDeAllocate(); 300 StopAndDeAllocate();
301 TransitionStateTo(kError); 301 TransitionStateTo(kError);
302 } 302 }
303 303
304 } // namespace content 304 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698