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); |
}; |