3 #include "../monitor/monitor.h"
5 #include <common/memory.h>
7 #include <boost/property_tree/ptree_fwd.hpp>
9 namespace caspar { namespace core {
11 class port : public monitor::observable
14 port& operator=(const port&);
21 port(int index, int channel_index, spl::shared_ptr<class frame_consumer> consumer);
27 port& operator=(port&& other);
29 bool send(class const_frame frame);
31 // monitor::observable
33 void subscribe(const monitor::observable::observer_ptr& o) override;
34 void unsubscribe(const monitor::observable::observer_ptr& o) override;
38 void video_format_desc(const struct video_format_desc& format_desc);
39 int buffer_depth() const;
40 bool has_synchronization_clock() const;
41 boost::property_tree::wptree info() const;
44 std::unique_ptr<impl> impl_;