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 |