]> git.sesse.net Git - nageru/blobdiff - nageru/mixer.h
Support unsynchronized HDMI/SDI output.
[nageru] / nageru / mixer.h
index 6e9da90c3c0e1a27bc830a18acd1407cf6cfc1f0..99385faeffc00430968ecbc1a40bc40acc286dfa 100644 (file)
@@ -326,6 +326,10 @@ public:
                desired_output_card_index = card_index;
        }
 
+       bool get_output_card_is_master() const {
+               return output_card_is_master;
+       }
+
        std::map<uint32_t, bmusb::VideoMode> get_available_output_video_modes() const;
 
        uint32_t get_output_video_mode() const {
@@ -396,9 +400,10 @@ private:
        std::unique_ptr<movit::ResourcePool> resource_pool;
        std::unique_ptr<Theme> theme;
        std::atomic<unsigned> audio_source_channel{0};
-       std::atomic<int> master_clock_channel{0};  // Gets overridden by <output_card_index> if set.
+       std::atomic<int> master_clock_channel{0};  // Gets overridden by <output_card_index> if output_card_is_master == true.
        int output_card_index = -1;  // -1 for none.
        uint32_t output_video_mode = -1;
+       bool output_card_is_master = false;  // Only relevant if output_card_index != -1.
 
        // The mechanics of changing the output card and modes are so intricately connected
        // with the work the mixer thread is doing. Thus, we don't change it directly,