]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: Raise exception when params for create_producer and create_consumer does...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 2 Mar 2011 18:15:04 +0000 (18:15 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 2 Mar 2011 18:15:04 +0000 (18:15 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@511 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

mixer/frame_mixer_device.cpp
mixer/frame_mixer_device.h
protocol/media.cpp

index aa71ea5d7ab9ff0be5e38a2fc35804fc3886f536..aa0070fee7e84c324b8180c29b454c23cbbedcc0 100644 (file)
@@ -112,14 +112,20 @@ public:
                return executor_.invoke([&]{return audio_transforms_[index];});\r
        }\r
 \r
-       void set_image_transform(int index, image_transform&& transform)\r
+       void set_image_transform(int index, image_transform&& transform, int mix_duration)\r
        {\r
-               return executor_.invoke([&]{image_transforms_[index] = std::move(transform);});\r
+               return executor_.invoke([&]\r
+               {\r
+                       image_transforms_[index] = std::move(transform);\r
+               });\r
        }\r
 \r
-       void set_audio_transform(int index, audio_transform&& transform)\r
+       void set_audio_transform(int index, audio_transform&& transform, int mix_duration)\r
        {\r
-               return executor_.invoke([&]{audio_transforms_[index] = std::move(transform);});\r
+               return executor_.invoke([&]\r
+               {\r
+                       audio_transforms_[index] = std::move(transform);\r
+               });\r
        }\r
 \r
        std::wstring print() const\r
@@ -152,7 +158,7 @@ safe_ptr<write_frame> frame_mixer_device::create_frame(pixel_format::type pix_fm
 }\r
 image_transform frame_mixer_device::get_image_transform(int index){return impl_->get_image_transform(index);}\r
 audio_transform frame_mixer_device::get_audio_transform(int index){return impl_->get_audio_transform(index);}\r
-void frame_mixer_device::set_image_transform(int index, image_transform&& transform){impl_->set_image_transform(index, std::move(transform));}\r
-void frame_mixer_device::set_audio_transform(int index, audio_transform&& transform){impl_->set_audio_transform(index, std::move(transform));}\r
+void frame_mixer_device::set_image_transform(int index, image_transform&& transform, int mix_duration){impl_->set_image_transform(index, std::move(transform), mix_duration);}\r
+void frame_mixer_device::set_audio_transform(int index, audio_transform&& transform, int mix_duration){impl_->set_audio_transform(index, std::move(transform), mix_duration);}\r
 \r
 }}
\ No newline at end of file
index a526feb944fd99069f4056e0727eecc270df7745..879bd32baf518975d0aebb14c009f1a178f3e042 100644 (file)
@@ -57,8 +57,8 @@ public:
        image_transform get_image_transform(int index);\r
        audio_transform get_audio_transform(int index);\r
 \r
-       void set_image_transform(int index, image_transform&& transform);\r
-       void set_audio_transform(int index, audio_transform&& transform);\r
+       void set_image_transform(int index, image_transform&& transform, int mix_duration = 0);\r
+       void set_audio_transform(int index, audio_transform&& transform, int mix_duration = 0);\r
 \r
 private:\r
        struct implementation;\r
index 954248eb6444f286538d6c4bc8b026b1be24cbf3..b816d84f877b8363dc60c604c1f1f7a95fe739f4 100644 (file)
@@ -2,6 +2,8 @@
 \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
@@ -58,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
@@ -88,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