3 #include "../processor/frame_processor_device.h"
\r
4 #include "../consumer/frame_consumer.h"
\r
5 #include "../format/video_format.h"
\r
9 #include <functional>
\r
11 namespace caspar { namespace core {
\r
13 class frame_producer_device : boost::noncopyable
\r
16 frame_producer_device(const frame_processor_device_ptr& frame_processor);
\r
18 void load(int render_layer, const frame_producer_ptr& producer, load_option::type option = load_option::none);
\r
19 void pause(int render_layer);
\r
20 void play(int render_layer);
\r
21 void stop(int render_layer);
\r
22 void clear(int render_layer);
\r
25 frame_producer_ptr foreground(int render_layer) const;
\r
26 frame_producer_ptr background(int render_layer) const;
\r
28 struct implementation;
\r
29 std::shared_ptr<implementation> impl_;
\r
31 typedef std::shared_ptr<frame_producer_device> frame_producer_device_ptr;
\r