#include <boost/noncopyable.hpp>
namespace caspar { namespace core {
-
+
class cg_proxy
{
public:
const spl::shared_ptr<frame_producer>& producer
)> cg_proxy_factory;
typedef std::function<spl::shared_ptr<frame_producer>(
- const spl::shared_ptr<frame_factory>& factory,
- const video_format_desc& format_desc,
+ const frame_producer_dependencies& dependencies,
const std::wstring& filename
)> cg_producer_factory;
typedef std::function<std::string(const std::wstring& filename)> meta_info_extractor;
bool reusable_producer_instance);
spl::shared_ptr<frame_producer> create_producer(
- const spl::shared_ptr<video_channel>& video_channel,
+ const frame_producer_dependencies& dependencies,
const std::wstring& filename) const;
spl::shared_ptr<cg_proxy> get_proxy(
const spl::shared_ptr<frame_producer>& producer) const;
int render_layer) const;
spl::shared_ptr<cg_proxy> get_or_create_proxy(
const spl::shared_ptr<video_channel>& video_channel,
+ const frame_producer_dependencies& dependencies,
int render_layer,
const std::wstring& filename) const;
std::string read_meta_info(const std::wstring& filename) const;
bool is_cg_extension(const std::wstring& extension) const;
+ std::wstring get_cg_producer_name(const std::wstring& filename) const;
private:
struct impl;
spl::shared_ptr<impl> impl_;
};
+void init_cg_proxy_as_producer(core::module_dependencies dependencies);
}}