]> git.sesse.net Git - casparcg/blobdiff - core/producer/frame_producer.cpp
fixed problem with wrong alpha in thumbnails.
[casparcg] / core / producer / frame_producer.cpp
index 194080ddb9a8e8771d37fa28af5e9cf11da00efb..066f7fce618b4764c2b4e39fb6d034adde925be1 100644 (file)
@@ -288,7 +288,7 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& my
                auto params_copy = params;\r
                if(params_copy.size() > 0)\r
                {\r
-                       auto resource_name = params_copy[0];\r
+                       auto resource_name = params_copy.at_original(0);\r
                        params_copy.set(0, resource_name + L"_A");\r
                        key_producer = do_create_producer(my_frame_factory, params_copy, g_factories);                  \r
                        if(key_producer == frame_producer::empty())\r
@@ -306,7 +306,7 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& my
        \r
        if(producer == frame_producer::empty())\r
        {\r
-               std::wstring str = params.get_original();\r
+               std::wstring str = params.get_original_string();\r
                BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(narrow(str)));\r
        }\r
 \r
@@ -315,7 +315,7 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& my
 \r
 safe_ptr<core::frame_producer> create_thumbnail_producer(const safe_ptr<frame_factory>& my_frame_factory, const std::wstring& media_file)\r
 {\r
-       std::vector<std::wstring> params;\r
+       core::parameters params;\r
        params.push_back(media_file);\r
 \r
        auto producer = do_create_producer(my_frame_factory, params, g_thumbnail_factories, true);\r
@@ -326,11 +326,12 @@ safe_ptr<core::frame_producer> create_thumbnail_producer(const safe_ptr<frame_fa
                auto params_copy = params;\r
                if (params_copy.size() > 0)\r
                {\r
-                       params_copy[0] += L"_A";\r
+                       auto resource_name = params_copy.at_original(0);\r
+                       params_copy.set(0, resource_name + L"_A");\r
                        key_producer = do_create_producer(my_frame_factory, params_copy, g_thumbnail_factories, true);\r
                        if (key_producer == frame_producer::empty())\r
                        {\r
-                               params_copy[0] += L"LPHA";\r
+                               params_copy.set(0, resource_name + L"_ALPHA");\r
                                key_producer = do_create_producer(my_frame_factory, params_copy, g_thumbnail_factories, true);\r
                        }\r
                }\r
@@ -350,21 +351,4 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& fa
        return create_producer(factory, params);\r
 }\r
 \r
-std::vector<std::wstring> protocol_split(std::wstring const& s)\r
-{\r
-  std::vector<std::wstring> result;\r
-  size_t pos;\r
-  if ((pos = s.find_first_of(L"://")) != std::wstring::npos)\r
-  {\r
-    result.push_back(s.substr(0, pos));\r
-    result.push_back(s.substr(pos + 3));\r
-  } else\r
-  {\r
-    result.push_back(L"");\r
-    result.push_back(s);\r
-  }\r
-  return result;\r
-}\r
-\r
-\r
 }}
\ No newline at end of file