aboutsummaryrefslogtreecommitdiff
path: root/webrtc/common_video/i420_video_frame.cc
diff options
context:
space:
mode:
authorperkj@webrtc.org <perkj@webrtc.org>2015-03-06 12:37:19 +0000
committerperkj@webrtc.org <perkj@webrtc.org>2015-03-06 12:38:22 +0000
commitbcead305a2f27c30c72c6a3824fdf12f4b83c2eb (patch)
tree1ce2b74e44dadabe4945c3abcbefcafc9fd1701b /webrtc/common_video/i420_video_frame.cc
parent75e850e192aabe57b5a376d2127950acfffff7c6 (diff)
downloadwebrtc-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.cc8
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) {