Chromium Code Reviews| 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)); |