]> git.sesse.net Git - casparcg/blobdiff - core/mixer/image/image_mixer.cpp
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
[casparcg] / core / mixer / image / image_mixer.cpp
index b754e28e899eb63e70c9dfb3c1283d1910d189b3..a93bcd8dec2a73592496a69436f050ccb232aa98 100644 (file)
@@ -60,9 +60,9 @@ typedef std::pair<blend_mode::type, std::vector<item>> layer;
 class image_renderer\r
 {\r
        ogl_device&                                                             ogl_;\r
-       video_format_desc                                               format_desc_;\r
+       const video_format_desc                                 format_desc_;\r
        image_kernel                                                    kernel_;        \r
-       std::shared_ptr<device_buffer>                  active_buffer_;\r
+       std::shared_ptr<device_buffer>                  transferring_buffer_;\r
 public:\r
        image_renderer(ogl_device& ogl, const video_format_desc& format_desc)\r
                : ogl_(ogl)\r
@@ -70,7 +70,7 @@ public:
        {\r
        }\r
        \r
-       boost::unique_future<safe_ptr<host_buffer>> render(std::vector<layer>&& layers)\r
+       boost::unique_future<safe_ptr<host_buffer>> operator()(std::vector<layer>&& layers)\r
        {               \r
                auto layers2 = make_move_on_copy(std::move(layers));\r
                return ogl_.begin_invoke([=]\r
@@ -113,7 +113,7 @@ private:
                ogl_.attach(*draw_buffer);\r
                host_buffer->begin_read(draw_buffer->width(), draw_buffer->height(), format(draw_buffer->stride()));\r
                \r
-               active_buffer_ = std::move(draw_buffer);\r
+               transferring_buffer_ = std::move(draw_buffer);\r
 \r
                ogl_.flush(); // NOTE: This is important, otherwise fences will deadlock.\r
                        \r
@@ -278,7 +278,7 @@ public:
        \r
        boost::unique_future<safe_ptr<host_buffer>> render()\r
        {\r
-               return renderer_.render(std::move(layers_));\r
+               return renderer_(std::move(layers_));\r
        }\r
 \r
        safe_ptr<write_frame> create_frame(const void* tag, const pixel_format_desc& desc)\r