]> git.sesse.net Git - casparcg/blobdiff - core/consumer/output.h
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
[casparcg] / core / consumer / output.h
index 762a768c2117c4e6bda1e040b994ee1ec584ea6b..85a925632ad778ca4d0c4becdb1ffd45a70ed103 100644 (file)
 #include <common/forward.h>
 #include <common/future_fwd.h>
 #include <common/memory.h>
-#include <common/reactive.h>
 
 #include <boost/property_tree/ptree_fwd.hpp>
 
+#include <future>
+
 FORWARD2(caspar, diagnostics, class graph);
 
 namespace caspar { namespace core {
@@ -45,11 +46,12 @@ public:
 
        // Constructors
 
-       explicit output(spl::shared_ptr<diagnostics::graph> graph, const video_format_desc& format_desc, int channel_index);
+       explicit output(spl::shared_ptr<caspar::diagnostics::graph> graph, const video_format_desc& format_desc, const core::audio_channel_layout& channel_layout, int channel_index);
        
        // Methods
 
-       void operator()(const_frame frame, const video_format_desc& format_desc);
+       // Returns when submitted to consumers, but the future indicates when the consumers are ready for a new frame.
+       std::future<void> operator()(const_frame frame, const video_format_desc& format_desc, const core::audio_channel_layout& channel_layout);
        
        void add(const spl::shared_ptr<frame_consumer>& consumer);
        void add(int index, const spl::shared_ptr<frame_consumer>& consumer);
@@ -61,6 +63,7 @@ public:
        // Properties
 
        std::future<boost::property_tree::wptree> info() const;
+       std::future<boost::property_tree::wptree> delay_info() const;
 
 private:
        struct impl;