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

Side by Side Diff: remoting/client/plugin/pepper_video_renderer_2d.h

Issue 1559043004: Add GetFrameConsumer() in VideoRenderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_video_renderer
Patch Set: Created 4 years, 11 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_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_ 5 #ifndef REMOTING_CLIENT_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_
6 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_ 6 #define REMOTING_CLIENT_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/memory/scoped_vector.h" 13 #include "base/memory/scoped_vector.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "base/threading/thread_checker.h" 15 #include "base/threading/thread_checker.h"
16 #include "ppapi/cpp/graphics_2d.h" 16 #include "ppapi/cpp/graphics_2d.h"
17 #include "ppapi/cpp/image_data.h" 17 #include "ppapi/cpp/image_data.h"
18 #include "ppapi/cpp/point.h" 18 #include "ppapi/cpp/point.h"
19 #include "ppapi/cpp/view.h" 19 #include "ppapi/cpp/view.h"
20 #include "ppapi/utility/completion_callback_factory.h" 20 #include "ppapi/utility/completion_callback_factory.h"
21 #include "remoting/client/frame_consumer.h"
22 #include "remoting/client/plugin/pepper_video_renderer.h" 21 #include "remoting/client/plugin/pepper_video_renderer.h"
22 #include "remoting/protocol/frame_consumer.h"
23 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" 23 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
24 #include "third_party/webrtc/modules/desktop_capture/desktop_region.h" 24 #include "third_party/webrtc/modules/desktop_capture/desktop_region.h"
25 25
26 namespace base { 26 namespace base {
27 class ScopedClosureRunner; 27 class ScopedClosureRunner;
28 } // namespace base 28 } // namespace base
29 29
30 namespace webrtc { 30 namespace webrtc {
31 class DesktopFrame; 31 class DesktopFrame;
32 class SharedDesktopFrame; 32 class SharedDesktopFrame;
33 } // namespace webrtc 33 } // namespace webrtc
34 34
35 namespace remoting { 35 namespace remoting {
36 36
37 class SoftwareVideoRenderer; 37 class SoftwareVideoRenderer;
38 38
39 // Video renderer that wraps SoftwareVideoRenderer and displays it using Pepper 39 // Video renderer that wraps SoftwareVideoRenderer and displays it using Pepper
40 // 2D graphics API. 40 // 2D graphics API.
41 class PepperVideoRenderer2D : public PepperVideoRenderer, 41 class PepperVideoRenderer2D : public PepperVideoRenderer,
42 public FrameConsumer { 42 public protocol::FrameConsumer {
43 public: 43 public:
44 PepperVideoRenderer2D(); 44 PepperVideoRenderer2D();
45 ~PepperVideoRenderer2D() override; 45 ~PepperVideoRenderer2D() override;
46 46
47 // PepperVideoRenderer interface. 47 // PepperVideoRenderer interface.
48 bool Initialize(pp::Instance* instance, 48 bool Initialize(pp::Instance* instance,
49 const ClientContext& context, 49 const ClientContext& context,
50 EventHandler* event_handler, 50 EventHandler* event_handler,
51 protocol::PerformanceTracker* perf_tracker) override; 51 protocol::PerformanceTracker* perf_tracker) override;
52 void OnViewChanged(const pp::View& view) override; 52 void OnViewChanged(const pp::View& view) override;
53 void EnableDebugDirtyRegion(bool enable) override; 53 void EnableDebugDirtyRegion(bool enable) override;
54 54
55 // VideoRenderer interface. 55 // VideoRenderer interface.
56 void OnSessionConfig(const protocol::SessionConfig& config) override; 56 void OnSessionConfig(const protocol::SessionConfig& config) override;
57 protocol::VideoStub* GetVideoStub() override; 57 protocol::VideoStub* GetVideoStub() override;
58 protocol::FrameConsumer* GetFrameConsumer() override;
58 59
59 private: 60 private:
60 // FrameConsumer implementation. 61 // protocol::FrameConsumer implementation.
61 scoped_ptr<webrtc::DesktopFrame> AllocateFrame( 62 scoped_ptr<webrtc::DesktopFrame> AllocateFrame(
62 const webrtc::DesktopSize& size) override; 63 const webrtc::DesktopSize& size) override;
63 void DrawFrame(scoped_ptr<webrtc::DesktopFrame> frame, 64 void DrawFrame(scoped_ptr<webrtc::DesktopFrame> frame,
64 const base::Closure& done) override; 65 const base::Closure& done) override;
65 PixelFormat GetPixelFormat() override; 66 PixelFormat GetPixelFormat() override;
66 67
67 68
68 void Flush(); 69 void Flush();
69 void OnFlushDone(int result); 70 void OnFlushDone(int result);
70 71
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 111
111 pp::CompletionCallbackFactory<PepperVideoRenderer2D> callback_factory_; 112 pp::CompletionCallbackFactory<PepperVideoRenderer2D> callback_factory_;
112 base::WeakPtrFactory<PepperVideoRenderer2D> weak_factory_; 113 base::WeakPtrFactory<PepperVideoRenderer2D> weak_factory_;
113 114
114 DISALLOW_COPY_AND_ASSIGN(PepperVideoRenderer2D); 115 DISALLOW_COPY_AND_ASSIGN(PepperVideoRenderer2D);
115 }; 116 };
116 117
117 } // namespace remoting 118 } // namespace remoting
118 119
119 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_ 120 #endif // REMOTING_CLIENT_PLUGIN_PEPPER_VIDEO_RENDERER_2D_H_
OLDNEW
« no previous file with comments | « remoting/client/jni/jni_frame_consumer.cc ('k') | remoting/client/plugin/pepper_video_renderer_2d.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698