]> git.sesse.net Git - casparcg/blobdiff - core/mixer/mixer.h
Added support for more than 2 audio channels
[casparcg] / core / mixer / mixer.h
index c01482527784c02081b934003bab95297ce836a8..bd0420d3c8e81d4daa2405eec97a817f767ef96c 100644 (file)
@@ -46,6 +46,7 @@ class basic_frame;
 class ogl_device;\r
 struct frame_transform;\r
 struct pixel_format;\r
+struct channel_layout;\r
 \r
 class mixer : public target<std::pair<std::map<int, safe_ptr<core::basic_frame>>, std::shared_ptr<void>>>\r
                        , public core::frame_factory\r
@@ -53,7 +54,7 @@ class mixer : public target<std::pair<std::map<int, safe_ptr<core::basic_frame>>
 public:        \r
        typedef target<std::pair<safe_ptr<read_frame>, std::shared_ptr<void>>> target_t;\r
 \r
-       explicit mixer(const safe_ptr<diagnostics::graph>& graph, const safe_ptr<target_t>& target, const video_format_desc& format_desc, const safe_ptr<ogl_device>& ogl);\r
+       explicit mixer(const safe_ptr<diagnostics::graph>& graph, const safe_ptr<target_t>& target, const video_format_desc& format_desc, const safe_ptr<ogl_device>& ogl, const channel_layout& audio_channel_layout);\r
                \r
        // target\r
 \r
@@ -61,12 +62,16 @@ public:
                \r
        // mixer\r
 \r
-       safe_ptr<core::write_frame> create_frame(const void* tag, const core::pixel_format_desc& desc);         \r
+       safe_ptr<core::write_frame> create_frame(const void* tag, const core::pixel_format_desc& desc, const channel_layout& audio_channel_layout);             \r
        \r
        core::video_format_desc get_video_format_desc() const; // nothrow\r
        void set_video_format_desc(const video_format_desc& format_desc);\r
        \r
        void set_blend_mode(int index, blend_mode::type value);\r
+       void clear_blend_mode(int index);\r
+       void clear_blend_modes();\r
+\r
+       void set_master_volume(float volume);\r
 \r
        boost::unique_future<boost::property_tree::wptree> info() const;\r
        \r