Index: content/renderer/media/webrtc/media_stream_remote_video_source.cc |
diff --git a/content/renderer/media/webrtc/media_stream_remote_video_source.cc b/content/renderer/media/webrtc/media_stream_remote_video_source.cc |
index e81b37701de15df10019bdf517c105cdc50cffef..8e3ac3c7ad3dab5ec69b047727d8c75c66eaa232 100644 |
--- a/content/renderer/media/webrtc/media_stream_remote_video_source.cc |
+++ b/content/renderer/media/webrtc/media_stream_remote_video_source.cc |
@@ -62,7 +62,7 @@ RemoteVideoSourceDelegate::~RemoteVideoSourceDelegate() { |
void MediaStreamRemoteVideoSource::RemoteVideoSourceDelegate::RenderFrame( |
const cricket::VideoFrame* incoming_frame) { |
- TRACE_EVENT0("webrtc", "RemoteVideoSourceDelegate::RenderFrame"); |
+ TRACE_EVENT_BEGIN0("webrtc", "RemoteVideoSourceDelegate::RenderFrame"); |
DaleCurtis
2015/07/31 17:48:27
Ditto.
qiangchen
2015/07/31 20:06:07
Done.
|
base::TimeDelta timestamp = base::TimeDelta::FromMicroseconds( |
incoming_frame->GetElapsedTime() / rtc::kNumNanosecsPerMicrosec); |
@@ -96,6 +96,15 @@ void MediaStreamRemoteVideoSource::RemoteVideoSourceDelegate::RenderFrame( |
base::Bind(&base::DeletePointer<cricket::VideoFrame>, frame->Copy())); |
} |
+ base::TimeTicks render_time = |
+ base::TimeTicks::FromInternalValue(incoming_frame->GetTimeStamp() / 1000); |
DaleCurtis
2015/07/31 17:48:27
This still isn't correct unless the value returned
qiangchen
2015/07/31 20:06:07
This is a good point. The timestamp is from WebRTC
DaleCurtis
2015/08/03 21:08:04
If they're the same then using FromMicroseconds()
|
+ video_frame->metadata()->SetTimeTicks( |
+ media::VideoFrameMetadata::REFERENCE_TIME, |
+ render_time); |
+ |
+ TRACE_EVENT_END1("webrtc", "RemoteVideoSourceDelegate::RenderFrame", |
+ "Ideal Render Instant", render_time.ToInternalValue()); |
+ |
io_task_runner_->PostTask( |
FROM_HERE, base::Bind(&RemoteVideoSourceDelegate::DoRenderFrameOnIOThread, |
this, video_frame)); |