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

Unified Diff: remoting/client/software_video_renderer.cc

Issue 850983002: Implement video frame acknowledgements in the chromoting protocol. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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: remoting/client/software_video_renderer.cc
diff --git a/remoting/client/software_video_renderer.cc b/remoting/client/software_video_renderer.cc
index 49c768307150edb48983db4603016d3107cd8343..ff9d856ac3c109391f0005972b1bbf4dee09d61a 100644
--- a/remoting/client/software_video_renderer.cc
+++ b/remoting/client/software_video_renderer.cc
@@ -341,14 +341,15 @@ ChromotingStats* SoftwareVideoRenderer::GetStats() {
return &stats_;
}
-void SoftwareVideoRenderer::ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
- const base::Closure& done) {
+void SoftwareVideoRenderer::ProcessVideoPacket(
+ scoped_ptr<VideoPacket> packet,
+ const ProgressCallback& progress_callback) {
DCHECK(CalledOnValidThread());
// If the video packet is empty then drop it. Empty packets are used to
// maintain activity on the network.
if (!packet->has_data() || packet->data().size() == 0) {
- done.Run();
+ progress_callback.Run(PacketProgress::DONE);
return;
}
@@ -375,7 +376,7 @@ void SoftwareVideoRenderer::ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
base::Closure decode_done = base::Bind(&SoftwareVideoRenderer::OnPacketDone,
weak_factory_.GetWeakPtr(),
- decode_start, done);
+ decode_start, progress_callback);
Wez 2015/02/03 00:54:32 nit: Note that because you're binding this via a W
Sergey Ulanov 2015/02/09 19:14:54 Yes. These are not like Pepper callbacks that are
decode_task_runner_->PostTask(FROM_HERE, base::Bind(
&SoftwareVideoRenderer::Core::DecodePacket,
@@ -411,15 +412,16 @@ void SoftwareVideoRenderer::SetOutputSizeAndClip(
base::Unretained(core_.get()), view_size, clip_area));
}
-void SoftwareVideoRenderer::OnPacketDone(base::Time decode_start,
- const base::Closure& done) {
+void SoftwareVideoRenderer::OnPacketDone(
+ base::Time decode_start,
+ const ProgressCallback& progress_callback) {
DCHECK(CalledOnValidThread());
// Record the latency between the packet being received and presented.
stats_.video_decode_ms()->Record(
(base::Time::Now() - decode_start).InMilliseconds());
- done.Run();
+ progress_callback.Run(PacketProgress::DONE);
}
} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698