Chromium Code Reviews| Index: remoting/client/plugin/pepper_video_renderer_3d.h |
| diff --git a/remoting/client/plugin/pepper_video_renderer_3d.h b/remoting/client/plugin/pepper_video_renderer_3d.h |
| index e1699ecfff9a4acb76ebf87374b5635642be2920..cf7706b3843924f361ee76d5915e5a979dfd4b6c 100644 |
| --- a/remoting/client/plugin/pepper_video_renderer_3d.h |
| +++ b/remoting/client/plugin/pepper_video_renderer_3d.h |
| @@ -18,6 +18,7 @@ |
| #include "ppapi/cpp/video_decoder.h" |
| #include "ppapi/utility/completion_callback_factory.h" |
| #include "remoting/client/plugin/pepper_video_renderer.h" |
| +#include "remoting/client/plugin/pepper_video_renderer_2d.h" |
| #include "remoting/protocol/video_stub.h" |
| #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" |
| @@ -61,6 +62,12 @@ class PepperVideoRenderer3D : public PepperVideoRenderer, |
| class Picture; |
| + // A structure which contains OpenGl hardware limitations. |
| + struct GlLimits { |
|
Sergey Ulanov
2016/10/17 20:02:44
I don't think you really need this struct given th
Hzj_jie
2016/10/17 22:55:43
Done.
|
| + int texture_size; |
| + int viewport_size[2]; |
| + }; |
| + |
| // Callback for pp::VideoDecoder::Initialize(). |
| void OnInitialized(int32_t result); |
| @@ -136,6 +143,11 @@ class PepperVideoRenderer3D : public PepperVideoRenderer, |
| // the |current_picture_| is rendered. |
| std::list<std::unique_ptr<FrameTracker>> current_picture_frames_; |
| + // The fallback software renderer, if input video packet size is larger than |
| + // hardware limitation. |
| + PepperVideoRenderer2D fallback_renderer_; |
| + bool use_fallback_renderer_ = false; |
| + |
| // Set to true if the screen has been resized and needs to be repainted. |
| bool force_repaint_ = false; |
| @@ -158,6 +170,9 @@ class PepperVideoRenderer3D : public PepperVideoRenderer, |
| pp::CompletionCallbackFactory<PepperVideoRenderer3D> callback_factory_; |
| + // The hardware limitation. |
| + GlLimits gl_limits_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(PepperVideoRenderer3D); |
| }; |