]> git.sesse.net Git - casparcg/blobdiff - core/producer/cg_proxy.h
[CG] Created producer that wraps a CG producer in a way that it can be treated as...
[casparcg] / core / producer / cg_proxy.h
index 76ea8fad61d9c875111aebf52078de73e9e77255..9684e94a82f0b8f300466303e7cbe1d61adc2d88 100644 (file)
@@ -32,7 +32,7 @@
 #include <boost/noncopyable.hpp>
 
 namespace caspar { namespace core {
-               
+
 class cg_proxy
 {
 public:
@@ -57,8 +57,7 @@ typedef std::function<spl::shared_ptr<cg_proxy>(
                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;
@@ -77,7 +76,7 @@ public:
                        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;
@@ -86,14 +85,17 @@ public:
                        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);
 
 }}