]> git.sesse.net Git - casparcg/blobdiff - core/consumer/output.h
2.0.2: Improved INFO.
[casparcg] / core / consumer / output.h
index 3f9f638b022a730ff45c87daf24d6351849a58bb..656e8e2a89ab523857dba2b0ddf58702664e8a2e 100644 (file)
 #include <common/diagnostics/graph.h>\r
 \r
 #include <boost/noncopyable.hpp>\r
+#include <boost/property_tree/ptree_fwd.hpp>\r
+#include <boost/thread/future.hpp>\r
 \r
 namespace caspar { namespace core {\r
        \r
-class output : public target<std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>>, boost::noncopyable\r
+class output : public target<std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>>\r
+                        , boost::noncopyable\r
 {\r
 public:\r
        explicit output(const safe_ptr<diagnostics::graph>& graph, const video_format_desc& format_desc, int channel_index);\r
 \r
        // target\r
        \r
-       virtual void send(const std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>& frame) override;\r
+       virtual void send( const std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>& frame) override;\r
 \r
        // output\r
-\r
-       void add(safe_ptr<frame_consumer>&& consumer);\r
+       \r
+       void add(const safe_ptr<frame_consumer>& consumer);\r
+       void add(int index, const safe_ptr<frame_consumer>& consumer);\r
+       void remove(const safe_ptr<frame_consumer>& consumer);\r
        void remove(int index);\r
        \r
        void set_video_format_desc(const video_format_desc& format_desc);\r
 \r
+       boost::unique_future<boost::property_tree::wptree> info() const;\r
 private:\r
        struct implementation;\r
        safe_ptr<implementation> impl_;\r