Index: talk/media/webrtc/webrtcvideoengine2.cc |
diff --git a/talk/media/webrtc/webrtcvideoengine2.cc b/talk/media/webrtc/webrtcvideoengine2.cc |
index 0a2152e5e4c891494f34df4a271acb13aa3ec90f..1344123a66931ba591cca6ea7f3ce135c0143c50 100644 |
--- a/talk/media/webrtc/webrtcvideoengine2.cc |
+++ b/talk/media/webrtc/webrtcvideoengine2.cc |
@@ -46,6 +46,7 @@ |
#include "webrtc/modules/video_coding/codecs/h264/include/h264.h" |
#include "webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter.h" |
#include "webrtc/system_wrappers/interface/field_trial.h" |
+#include "webrtc/system_wrappers/interface/tick_util.h" |
#include "webrtc/system_wrappers/interface/trace_event.h" |
#include "webrtc/video_decoder.h" |
#include "webrtc/video_encoder.h" |
@@ -1727,6 +1728,15 @@ void WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame( |
static_cast<int>(frame->GetWidth()), |
static_cast<int>(frame->GetHeight())); |
} |
+ |
+ // frame->GetTimeStamp is essentially a delta, align to system time |
pbos
2015/07/09 15:13:07
GetTimeStamp(), align to webrtc time.
qiangchen
2015/07/09 16:48:07
Done.
|
+ if (base_timestamp_ns_ == 0) { |
+ base_timestamp_ns_ = |
+ webrtc::TickTime::MicrosecondTimestamp() * 1000 - frame->GetTimeStamp(); |
pbos
2015/07/09 15:13:07
Pref using MillisecondTimestamp(), even though the
qiangchen
2015/07/09 16:48:07
Done.
|
+ } |
+ |
+ video_frame.set_render_time_ms((base_timestamp_ns_ + frame->GetTimeStamp()) / |
+ 1000000); |
// Reconfigure codec if necessary. |
SetDimensions( |
video_frame.width(), video_frame.height(), capturer->IsScreencast()); |