diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-18 21:37:59 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-18 21:37:59 +0000 |
commit | 5a196bd4513a7902e82dc278f2a7919181429ec7 (patch) | |
tree | 322814f5fa90c991b0ce5b2d7a652278e16a8135 /remoting/host | |
parent | 60c2a1e67f50775ac75f4f5c681c2686e7b9935d (diff) | |
download | chromium_src-5a196bd4513a7902e82dc278f2a7919181429ec7.zip chromium_src-5a196bd4513a7902e82dc278f2a7919181429ec7.tar.gz chromium_src-5a196bd4513a7902e82dc278f2a7919181429ec7.tar.bz2 |
Fix some problems in SessionManager in chromoting
SessionManager doesn't handle empty dirty rect list, this is fixed in this patch.
This patch also make SessionManager handle rate controlling better.
Review URL: http://codereview.chromium.org/3127019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56605 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host')
-rw-r--r-- | remoting/host/session_manager.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/remoting/host/session_manager.cc b/remoting/host/session_manager.cc index 9d4f83e..f2cb3aa 100644 --- a/remoting/host/session_manager.cc +++ b/remoting/host/session_manager.cc @@ -381,6 +381,11 @@ void SessionManager::DoEncode( scoped_refptr<CaptureData> capture_data) { DCHECK_EQ(encode_loop_, MessageLoop::current()); + if (!capture_data->dirty_rects().size()) { + capture_loop_->PostTask( + FROM_HERE, NewRunnableMethod(this, &SessionManager::DoFinishEncode)); + } + // TODO(hclam): Enable |force_refresh| if a new client was // added. encoder_->Encode(capture_data, false, |