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

Unified Diff: content/renderer/media/video_capture_impl.cc

Issue 101843005: Convert video capture pipline to base::TimeTicks (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/video_capture_impl.cc
diff --git a/content/renderer/media/video_capture_impl.cc b/content/renderer/media/video_capture_impl.cc
index 30b43ddfcf4d41c46782c4b7229a354ab60218b4..16c675eca7df3b1ba7bf4bbf30201e901a41164a 100644
--- a/content/renderer/media/video_capture_impl.cc
+++ b/content/renderer/media/video_capture_impl.cc
@@ -104,7 +104,7 @@ void VideoCaptureImpl::OnBufferDestroyed(int buffer_id) {
void VideoCaptureImpl::OnBufferReceived(
int buffer_id,
- base::Time timestamp,
+ base::TimeTicks timestamp,
const media::VideoCaptureFormat& format) {
capture_message_loop_proxy_->PostTask(FROM_HERE,
base::Bind(&VideoCaptureImpl::DoBufferReceivedOnCaptureThread,
@@ -177,7 +177,7 @@ void VideoCaptureImpl::DoStartCaptureOnCaptureThread(
}
DVLOG(1) << "StartCapture: starting with first resolution "
<< params_.requested_format.frame_size.ToString();
-
+ last_frame_timestamp_ = base::TimeTicks();
StartCaptureInternal();
}
}
@@ -242,7 +242,7 @@ void VideoCaptureImpl::DoBufferDestroyedOnCaptureThread(int buffer_id) {
void VideoCaptureImpl::DoBufferReceivedOnCaptureThread(
int buffer_id,
- base::Time timestamp,
+ base::TimeTicks timestamp,
const media::VideoCaptureFormat& format) {
DCHECK(capture_message_loop_proxy_->BelongsToCurrentThread());
@@ -252,6 +252,8 @@ void VideoCaptureImpl::DoBufferReceivedOnCaptureThread(
}
last_frame_format_ = format;
+ if (last_frame_timestamp_.is_null())
+ last_frame_timestamp_ = timestamp;
ClientBufferMap::iterator iter = client_buffers_.find(buffer_id);
DCHECK(iter != client_buffers_.end());
@@ -265,9 +267,7 @@ void VideoCaptureImpl::DoBufferReceivedOnCaptureThread(
reinterpret_cast<uint8*>(buffer->buffer->memory()),
buffer->buffer_size,
buffer->buffer->handle(),
- // TODO(sheu): convert VideoCaptureMessageFilter::Delegate to use
- // base::TimeTicks instead of base::Time. http://crbug.com/249215
- timestamp - base::Time::UnixEpoch(),
+ timestamp - last_frame_timestamp_,
miu 2014/01/06 22:39:37 Nice and clean! :-) I like how the first frame h
media::BindToLoop(
capture_message_loop_proxy_,
base::Bind(

Powered by Google App Engine
This is Rietveld 408576698