]> git.sesse.net Git - nageru/blobdiff - mixer.h
Add support for FFmpeg inputs.
[nageru] / mixer.h
diff --git a/mixer.h b/mixer.h
index 7837b3568641edb415444427655d03f30510bf5b..5fb195ec77793faf0a8e9d3989758caf6650b7de 100644 (file)
--- a/mixer.h
+++ b/mixer.h
@@ -334,7 +334,12 @@ public:
 private:
        struct CaptureCard;
 
-       void configure_card(unsigned card_index, bmusb::CaptureInterface *capture, bool is_fake_capture, DeckLinkOutput *output);
+       enum class CardType {
+               LIVE_CARD,
+               FAKE_CAPTURE,
+               FFMPEG_INPUT
+       };
+       void configure_card(unsigned card_index, bmusb::CaptureInterface *capture, CardType card_type, DeckLinkOutput *output);
        void set_output_card_internal(int card_index);  // Should only be called from the mixer thread.
        void bm_frame(unsigned card_index, uint16_t timecode,
                bmusb::FrameAllocator::Frame video_frame, size_t video_offset, bmusb::VideoFormat video_format,
@@ -355,7 +360,7 @@ private:
        void trim_queue(CaptureCard *card, unsigned card_index);
 
        HTTPD httpd;
-       unsigned num_cards;
+       unsigned num_cards, num_video_inputs;
 
        QSurface *mixer_surface, *h264_encoder_surface, *decklink_output_surface;
        std::unique_ptr<movit::ResourcePool> resource_pool;