3 #include <common/concurrency/executor.h>
\r
5 #include <core/mixer/gpu/ogl_device.h>
\r
6 #include <core/video_format.h>
\r
8 #include <tbb/spin_rw_mutex.h>
\r
10 #include <boost/noncopyable.hpp>
\r
11 #include <boost/lexical_cast.hpp>
\r
15 namespace caspar { namespace core {
\r
17 class video_channel_context
\r
19 mutable tbb::spin_rw_mutex mutex_;
\r
21 video_format_desc format_desc_;
\r
22 executor execution_;
\r
23 executor destruction_;
\r
27 video_channel_context(int index, ogl_device& ogl, const video_format_desc& format_desc);
\r
29 const int index() const;
\r
30 video_format_desc get_format_desc();
\r
31 void set_format_desc(const video_format_desc& format_desc);
\r
32 executor& execution();
\r
33 executor& destruction();
\r
35 std::wstring print() const;
\r