\r
using namespace boost::assign;\r
\r
-namespace caspar {\r
+namespace caspar { namespace image {\r
\r
struct image_producer : public core::frame_producer\r
{ \r
{\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
\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
};\r
\r
-safe_ptr<core::frame_producer> create_image_producer(const safe_ptr<core::frame_factory>& frame_factory, const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_producer(const safe_ptr<core::frame_factory>& frame_factory, const std::vector<std::wstring>& params)\r
{\r
static const std::vector<std::wstring> extensions = list_of(L"png")(L"tga")(L"bmp")(L"jpg")(L"jpeg")(L"gif")(L"tiff")(L"tif")(L"jp2")(L"jpx")(L"j2k")(L"j2c");\r
std::wstring filename = env::media_folder() + L"\\" + params[0];\r
}\r
\r
\r
-}
\ No newline at end of file
+}}
\ No newline at end of file