diff options
author | perkj@webrtc.org <perkj@webrtc.org> | 2015-03-06 12:37:19 +0000 |
---|---|---|
committer | perkj@webrtc.org <perkj@webrtc.org> | 2015-03-06 12:38:22 +0000 |
commit | bcead305a2f27c30c72c6a3824fdf12f4b83c2eb (patch) | |
tree | 1ce2b74e44dadabe4945c3abcbefcafc9fd1701b /webrtc/common_video/i420_video_frame.cc | |
parent | 75e850e192aabe57b5a376d2127950acfffff7c6 (diff) | |
download | webrtc-bcead305a2f27c30c72c6a3824fdf12f4b83c2eb.tar.gz |
Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.
This removes the none const pointer entry and SwapFrame.
Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.
With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame
BUG=1128
R=magjed@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46429004
Cr-Commit-Position: refs/heads/master@{#8633}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8633 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc/common_video/i420_video_frame.cc')
-rw-r--r-- | webrtc/common_video/i420_video_frame.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/webrtc/common_video/i420_video_frame.cc b/webrtc/common_video/i420_video_frame.cc index 0afdf10c6e..5b26cbbc02 100644 --- a/webrtc/common_video/i420_video_frame.cc +++ b/webrtc/common_video/i420_video_frame.cc @@ -139,6 +139,14 @@ int I420VideoFrame::CopyFrame(const I420VideoFrame& videoFrame) { return 0; } +void I420VideoFrame::ShallowCopy(const I420VideoFrame& videoFrame) { + video_frame_buffer_ = videoFrame.video_frame_buffer(); + timestamp_ = videoFrame.timestamp_; + ntp_time_ms_ = videoFrame.ntp_time_ms_; + render_time_ms_ = videoFrame.render_time_ms_; + rotation_ = videoFrame.rotation_; +} + I420VideoFrame* I420VideoFrame::CloneFrame() const { rtc::scoped_ptr<I420VideoFrame> new_frame(new I420VideoFrame()); if (new_frame->CopyFrame(*this) == -1) { |