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

Side by Side Diff: remoting/client/rectangle_update_decoder.h

Issue 23440046: Remove dependency on Skia from chromoting client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « remoting/client/plugin/pepper_view.cc ('k') | remoting/client/rectangle_update_decoder.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_CLIENT_RECTANGLE_UPDATE_DECODER_H_ 5 #ifndef REMOTING_CLIENT_RECTANGLE_UPDATE_DECODER_H_
6 #define REMOTING_CLIENT_RECTANGLE_UPDATE_DECODER_H_ 6 #define REMOTING_CLIENT_RECTANGLE_UPDATE_DECODER_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "base/callback_forward.h" 10 #include "base/callback_forward.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
13 #include "remoting/codec/video_decoder.h" 13 #include "remoting/codec/video_decoder.h"
14 #include "remoting/client/chromoting_stats.h" 14 #include "remoting/client/chromoting_stats.h"
15 #include "remoting/client/frame_consumer_proxy.h" 15 #include "remoting/client/frame_consumer_proxy.h"
16 #include "remoting/client/frame_producer.h" 16 #include "remoting/client/frame_producer.h"
17 #include "remoting/protocol/video_stub.h" 17 #include "remoting/protocol/video_stub.h"
18 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
18 19
19 namespace base { 20 namespace base {
20 class SingleThreadTaskRunner; 21 class SingleThreadTaskRunner;
21 } // namespace base 22 } // namespace base
22 23
23 namespace remoting { 24 namespace remoting {
24 25
25 class ChromotingStats; 26 class ChromotingStats;
26 27
27 namespace protocol { 28 namespace protocol {
(...skipping 17 matching lines...) Expand all
45 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 46 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
46 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner, 47 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner,
47 scoped_refptr<FrameConsumerProxy> consumer); 48 scoped_refptr<FrameConsumerProxy> consumer);
48 49
49 // Initializes decoder with the information from the protocol config. 50 // Initializes decoder with the information from the protocol config.
50 void Initialize(const protocol::SessionConfig& config); 51 void Initialize(const protocol::SessionConfig& config);
51 52
52 // FrameProducer implementation. These methods may be called before we are 53 // FrameProducer implementation. These methods may be called before we are
53 // Initialize()d, or we know the source screen size. 54 // Initialize()d, or we know the source screen size.
54 virtual void DrawBuffer(webrtc::DesktopFrame* buffer) OVERRIDE; 55 virtual void DrawBuffer(webrtc::DesktopFrame* buffer) OVERRIDE;
55 virtual void InvalidateRegion(const SkRegion& region) OVERRIDE; 56 virtual void InvalidateRegion(const webrtc::DesktopRegion& region) OVERRIDE;
56 virtual void RequestReturnBuffers(const base::Closure& done) OVERRIDE; 57 virtual void RequestReturnBuffers(const base::Closure& done) OVERRIDE;
57 virtual void SetOutputSizeAndClip(const SkISize& view_size, 58 virtual void SetOutputSizeAndClip(
58 const SkIRect& clip_area) OVERRIDE; 59 const webrtc::DesktopSize& view_size,
59 virtual const SkRegion* GetBufferShape() OVERRIDE; 60 const webrtc::DesktopRect& clip_area) OVERRIDE;
61 virtual const webrtc::DesktopRegion* GetBufferShape() OVERRIDE;
60 62
61 // VideoStub implementation. 63 // VideoStub implementation.
62 virtual void ProcessVideoPacket(scoped_ptr<VideoPacket> packet, 64 virtual void ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
63 const base::Closure& done) OVERRIDE; 65 const base::Closure& done) OVERRIDE;
64 66
65 // Return the stats recorded by this client. 67 // Return the stats recorded by this client.
66 ChromotingStats* GetStats(); 68 ChromotingStats* GetStats();
67 69
68 private: 70 private:
69 friend class base::RefCountedThreadSafe<RectangleUpdateDecoder>; 71 friend class base::RefCountedThreadSafe<RectangleUpdateDecoder>;
(...skipping 12 matching lines...) Expand all
82 // Callback method when a VideoPacket is processed. |decode_start| contains 84 // Callback method when a VideoPacket is processed. |decode_start| contains
83 // the timestamp when the packet will start to be processed. 85 // the timestamp when the packet will start to be processed.
84 void OnPacketDone(base::Time decode_start, const base::Closure& done); 86 void OnPacketDone(base::Time decode_start, const base::Closure& done);
85 87
86 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; 88 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
87 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_; 89 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_;
88 scoped_refptr<FrameConsumerProxy> consumer_; 90 scoped_refptr<FrameConsumerProxy> consumer_;
89 scoped_ptr<VideoDecoder> decoder_; 91 scoped_ptr<VideoDecoder> decoder_;
90 92
91 // Remote screen size in pixels. 93 // Remote screen size in pixels.
92 SkISize source_size_; 94 webrtc::DesktopSize source_size_;
93 95
94 // Vertical and horizontal DPI of the remote screen. 96 // Vertical and horizontal DPI of the remote screen.
95 SkIPoint source_dpi_; 97 webrtc::DesktopVector source_dpi_;
96 98
97 // The current dimensions of the frame consumer view. 99 // The current dimensions of the frame consumer view.
98 SkISize view_size_; 100 webrtc::DesktopSize view_size_;
99 SkIRect clip_area_; 101 webrtc::DesktopRect clip_area_;
100 102
101 // The drawing buffers supplied by the frame consumer. 103 // The drawing buffers supplied by the frame consumer.
102 std::list<webrtc::DesktopFrame*> buffers_; 104 std::list<webrtc::DesktopFrame*> buffers_;
103 105
104 // Flag used to coalesce runs of SchedulePaint()s into a single DoPaint(). 106 // Flag used to coalesce runs of SchedulePaint()s into a single DoPaint().
105 bool paint_scheduled_; 107 bool paint_scheduled_;
106 108
107 ChromotingStats stats_; 109 ChromotingStats stats_;
108 110
109 // Keep track of the most recent sequence number bounced back from the host. 111 // Keep track of the most recent sequence number bounced back from the host.
110 int64 latest_sequence_number_; 112 int64 latest_sequence_number_;
111 }; 113 };
112 114
113 } // namespace remoting 115 } // namespace remoting
114 116
115 #endif // REMOTING_CLIENT_RECTANGLE_UPDATE_DECODER_H_ 117 #endif // REMOTING_CLIENT_RECTANGLE_UPDATE_DECODER_H_
OLDNEW
« no previous file with comments | « remoting/client/plugin/pepper_view.cc ('k') | remoting/client/rectangle_update_decoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698