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

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

Issue 667123002: Standardize usage of virtual/override/final in remoting/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, 88 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner,
89 scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner, 89 scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner,
90 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, 90 scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
91 scoped_ptr<webrtc::DesktopCapturer> capturer, 91 scoped_ptr<webrtc::DesktopCapturer> capturer,
92 scoped_ptr<webrtc::MouseCursorMonitor> mouse_cursor_monitor, 92 scoped_ptr<webrtc::MouseCursorMonitor> mouse_cursor_monitor,
93 scoped_ptr<VideoEncoder> encoder, 93 scoped_ptr<VideoEncoder> encoder,
94 protocol::CursorShapeStub* cursor_stub, 94 protocol::CursorShapeStub* cursor_stub,
95 protocol::VideoStub* video_stub); 95 protocol::VideoStub* video_stub);
96 96
97 // webrtc::DesktopCapturer::Callback implementation. 97 // webrtc::DesktopCapturer::Callback implementation.
98 virtual webrtc::SharedMemory* CreateSharedMemory(size_t size) override; 98 webrtc::SharedMemory* CreateSharedMemory(size_t size) override;
99 virtual void OnCaptureCompleted(webrtc::DesktopFrame* frame) override; 99 void OnCaptureCompleted(webrtc::DesktopFrame* frame) override;
100 100
101 // webrtc::MouseCursorMonitor::Callback implementation. 101 // webrtc::MouseCursorMonitor::Callback implementation.
102 virtual void OnMouseCursor( 102 void OnMouseCursor(webrtc::MouseCursor* mouse_cursor) override;
103 webrtc::MouseCursor* mouse_cursor) override; 103 void OnMouseCursorPosition(webrtc::MouseCursorMonitor::CursorState state,
104 virtual void OnMouseCursorPosition( 104 const webrtc::DesktopVector& position) override;
105 webrtc::MouseCursorMonitor::CursorState state,
106 const webrtc::DesktopVector& position) override;
107 105
108 // Starts scheduling frame captures. 106 // Starts scheduling frame captures.
109 void Start(); 107 void Start();
110 108
111 // Stop scheduling frame captures. This object cannot be re-used once 109 // Stop scheduling frame captures. This object cannot be re-used once
112 // it has been stopped. 110 // it has been stopped.
113 void Stop(); 111 void Stop();
114 112
115 // Pauses or resumes scheduling of frame captures. Pausing/resuming captures 113 // Pauses or resumes scheduling of frame captures. Pausing/resuming captures
116 // only affects capture scheduling and does not stop/start the capturer. 114 // only affects capture scheduling and does not stop/start the capturer.
117 void Pause(bool pause); 115 void Pause(bool pause);
118 116
119 // Updates the sequence number embedded in VideoPackets. 117 // Updates the sequence number embedded in VideoPackets.
120 // Sequence numbers are used for performance measurements. 118 // Sequence numbers are used for performance measurements.
121 void UpdateSequenceNumber(int64 sequence_number); 119 void UpdateSequenceNumber(int64 sequence_number);
122 120
123 // Sets whether the video encoder should be requested to encode losslessly, 121 // Sets whether the video encoder should be requested to encode losslessly,
124 // or to use a lossless color space (typically requiring higher bandwidth). 122 // or to use a lossless color space (typically requiring higher bandwidth).
125 void SetLosslessEncode(bool want_lossless); 123 void SetLosslessEncode(bool want_lossless);
126 void SetLosslessColor(bool want_lossless); 124 void SetLosslessColor(bool want_lossless);
127 125
128 private: 126 private:
129 friend class base::RefCountedThreadSafe<VideoScheduler>; 127 friend class base::RefCountedThreadSafe<VideoScheduler>;
130 virtual ~VideoScheduler(); 128 ~VideoScheduler() override;
131 129
132 // Capturer thread ---------------------------------------------------------- 130 // Capturer thread ----------------------------------------------------------
133 131
134 // Starts the capturer on the capture thread. 132 // Starts the capturer on the capture thread.
135 void StartOnCaptureThread(); 133 void StartOnCaptureThread();
136 134
137 // Stops scheduling frame captures on the capture thread. 135 // Stops scheduling frame captures on the capture thread.
138 void StopOnCaptureThread(); 136 void StopOnCaptureThread();
139 137
140 // Schedules the next call to CaptureNextFrame. 138 // Schedules the next call to CaptureNextFrame.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 217
220 // An object to schedule capturing. 218 // An object to schedule capturing.
221 CaptureScheduler scheduler_; 219 CaptureScheduler scheduler_;
222 220
223 DISALLOW_COPY_AND_ASSIGN(VideoScheduler); 221 DISALLOW_COPY_AND_ASSIGN(VideoScheduler);
224 }; 222 };
225 223
226 } // namespace remoting 224 } // namespace remoting
227 225
228 #endif // REMOTING_HOST_VIDEO_SCHEDULER_H_ 226 #endif // REMOTING_HOST_VIDEO_SCHEDULER_H_
OLDNEW
« no previous file with comments | « remoting/host/video_frame_recorder_host_extension.cc ('k') | remoting/host/video_scheduler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698