}\r
};\r
\r
-safe_ptr<core::frame_producer> create_raw_producer(const safe_ptr<core::frame_factory>& frame_factory, const std::vector<std::wstring>& params)\r
+safe_ptr<core::frame_producer> create_raw_producer(const safe_ptr<core::frame_factory>& frame_factory,\r
+ const std::vector<std::wstring>& params,\r
+ const std::vector<std::wstring>& original_case_params)\r
{\r
+ if (params[0] == L"[PNG_BASE64]")\r
+ {\r
+ if (params.size() < 2)\r
+ return core::frame_producer::empty();\r
+\r
+ auto png_data = from_base64(narrow(original_case_params[1]));\r
+\r
+ return make_safe<image_producer>(frame_factory, png_data.data(), png_data.size());\r
+ }\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
+ std::wstring filename = env::media_folder() + params[0];\r
\r
auto ext = std::find_if(extensions.begin(), extensions.end(), [&](const std::wstring& ex) -> bool\r
{ \r