Only allow increasing capture time.
Review URL: http://webrtc-codereview.appspot.com/259001 git-svn-id: http://webrtc.googlecode.com/svn/trunk@861 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
18ee6ec8e9
commit
29d75b3f7d
@ -168,7 +168,8 @@ VideoCaptureImpl::VideoCaptureImpl(const WebRtc_Word32 id)
|
|||||||
_lastFrameRateCallbackTime(TickTime::Now()), _frameRateCallBack(false),
|
_lastFrameRateCallbackTime(TickTime::Now()), _frameRateCallBack(false),
|
||||||
_noPictureAlarmCallBack(false), _captureAlarm(Cleared), _setCaptureDelay(0),
|
_noPictureAlarmCallBack(false), _captureAlarm(Cleared), _setCaptureDelay(0),
|
||||||
_dataCallBack(NULL), _captureCallBack(NULL), _startImageFrameIntervall(0),
|
_dataCallBack(NULL), _captureCallBack(NULL), _startImageFrameIntervall(0),
|
||||||
_lastProcessFrameCount(TickTime::Now()), _rotateFrame(kRotateNone)
|
_lastProcessFrameCount(TickTime::Now()), _rotateFrame(kRotateNone),
|
||||||
|
last_capture_time_(TickTime::MillisecondTimestamp())
|
||||||
|
|
||||||
{
|
{
|
||||||
_requestedCapability.width = kDefaultWidth;
|
_requestedCapability.width = kDefaultWidth;
|
||||||
@ -266,6 +267,12 @@ WebRtc_Word32 VideoCaptureImpl::DeliverCapturedFrame(VideoFrame& captureFrame,
|
|||||||
captureFrame.SetRenderTime(TickTime::MillisecondTimestamp());
|
captureFrame.SetRenderTime(TickTime::MillisecondTimestamp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (captureFrame.RenderTimeMs() == last_capture_time_) {
|
||||||
|
// We don't allow the same capture time for two frames, drop this one.
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
last_capture_time_ = captureFrame.RenderTimeMs();
|
||||||
|
|
||||||
captureFrame.SetHeight(height);
|
captureFrame.SetHeight(height);
|
||||||
captureFrame.SetWidth(width);
|
captureFrame.SetWidth(width);
|
||||||
|
|
||||||
|
@ -144,6 +144,9 @@ private:
|
|||||||
VideoRotationMode _rotateFrame; //Set if the frame should be rotated by the capture module.
|
VideoRotationMode _rotateFrame; //Set if the frame should be rotated by the capture module.
|
||||||
|
|
||||||
VideoFrame _captureFrame;
|
VideoFrame _captureFrame;
|
||||||
|
|
||||||
|
// Used to make sure incoming timestamp is increasing for every frame.
|
||||||
|
WebRtc_Word64 last_capture_time_;
|
||||||
};
|
};
|
||||||
} // namespace videocapturemodule
|
} // namespace videocapturemodule
|
||||||
} //namespace webrtc
|
} //namespace webrtc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user