Index: content/common/gpu/media/rendering_helper.h |
diff --git a/content/common/gpu/media/rendering_helper.h b/content/common/gpu/media/rendering_helper.h |
index 3ba1fc30d14725317108ee5ded9c2890e3b3ddc3..97306599b009b9e43511da26372243705138da08 100644 |
--- a/content/common/gpu/media/rendering_helper.h |
+++ b/content/common/gpu/media/rendering_helper.h |
@@ -33,8 +33,7 @@ namespace content { |
struct RenderingHelperParams { |
RenderingHelperParams(); |
~RenderingHelperParams(); |
- |
- bool suppress_swap_to_display; |
+ int rendering_fps; |
int num_windows; |
// Dimensions of window(s) created for displaying frames. In the |
// case of thumbnail rendering, these won't match the frame dimensions. |
@@ -50,6 +49,14 @@ struct RenderingHelperParams { |
gfx::Size thumbnail_size; |
}; |
+class RenderingHelper; |
+ |
+class RenderingClient { |
Ami GONE FROM CHROMIUM
2014/05/21 18:25:54
what is this?
(please document all classes, _espec
Owen Lin
2014/05/26 06:21:07
Done.
|
+ public: |
+ virtual void RenderContent(RenderingHelper* helper) = 0; |
Ami GONE FROM CHROMIUM
2014/05/21 18:25:54
Prefer callbacks to interface types like this. E.
Owen Lin
2014/05/26 06:21:07
Moved into RenderingHelper.
I am going to add some
|
+ protected: |
+ virtual ~RenderingClient() {} |
+}; |
// Creates and draws textures used by the video decoder. |
Ami GONE FROM CHROMIUM
2014/05/21 18:25:54
"draws" is now a lie?
Comment needs updating.
Owen Lin
2014/05/26 06:21:07
This class is the one who really draws textures.
|
// This class is not thread safe and thus all the methods of this class |
@@ -66,6 +73,8 @@ class RenderingHelper { |
// Undo the effects of Initialize() and signal |*done|. |
void UnInitialize(base::WaitableEvent* done); |
+ void SetClient(int window_id, RenderingClient* client); |
Ami GONE FROM CHROMIUM
2014/05/21 18:25:54
Would be easier to grok as a param to a once-only
Owen Lin
2014/05/26 06:21:07
Passed as the parameter of Initialize().
|
+ |
// Return a newly-created GLES2 texture id rendering to a specific window, and |
// signal |*done|. |
void CreateTexture(int window_id, |
@@ -73,7 +82,12 @@ class RenderingHelper { |
uint32* texture_id, |
base::WaitableEvent* done); |
- // Render |texture_id| to the screen using target |texture_target|. |
+ // Render thumbnail in the |texture_id| to the FBO buffer using target |
+ // |texture_target|. |
+ void RenderThumbnail(uint32 texture_target, uint32 texture_id); |
+ |
+ // Render |texture_id| to the current view port of the screen using target |
+ // |texture_target|. |
void RenderTexture(uint32 texture_target, uint32 texture_id); |
// Delete |texture_id|. |
@@ -95,10 +109,6 @@ class RenderingHelper { |
void Clear(); |
void RenderContent(); |
- void DrawTexture(const gfx::Rect &area, |
- uint32 texture_target, |
- uint32 texture_id); |
- |
base::RepeatingTimer<RenderingHelper> render_timer_; |
base::MessageLoop* message_loop_; |
std::vector<gfx::Size> frame_dimensions_; |
@@ -123,9 +133,7 @@ class RenderingHelper { |
// The rendering area of each window on the screen. |
std::vector<gfx::Rect> render_areas_; |
- // The texture to be rendered on each window. |
- std::vector<uint32> texture_ids_; |
- std::vector<uint32> texture_targets_; |
+ std::vector<RenderingClient*> clients_; |
bool render_as_thumbnails_; |
int frame_count_; |