| Index: remoting/host/video_scheduler.h
|
| diff --git a/remoting/host/video_scheduler.h b/remoting/host/video_scheduler.h
|
| index d26c394c38973508fbd0b2761576a426160d838d..e0ca077cbaa076e9ef77d4305d704d501c578d10 100644
|
| --- a/remoting/host/video_scheduler.h
|
| +++ b/remoting/host/video_scheduler.h
|
| @@ -23,7 +23,6 @@ class SingleThreadTaskRunner;
|
| } // namespace base
|
|
|
| namespace media {
|
| -class ScreenCaptureData;
|
| class ScreenCapturer;
|
| } // namespace media
|
|
|
| @@ -74,7 +73,8 @@ class VideoStub;
|
| // too much CPU, or hogging the host's graphics subsystem.
|
|
|
| class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| - public media::ScreenCapturer::Delegate {
|
| + public webrtc::DesktopCapturer::Callback,
|
| + public media::ScreenCapturer::MouseShapeObserver {
|
| public:
|
| // Creates a VideoScheduler running capture, encode and network tasks on the
|
| // supplied TaskRunners. Video and cursor shape updates will be pumped to
|
| @@ -89,9 +89,11 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| protocol::CursorShapeStub* cursor_stub,
|
| protocol::VideoStub* video_stub);
|
|
|
| - // media::ScreenCapturer::Delegate implementation.
|
| - virtual void OnCaptureCompleted(
|
| - scoped_refptr<media::ScreenCaptureData> capture_data) OVERRIDE;
|
| + // webrtc::DesktopCapturer::Callback implementation.
|
| + virtual webrtc::SharedMemory* CreateSharedMemory(size_t size) OVERRIDE;
|
| + virtual void OnCaptureCompleted(webrtc::DesktopFrame* frame) OVERRIDE;
|
| +
|
| + // media::ScreenCapturer::MouseShapeObserver implementation.
|
| virtual void OnCursorShapeChanged(
|
| scoped_ptr<media::MouseCursorShape> cursor_shape) OVERRIDE;
|
|
|
| @@ -119,8 +121,7 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| // Starts the capturer on the capture thread.
|
| void StartOnCaptureThread();
|
|
|
| - // Stops scheduling frame captures on the capture thread, and posts
|
| - // StopOnEncodeThread() to the network thread when done.
|
| + // Stops scheduling frame captures on the capture thread.
|
| void StopOnCaptureThread();
|
|
|
| // Schedules the next call to CaptureNextFrame.
|
| @@ -147,13 +148,11 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| // Encoder thread -----------------------------------------------------------
|
|
|
| // Encode a frame, passing generated VideoPackets to SendVideoPacket().
|
| - void EncodeFrame(scoped_refptr<media::ScreenCaptureData> capture_data);
|
| -
|
| - void EncodedDataAvailableCallback(scoped_ptr<VideoPacket> packet);
|
| + void EncodeFrame(scoped_ptr<webrtc::DesktopFrame> frame,
|
| + int sequence_number);
|
|
|
| - // Used to synchronize capture and encode thread teardown, notifying the
|
| - // network thread when done.
|
| - void StopOnEncodeThread(scoped_ptr<media::ScreenCapturer> capturer);
|
| + void EncodedDataAvailableCallback(int sequence_number,
|
| + scoped_ptr<VideoPacket> packet);
|
|
|
| // Task runners used by this class.
|
| scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner_;
|
|
|