]> git.sesse.net Git - casparcg/blobdiff - core/video_channel.h
Fix a few Clang warnings.
[casparcg] / core / video_channel.h
index c8dc1f090e20bbef0a62e660f56ddbfc702ec00d..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,31 +44,41 @@ 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();
+
+       monitor::subject&                                               monitor_output();
 
        // Properties
 
-       const core::stage&                                       stage() const;
-       core::stage&                                             stage();
-       const core::mixer&                                       mixer() const;
-       core::mixer&                                             mixer();
-       const core::output&                                      output() const;
-       core::output&                                            output();
-                                                                                
-       core::video_format_desc                          video_format_desc() const;
-       void                                                             video_format_desc(const core::video_format_desc& format_desc);
-       
-       spl::shared_ptr<core::frame_factory> frame_factory();
-
-       boost::property_tree::wptree             info() const;
+       const core::stage&                                              stage() const;
+       core::stage&                                                    stage();
+       const core::mixer&                                              mixer() const;
+       core::mixer&                                                    mixer();
+       const core::output&                                             output() const;
+       core::output&                                                   output();
+
+       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
+}}