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

Unified Diff: content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc

Issue 2045813003: Decouple capture timestamp and reference time (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit Created 4 years, 6 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/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
diff --git a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
index e47dd24a07bee541fb6684b17cea391aa174b2f8..4937c3ad7dc84b2cf6816ee90a67584c40661d1f 100644
--- a/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
+++ b/content/browser/renderer_host/media/video_capture_gpu_jpeg_decoder.cc
@@ -79,7 +79,8 @@ void VideoCaptureGpuJpegDecoder::DecodeCapturedData(
const uint8_t* data,
size_t in_buffer_size,
const media::VideoCaptureFormat& frame_format,
- const base::TimeTicks& timestamp,
+ base::TimeTicks reference_time,
+ base::TimeDelta timestamp,
std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> out_buffer) {
DCHECK(CalledOnValidThread());
DCHECK(decoder_);
@@ -133,7 +134,7 @@ void VideoCaptureGpuJpegDecoder::DecodeCapturedData(
out_buffer->mapped_size(), // data_size
out_handle, // handle
0, // shared_memory_offset
- base::TimeDelta()); // timestamp
+ timestamp); // timestamp
if (!out_frame) {
base::AutoLock lock(lock_);
decoder_status_ = FAILED;
@@ -143,10 +144,13 @@ void VideoCaptureGpuJpegDecoder::DecodeCapturedData(
out_frame->metadata()->SetDouble(media::VideoFrameMetadata::FRAME_RATE,
frame_format.frame_rate);
+ out_frame->metadata()->SetTimeTicks(media::VideoFrameMetadata::REFERENCE_TIME,
+ reference_time);
+
{
base::AutoLock lock(lock_);
- decode_done_closure_ = base::Bind(
- decode_done_cb_, base::Passed(&out_buffer), out_frame, timestamp);
+ decode_done_closure_ =
+ base::Bind(decode_done_cb_, base::Passed(&out_buffer), out_frame);
}
decoder_->Decode(in_buffer, out_frame);
#else

Powered by Google App Engine
This is Rietveld 408576698