#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