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

Side by Side Diff: remoting/host/video_scheduler.h

Issue 304653002: Extend VideoControl to allow clients to request lossless modes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/host/client_session.cc ('k') | remoting/host/video_scheduler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef REMOTING_HOST_VIDEO_SCHEDULER_H_ 5 #ifndef REMOTING_HOST_VIDEO_SCHEDULER_H_
6 #define REMOTING_HOST_VIDEO_SCHEDULER_H_ 6 #define REMOTING_HOST_VIDEO_SCHEDULER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 void Stop(); 105 void Stop();
106 106
107 // Pauses or resumes scheduling of frame captures. Pausing/resuming captures 107 // Pauses or resumes scheduling of frame captures. Pausing/resuming captures
108 // only affects capture scheduling and does not stop/start the capturer. 108 // only affects capture scheduling and does not stop/start the capturer.
109 void Pause(bool pause); 109 void Pause(bool pause);
110 110
111 // Updates the sequence number embedded in VideoPackets. 111 // Updates the sequence number embedded in VideoPackets.
112 // Sequence numbers are used for performance measurements. 112 // Sequence numbers are used for performance measurements.
113 void UpdateSequenceNumber(int64 sequence_number); 113 void UpdateSequenceNumber(int64 sequence_number);
114 114
115 // Sets whether the video encoder should be requested to encode losslessly,
116 // or to use a lossless color space (typically requiring higher bandwidth).
117 void SetLosslessEncode(bool want_lossless);
118 void SetLosslessColor(bool want_lossless);
119
115 private: 120 private:
116 friend class base::RefCountedThreadSafe<VideoScheduler>; 121 friend class base::RefCountedThreadSafe<VideoScheduler>;
117 virtual ~VideoScheduler(); 122 virtual ~VideoScheduler();
118 123
119 // Capturer thread ---------------------------------------------------------- 124 // Capturer thread ----------------------------------------------------------
120 125
121 // Starts the capturer on the capture thread. 126 // Starts the capturer on the capture thread.
122 void StartOnCaptureThread(); 127 void StartOnCaptureThread();
123 128
124 // Stops scheduling frame captures on the capture thread. 129 // Stops scheduling frame captures on the capture thread.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 195
191 // Set when the capturer is capturing a frame. 196 // Set when the capturer is capturing a frame.
192 bool capture_pending_; 197 bool capture_pending_;
193 198
194 // True if the previous scheduled capture was skipped. 199 // True if the previous scheduled capture was skipped.
195 bool did_skip_frame_; 200 bool did_skip_frame_;
196 201
197 // True if capture of video frames is paused. 202 // True if capture of video frames is paused.
198 bool is_paused_; 203 bool is_paused_;
199 204
200 // This is a number updated by client to trace performance. 205 // Number updated by the caller to trace performance.
201 int64 sequence_number_; 206 int64 sequence_number_;
202 207
203 // An object to schedule capturing. 208 // An object to schedule capturing.
204 CaptureScheduler scheduler_; 209 CaptureScheduler scheduler_;
205 210
206 DISALLOW_COPY_AND_ASSIGN(VideoScheduler); 211 DISALLOW_COPY_AND_ASSIGN(VideoScheduler);
207 }; 212 };
208 213
209 } // namespace remoting 214 } // namespace remoting
210 215
211 #endif // REMOTING_HOST_VIDEO_SCHEDULER_H_ 216 #endif // REMOTING_HOST_VIDEO_SCHEDULER_H_
OLDNEW
« no previous file with comments | « remoting/host/client_session.cc ('k') | remoting/host/video_scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698