3 #include "../producer/frame_producer.h"
\r
4 #include "../consumer/frame_consumer.h"
\r
5 #include "../frame/frame_format.h"
\r
9 namespace caspar { namespace core { namespace renderer {
\r
11 class render_device : boost::noncopyable
\r
14 render_device(const frame_format_desc& format_desc, const std::vector<frame_consumer_ptr>& consumers);
\r
16 void load(int render_layer, const frame_producer_ptr& producer, load_option option = load_option::none);
\r
17 void pause(int render_layer);
\r
18 void play(int render_layer);
\r
19 void stop(int render_layer);
\r
20 void clear(int render_layer);
\r
23 frame_producer_ptr active(int render_layer) const;
\r
24 frame_producer_ptr background(int render_layer) const;
\r
26 const frame_format_desc& get_frame_format_desc() const;
\r
28 struct implementation;
\r
29 std::shared_ptr<implementation> impl_;
\r
31 typedef std::shared_ptr<render_device> render_device_ptr;
\r
32 typedef std::unique_ptr<render_device> render_device_uptr;
\r