]> git.sesse.net Git - casparcg/blob - core/video_channel_context.h
2.0 image_mixer: Refactored, core: Fixed destruction proxy usage.
[casparcg] / core / video_channel_context.h
1 #pragma once\r
2 \r
3 #include <common/concurrency/executor.h>\r
4 \r
5 #include <core/video_format.h>\r
6 \r
7 #include <tbb/spin_rw_mutex.h>\r
8 \r
9 #include <boost/noncopyable.hpp>\r
10 #include <boost/lexical_cast.hpp>\r
11 \r
12 #include <string>\r
13 \r
14 namespace caspar { \r
15 \r
16 class executor;\r
17 \r
18 namespace core {\r
19 \r
20 class ogl_device;\r
21 \r
22 class video_channel_context\r
23 {\r
24 \r
25 public:\r
26         video_channel_context(int index, ogl_device& ogl, const video_format_desc& format_desc);\r
27 \r
28         const int                       index() const;\r
29         video_format_desc       get_format_desc();\r
30         void                            set_format_desc(const video_format_desc& format_desc);\r
31         executor&                       execution();\r
32         executor&                       destruction();\r
33         ogl_device&                     ogl();\r
34         std::wstring            print() const;\r
35 private:\r
36         struct implementation;\r
37         std::shared_ptr<implementation> impl_;\r
38 };\r
39         \r
40 }}