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