| OLD | NEW |
| 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 consumer's | 10 // 1. Reserve Buffer: Before a frame can be captured, a slot in the consumer's |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 510 is_started_ = false; | 510 is_started_ = false; |
| 511 consumer_ = NULL; | 511 consumer_ = NULL; |
| 512 } | 512 } |
| 513 | 513 |
| 514 void CaptureOracle::DidCaptureFrame( | 514 void CaptureOracle::DidCaptureFrame( |
| 515 const scoped_refptr<media::VideoFrame>& frame, | 515 const scoped_refptr<media::VideoFrame>& frame, |
| 516 base::Time timestamp, | 516 base::Time timestamp, |
| 517 bool success) { | 517 bool success) { |
| 518 base::AutoLock guard(lock_); | 518 base::AutoLock guard(lock_); |
| 519 | 519 |
| 520 TRACE_EVENT_ASYNC_END1("mirroring", "Capture", frame.get(), | 520 TRACE_EVENT_ASYNC_END2("mirroring", "Capture", frame.get(), |
| 521 "success", success); | 521 "success", success, |
| 522 "timestamp", timestamp.ToInternalValue()); |
| 522 | 523 |
| 523 if (!consumer_ || !is_started_) | 524 if (!consumer_ || !is_started_) |
| 524 return; // Capture is stopped. | 525 return; // Capture is stopped. |
| 525 | 526 |
| 526 if (success) | 527 if (success) |
| 527 consumer_->OnIncomingCapturedVideoFrame(frame, timestamp); | 528 consumer_->OnIncomingCapturedVideoFrame(frame, timestamp); |
| 528 } | 529 } |
| 529 | 530 |
| 530 bool FrameSubscriber::ShouldCaptureFrame( | 531 bool FrameSubscriber::ShouldCaptureFrame( |
| 531 scoped_refptr<media::VideoFrame>* storage, | 532 scoped_refptr<media::VideoFrame>* storage, |
| (...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1298 return false; | 1299 return false; |
| 1299 else | 1300 else |
| 1300 return true; | 1301 return true; |
| 1301 } | 1302 } |
| 1302 | 1303 |
| 1303 base::Time SmoothEventSampler::GetLastSampledEvent() { | 1304 base::Time SmoothEventSampler::GetLastSampledEvent() { |
| 1304 return last_sample_; | 1305 return last_sample_; |
| 1305 } | 1306 } |
| 1306 | 1307 |
| 1307 } // namespace content | 1308 } // namespace content |
| OLD | NEW |