]> git.sesse.net Git - casparcg/blobdiff - protocol/media.cpp
2.0.0.2: graph - Changed interface.
[casparcg] / protocol / media.cpp
index a700209e9fe8abfbcbdc33648e2725a96775a126..b816d84f877b8363dc60c604c1f1f7a95fe739f4 100644 (file)
@@ -2,11 +2,14 @@
 \r
 #include "media.h"\r
 \r
+#include <common/exception/exceptions.h>\r
+\r
 #include <core/producer/color/color_producer.h>\r
 #include <core/producer/ffmpeg/ffmpeg_producer.h>\r
 #include <core/producer/flash/cg_producer.h>\r
 #include <core/producer/image/image_producer.h>\r
 #include <core/producer/decklink/decklink_producer.h>\r
+#include <core/producer/silverlight/silverlight_producer.h>\r
 \r
 #include <core/consumer/bluefish/bluefish_consumer.h>\r
 #include <core/consumer/decklink/decklink_consumer.h>\r
@@ -32,11 +35,13 @@ safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>&
 \r
        const auto factories = list_of<factory_t>\r
                (&core::flash::create_ct_producer)\r
-               (&core::image::create_image_producer)\r
        //      (&image::create_image_scroll_producer)\r
                (&core::ffmpeg::create_ffmpeg_producer)\r
+               (&core::image::create_image_producer)\r
                (&core::create_decklink_producer)\r
-               (&core::create_color_producer);\r
+               (&core::create_color_producer)\r
+               //(&core::create_silverlight_producer)\r
+               ;\r
 \r
        if(params.empty())\r
                BOOST_THROW_EXCEPTION(invalid_argument() << arg_name_info("params") << arg_value_info(""));\r
@@ -55,6 +60,9 @@ safe_ptr<core::frame_producer> create_producer(const std::vector<std::wstring>&
                        return producer != frame_producer::empty();\r
                });\r
 \r
+       if(producer == frame_producer::empty())\r
+               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
+\r
        return producer;\r
 }\r
 \r
@@ -85,6 +93,9 @@ safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>&
                        }\r
                        return consumer != frame_consumer::empty();\r
                });\r
+       \r
+       if(consumer == frame_consumer::empty())\r
+               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
 \r
        return consumer;\r
 }\r