X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.h;h=5fb195ec77793faf0a8e9d3989758caf6650b7de;hb=bcdbb7bdfcfc45b34ccdf36d3950e7e0af6444bd;hp=7837b3568641edb415444427655d03f30510bf5b;hpb=336009fd7baf47b4ad71adf8d7ead8a526045788;p=nageru diff --git a/mixer.h b/mixer.h index 7837b35..5fb195e 100644 --- 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 resource_pool;