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

Side by Side Diff: remoting/client/software_video_renderer.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, 1 month 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
« no previous file with comments | « remoting/client/plugin/pepper_view.h ('k') | remoting/client/software_video_renderer.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_SOFTWARE_VIDEO_RENDERER_H_ 5 #ifndef REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_
6 #define REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_ 6 #define REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "remoting/client/chromoting_stats.h" 10 #include "remoting/client/chromoting_stats.h"
(...skipping 21 matching lines...) Expand all
32 public: 32 public:
33 // Creates an update decoder on |main_task_runner_| and |decode_task_runner_|, 33 // Creates an update decoder on |main_task_runner_| and |decode_task_runner_|,
34 // outputting to |consumer|. The |main_task_runner_| is responsible for 34 // outputting to |consumer|. The |main_task_runner_| is responsible for
35 // receiving and queueing packets. The |decode_task_runner_| is responsible 35 // receiving and queueing packets. The |decode_task_runner_| is responsible
36 // for decoding the video packets. 36 // for decoding the video packets.
37 // TODO(wez): Replace the ref-counted proxy with an owned FrameConsumer. 37 // TODO(wez): Replace the ref-counted proxy with an owned FrameConsumer.
38 SoftwareVideoRenderer( 38 SoftwareVideoRenderer(
39 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 39 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
40 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner, 40 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner,
41 scoped_refptr<FrameConsumerProxy> consumer); 41 scoped_refptr<FrameConsumerProxy> consumer);
42 virtual ~SoftwareVideoRenderer(); 42 ~SoftwareVideoRenderer() override;
43 43
44 // VideoRenderer implementation. 44 // VideoRenderer implementation.
45 virtual void Initialize(const protocol::SessionConfig& config) override; 45 void Initialize(const protocol::SessionConfig& config) override;
46 virtual ChromotingStats* GetStats() override; 46 ChromotingStats* GetStats() override;
47 virtual void ProcessVideoPacket(scoped_ptr<VideoPacket> packet, 47 void ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
48 const base::Closure& done) override; 48 const base::Closure& done) override;
49 49
50 // FrameProducer implementation. These methods may be called before we are 50 // FrameProducer implementation. These methods may be called before we are
51 // Initialize()d, or we know the source screen size. These methods may be 51 // Initialize()d, or we know the source screen size. These methods may be
52 // called on any thread. 52 // called on any thread.
53 // 53 //
54 // TODO(sergeyu): On Android a separate display thread is used for drawing. 54 // TODO(sergeyu): On Android a separate display thread is used for drawing.
55 // FrameConsumer calls FrameProducer on that thread. Can we avoid having a 55 // FrameConsumer calls FrameProducer on that thread. Can we avoid having a
56 // separate display thread? E.g. can we do everything on the decode thread? 56 // separate display thread? E.g. can we do everything on the decode thread?
57 virtual void DrawBuffer(webrtc::DesktopFrame* buffer) override; 57 void DrawBuffer(webrtc::DesktopFrame* buffer) override;
58 virtual void InvalidateRegion(const webrtc::DesktopRegion& region) override; 58 void InvalidateRegion(const webrtc::DesktopRegion& region) override;
59 virtual void RequestReturnBuffers(const base::Closure& done) override; 59 void RequestReturnBuffers(const base::Closure& done) override;
60 virtual void SetOutputSizeAndClip( 60 void SetOutputSizeAndClip(const webrtc::DesktopSize& view_size,
61 const webrtc::DesktopSize& view_size, 61 const webrtc::DesktopRect& clip_area) override;
62 const webrtc::DesktopRect& clip_area) override;
63 62
64 private: 63 private:
65 class Core; 64 class Core;
66 65
67 // Callback method when a VideoPacket is processed. |decode_start| contains 66 // Callback method when a VideoPacket is processed. |decode_start| contains
68 // the timestamp when the packet will start to be processed. 67 // the timestamp when the packet will start to be processed.
69 void OnPacketDone(base::Time decode_start, const base::Closure& done); 68 void OnPacketDone(base::Time decode_start, const base::Closure& done);
70 69
71 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_; 70 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_;
72 scoped_ptr<Core> core_; 71 scoped_ptr<Core> core_;
73 72
74 ChromotingStats stats_; 73 ChromotingStats stats_;
75 74
76 // Keep track of the most recent sequence number bounced back from the host. 75 // Keep track of the most recent sequence number bounced back from the host.
77 int64 latest_sequence_number_; 76 int64 latest_sequence_number_;
78 77
79 base::WeakPtrFactory<SoftwareVideoRenderer> weak_factory_; 78 base::WeakPtrFactory<SoftwareVideoRenderer> weak_factory_;
80 79
81 DISALLOW_COPY_AND_ASSIGN(SoftwareVideoRenderer); 80 DISALLOW_COPY_AND_ASSIGN(SoftwareVideoRenderer);
82 }; 81 };
83 82
84 } // namespace remoting 83 } // namespace remoting
85 84
86 #endif // REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_ 85 #endif // REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_
OLDNEW
« no previous file with comments | « remoting/client/plugin/pepper_view.h ('k') | remoting/client/software_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698