summaryrefslogtreecommitdiffstats
path: root/remoting/client/frame_consumer.h
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 19:48:42 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 19:48:42 +0000
commit8ea7a167522a24be192e958af46a41d49e78504c (patch)
tree571cf839290beed90019a744c3a096be89cc67d1 /remoting/client/frame_consumer.h
parentb552f1787ca864e458e4c14e6012c20b423161a5 (diff)
downloadchromium_src-8ea7a167522a24be192e958af46a41d49e78504c.zip
chromium_src-8ea7a167522a24be192e958af46a41d49e78504c.tar.gz
chromium_src-8ea7a167522a24be192e958af46a41d49e78504c.tar.bz2
This is a monster CL.
It started as an attempt to put the decoder onto another thread. However, this became complicated due to multiple object ownership transfers and coupling between the decode layer and the network layer; the decoder's states were highly coupled with how the network packets were processed. This could probably be broken up slightly, but at this point, it's easier to just commit as a whole The refactor includes: 1) Making the decoder interface unaware of "network packet" types. 2) Making the network layer process packets in order. 3) Threading through asynchronous APIs all over the place. 4) Simplifying the rectangle update protocol. 5) Cleaning up object lifetime and ownership semantics between the decode layer and the renderer. As of right now, the Verbatim format is still broken on the encode side because it uses the old protocol. BUG=52883, 57351 TEST=still connects to chromoting_simple_host Review URL: http://codereview.chromium.org/3305001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61402 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/client/frame_consumer.h')
-rw-r--r--remoting/client/frame_consumer.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/remoting/client/frame_consumer.h b/remoting/client/frame_consumer.h
index 05c4448..90f5e55 100644
--- a/remoting/client/frame_consumer.h
+++ b/remoting/client/frame_consumer.h
@@ -5,6 +5,10 @@
#ifndef REMOTING_CLIENT_FRAME_CONSUMER_H_
#define REMOTING_CLIENT_FRAME_CONSUMER_H_
+#include "remoting/base/decoder.h" // For UpdatedRects
+
+class Task;
+
namespace remoting {
class FrameConsumer {
@@ -41,8 +45,8 @@ class FrameConsumer {
virtual void ReleaseFrame(media::VideoFrame* frame) = 0;
// OnPartialFrameOutput() is called every time at least one rectangle of
- // output is produced. The |frame| is guaranteed to have valid data for
- // every region included in the |rects| list.
+ // output is produced. The |frame| is guaranteed to have valid data for every
+ // region included in the |rects| list.
//
// Both |frame| and |rects| are guaranteed to be valid until the |done|
// callback is invoked.