diff options
Diffstat (limited to 'media/capture/video/mac/video_capture_device_mac.mm')
-rw-r--r-- | media/capture/video/mac/video_capture_device_mac.mm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/media/capture/video/mac/video_capture_device_mac.mm b/media/capture/video/mac/video_capture_device_mac.mm index 432fbfb..ec6fcaf 100644 --- a/media/capture/video/mac/video_capture_device_mac.mm +++ b/media/capture/video/mac/video_capture_device_mac.mm @@ -545,8 +545,18 @@ void VideoCaptureDeviceMac::ReceiveFrame(const uint8_t* video_frame, return; } + base::TimeTicks aligned_timestamp; + if (timestamp == media::kNoTimestamp()) { + aligned_timestamp = base::TimeTicks::Now(); + } else { + if (first_timestamp_ == media::kNoTimestamp()) { + first_timestamp_ = timestamp; + first_aligned_timestamp_ = base::TimeTicks::Now(); + } + aligned_timestamp = first_aligned_timestamp_ + timestamp - first_timestamp_; + } client_->OnIncomingCapturedData(video_frame, video_frame_length, frame_format, - 0, base::TimeTicks::Now()); + 0, aligned_timestamp); } void VideoCaptureDeviceMac::ReceiveError( |