\r
#include <common/concurrency/executor.h>\r
\r
-#include <core/mixer/gpu/ogl_device.h>\r
#include <core/video_format.h>\r
\r
#include <tbb/spin_rw_mutex.h>\r
\r
#include <string>\r
\r
-namespace caspar { namespace core {\r
+namespace caspar { \r
+\r
+class executor;\r
+\r
+namespace core {\r
+\r
+class ogl_device;\r
\r
class video_channel_context\r
{\r
- mutable tbb::spin_rw_mutex mutex_;\r
- const int index_;\r
- video_format_desc format_desc_;\r
- executor execution_;\r
- executor destruction_;\r
- ogl_device& ogl_;\r
\r
public:\r
video_channel_context(int index, ogl_device& ogl, const video_format_desc& format_desc);\r
executor& destruction();\r
ogl_device& ogl();\r
std::wstring print() const;\r
+private:\r
+ struct implementation;\r
+ std::shared_ptr<implementation> impl_;\r
};\r
\r
}}
\ No newline at end of file