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

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

Issue 1236663002: Allow shaped-desktop hosts to send shape only when it changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Pepper 2D renderer build Created 5 years, 5 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 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 18 matching lines...) Expand all
29 // FrameConsumer (which calls FrameProducer interface). 29 // FrameConsumer (which calls FrameProducer interface).
30 class SoftwareVideoRenderer : public VideoRenderer, 30 class SoftwareVideoRenderer : public VideoRenderer,
31 public protocol::VideoStub, 31 public protocol::VideoStub,
32 public FrameProducer, 32 public FrameProducer,
33 public base::NonThreadSafe { 33 public base::NonThreadSafe {
34 public: 34 public:
35 // Creates an update decoder on |main_task_runner_| and |decode_task_runner_|, 35 // Creates an update decoder on |main_task_runner_| and |decode_task_runner_|,
36 // outputting to |consumer|. The |main_task_runner_| is responsible for 36 // outputting to |consumer|. The |main_task_runner_| is responsible for
37 // receiving and queueing packets. The |decode_task_runner_| is responsible 37 // receiving and queueing packets. The |decode_task_runner_| is responsible
38 // for decoding the video packets. 38 // for decoding the video packets.
39 // TODO(wez): Replace the ref-counted proxy with an owned FrameConsumer.
40 SoftwareVideoRenderer( 39 SoftwareVideoRenderer(
41 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 40 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
42 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner, 41 scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner,
43 scoped_refptr<FrameConsumerProxy> consumer); 42 scoped_ptr<FrameConsumerProxy> consumer);
44 ~SoftwareVideoRenderer() override; 43 ~SoftwareVideoRenderer() override;
45 44
46 // VideoRenderer interface. 45 // VideoRenderer interface.
47 void OnSessionConfig(const protocol::SessionConfig& config) override; 46 void OnSessionConfig(const protocol::SessionConfig& config) override;
48 ChromotingStats* GetStats() override; 47 ChromotingStats* GetStats() override;
49 protocol::VideoStub* GetVideoStub() override; 48 protocol::VideoStub* GetVideoStub() override;
50 49
51 // protocol::VideoStub interface. 50 // protocol::VideoStub interface.
52 void ProcessVideoPacket(scoped_ptr<VideoPacket> packet, 51 void ProcessVideoPacket(scoped_ptr<VideoPacket> packet,
53 const base::Closure& done) override; 52 const base::Closure& done) override;
(...skipping 27 matching lines...) Expand all
81 int64 latest_event_timestamp_; 80 int64 latest_event_timestamp_;
82 81
83 base::WeakPtrFactory<SoftwareVideoRenderer> weak_factory_; 82 base::WeakPtrFactory<SoftwareVideoRenderer> weak_factory_;
84 83
85 DISALLOW_COPY_AND_ASSIGN(SoftwareVideoRenderer); 84 DISALLOW_COPY_AND_ASSIGN(SoftwareVideoRenderer);
86 }; 85 };
87 86
88 } // namespace remoting 87 } // namespace remoting
89 88
90 #endif // REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_ 89 #endif // REMOTING_CLIENT_SOFTWARE_VIDEO_RENDERER_H_
OLDNEW
« no previous file with comments | « remoting/client/plugin/pepper_video_renderer_3d.cc ('k') | remoting/client/software_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698