Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Unified Diff: content/renderer/media/webrtc/media_stream_remote_video_source.cc

Issue 1265433003: Preliminary change for new rtc rendering algorithm (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move render_time to metadata Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));

Powered by Google App Engine
This is Rietveld 408576698