]> git.sesse.net Git - casparcg/blobdiff - core/video_channel.h
Fix a few Clang warnings.
[casparcg] / core / video_channel.h
index fb747eefea1a09abcdd61aec9e5ccf53e5df068d..4c256b0dca24861fd28e9c6b147be78d0d3bc4df 100644 (file)
 #pragma once
 
 #include <common/memory.h>
-#include <common/reactive.h>
 #include <common/forward.h>
 
+#include "fwd.h"
+
 #include "monitor/monitor.h"
 
 #include <boost/property_tree/ptree_fwd.hpp>
 
-FORWARD3(caspar, core, ogl, class accelerator);
-FORWARD2(caspar, core, class stage);
-FORWARD2(caspar, core, class mixer);
-FORWARD2(caspar, core, class output);
-FORWARD2(caspar, core, class image_mixer);
-FORWARD2(caspar, core, struct video_format_desc);
-FORWARD2(caspar, core, class frame_factory);
+#include <functional>
 
 namespace caspar { namespace core {
-       
+
 class video_channel final
 {
        video_channel(const video_channel&);
@@ -49,11 +44,15 @@ public:
 
        // Constructors
 
-       explicit video_channel(int index, const video_format_desc& format_desc, std::unique_ptr<image_mixer> image_mixer);
+       explicit video_channel(
+                       int index,
+                       const video_format_desc& format_desc,
+                       const audio_channel_layout& channel_layout,
+                       std::unique_ptr<image_mixer> image_mixer);
        ~video_channel();
 
        // Methods
-                       
+
        monitor::subject&                                               monitor_output();
 
        // Properties
@@ -67,14 +66,19 @@ public:
 
        core::video_format_desc                                 video_format_desc() const;
        void                                                                    video_format_desc(const core::video_format_desc& format_desc);
+       core::audio_channel_layout                              audio_channel_layout() const;
+       void                                                                    audio_channel_layout(const core::audio_channel_layout& channel_layout);
+
+       std::shared_ptr<void>                                   add_tick_listener(std::function<void()> listener);
 
        spl::shared_ptr<core::frame_factory>    frame_factory();
 
        boost::property_tree::wptree                    info() const;
+       boost::property_tree::wptree                    delay_info() const;
        int                                                                             index() const;
 private:
        struct impl;
        spl::unique_ptr<impl> impl_;
 };
 
-}}
\ No newline at end of file
+}}