]> git.sesse.net Git - nageru/blobdiff - nageru/decklink_output.h
IWYU-fix nageru/*.h.
[nageru] / nageru / decklink_output.h
index f008dc3b32bec8f0c1aba542c4d3de3a8167b047..d5ec41446f255639e1781aa8662b3156f9d94665 100644 (file)
@@ -7,7 +7,7 @@
 #include <atomic>
 #include <chrono>
 #include <condition_variable>
-#include <deque>
+#include <map>
 #include <memory>
 #include <mutex>
 #include <queue>
 #include <vector>
 
 #include "DeckLinkAPI.h"
+#include "DeckLinkAPIModes.h"
 #include "DeckLinkAPITypes.h"
 #include "LinuxCOM.h"
 
+#include <bmusb/bmusb.h>
+
 #include "shared/context.h"
 #include "print_latency.h"
 #include "quittable_sleeper.h"
@@ -46,7 +49,7 @@ public:
        // where you get a freeze if querying an IDeckLinkInput interface
        // on an already-started card.
        bool set_device(IDeckLink *decklink, IDeckLinkInput *input_arg);
-       void start_output(uint32_t mode, int64_t base_pts);  // Mode comes from get_available_video_modes().
+       void start_output(uint32_t mode, int64_t base_pts, bool is_master_card);  // Mode comes from get_available_video_modes().
        void end_output();
 
        void send_frame(GLuint y_tex, GLuint cbcr_tex, movit::YCbCrLumaCoefficients ycbcr_coefficients, const std::vector<RefCountedFrame> &input_frames, int64_t pts, int64_t duration);
@@ -143,7 +146,7 @@ private:
        std::unordered_set<Frame *> scheduled_frames;  // Owned by the driver, so no unique_ptr. Under <frame_queue_mutex>.
 
        std::condition_variable frame_queues_changed;
-       bool playback_initiated = false, playback_started = false;
+       bool playback_initiated = false, playback_started = false, is_master_card = false;
        int64_t base_pts, frame_duration;
        BMDDisplayModeFlags current_mode_flags = 0;
        bool last_frame_had_mode_mismatch = false;