]> git.sesse.net Git - casparcg/blobdiff - modules/image/producer/image_producer.cpp
2.0.2: Refactoring. AMCP commands now executed asynchronously when possible, which...
[casparcg] / modules / image / producer / image_producer.cpp
index b3084f91954f63eba2dedcffc0a21a640c493389..532fd9d216e141d624da7faaf8502d62167f7984 100644 (file)
@@ -49,7 +49,12 @@ struct image_producer : public core::frame_producer
        {\r
                auto bitmap = load_image(filename_);\r
                FreeImage_FlipVertical(bitmap.get());\r
-               auto frame = frame_factory->create_frame(this, FreeImage_GetWidth(bitmap.get()), FreeImage_GetHeight(bitmap.get()), core::pixel_format::bgra);\r
+               \r
+               core::pixel_format_desc desc;\r
+               desc.pix_fmt = core::pixel_format::bgra;\r
+               desc.planes.push_back(core::pixel_format_desc::plane(FreeImage_GetWidth(bitmap.get()), FreeImage_GetHeight(bitmap.get()), 4));\r
+               auto frame = frame_factory->create_frame(this, desc);\r
+\r
                std::copy_n(FreeImage_GetBits(bitmap.get()), frame->image_data().size(), frame->image_data().begin());\r
                frame->commit();\r
                frame_ = std::move(frame);\r
@@ -57,14 +62,17 @@ struct image_producer : public core::frame_producer
        \r
        // frame_producer\r
 \r
-       virtual safe_ptr<core::basic_frame> receive(int){return frame_;}\r
+       virtual safe_ptr<core::basic_frame> receive(int) override\r
+       {\r
+               return frame_;\r
+       }\r
                \r
-       virtual safe_ptr<core::basic_frame> last_frame() const\r
+       virtual safe_ptr<core::basic_frame> last_frame() const override\r
        {\r
                return frame_;\r
        }\r
 \r
-       virtual std::wstring print() const\r
+       virtual std::wstring print() const override\r
        {\r
                return L"image_producer[" + filename_ + L"]";\r
        }\r