]> git.sesse.net Git - casparcg/blob - core/consumer/frame_consumer_device.h
2.0.0.2: Moved safe_ptr from utility to memory folder.
[casparcg] / core / consumer / frame_consumer_device.h
1 #pragma once\r
2 \r
3 #include "../consumer/frame_consumer.h"\r
4 \r
5 #include <common/memory/safe_ptr.h>\r
6 \r
7 #include <vector>\r
8 \r
9 #include <boost/noncopyable.hpp>\r
10 \r
11 namespace caspar { namespace core {\r
12         \r
13 class draw_frame;\r
14 struct video_format_desc;\r
15 \r
16 class frame_consumer_device : boost::noncopyable\r
17 {\r
18 public:\r
19         explicit frame_consumer_device(const video_format_desc& format_desc, const std::vector<safe_ptr<frame_consumer>>& consumers);\r
20         frame_consumer_device(frame_consumer_device&& other);\r
21         void consume(safe_ptr<const read_frame>&& future_frame); // nothrow\r
22 private:\r
23         struct implementation;\r
24         safe_ptr<implementation> impl_;\r
25 };\r
26 \r
27 }}