*/\r
#pragma once\r
\r
-#include <core/consumer/frame_consumer.h>\r
-#include <core/video_format.h>\r
+#include <common/memory/safe_ptr.h>\r
\r
#include <vector>\r
+#include <boost/property_tree/ptree.hpp>\r
\r
-namespace caspar {\r
+namespace caspar { \r
\r
-enum stretch\r
-{\r
- none,\r
- uniform,\r
- fill,\r
- uniform_to_fill\r
-};\r
-\r
-class ogl_consumer : public core::frame_consumer\r
-{\r
-public: \r
- explicit ogl_consumer(unsigned int screen_index = 0, stretch stretch = stretch::fill, bool windowed = false);\r
- ogl_consumer(ogl_consumer&& other);\r
- \r
- virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const core::read_frame>&);\r
- virtual size_t buffer_depth() const;\r
- virtual std::wstring print() const;\r
-private:\r
- struct implementation;\r
- std::shared_ptr<implementation> impl_;\r
-};\r
-\r
-safe_ptr<core::frame_consumer> create_ogl_consumer(const std::vector<std::wstring>& params);\r
-\r
-}
\ No newline at end of file
+namespace core {\r
+ struct frame_consumer;\r
+}\r
+\r
+namespace ogl {\r
+\r
+\r
+safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_consumer(const boost::property_tree::ptree& ptree);\r
+\r
+}}
\ No newline at end of file