#pragma once\r
\r
#include "../frame/frame_fwd.h"\r
+#include "../frame/gpu_frame.h"\r
+#include "../frame/frame_factory.h"\r
\r
#include <boost/noncopyable.hpp>\r
\r
#include <memory>\r
\r
namespace caspar {\r
-\r
-class Monitor;\r
-\r
+ \r
class frame_producer : boost::noncopyable\r
{\r
public:\r
virtual ~frame_producer(){} \r
- virtual frame_ptr get_frame() = 0;\r
+ virtual gpu_frame_ptr get_frame() = 0;\r
virtual std::shared_ptr<frame_producer> get_following_producer() const { return nullptr; }\r
virtual void set_leading_producer(const std::shared_ptr<frame_producer>&) {}\r
virtual const frame_format_desc& get_frame_format_desc() const = 0;\r
+ virtual void initialize(const frame_factory_ptr& factory) = 0;\r
};\r
typedef std::shared_ptr<frame_producer> frame_producer_ptr;\r
\r