]> git.sesse.net Git - nageru/blobdiff - nageru/mixer.cpp
Skip DeckLink cards marked as inactive.
[nageru] / nageru / mixer.cpp
index 5df80dfba0c2923820e014df5572284d9f6ed8b3..80fcb64a054bf3c2c3c8047dfb28de321e4e3604 100644 (file)
@@ -41,6 +41,7 @@
 #include "shared/context.h"
 #include "decklink_capture.h"
 #include "decklink_output.h"
+#include "decklink_util.h"
 #include "defs.h"
 #include "shared/disk_space_estimator.h"
 #include "ffmpeg_capture.h"
@@ -410,6 +411,12 @@ Mixer::Mixer(const QSurfaceFormat &format)
                                        break;
                                }
 
+                               if (!decklink_card_is_active(decklink, card_index)) {
+                                       fprintf(stderr, "DeckLink card %u is inactive in current profile, skipping (try changing it in Desktop Video Setup)\n", card_index);
+                                       decklink->Release();
+                                       continue;
+                               }
+
                                DeckLinkCapture *capture = new DeckLinkCapture(decklink, card_index);
                                DeckLinkOutput *output = new DeckLinkOutput(resource_pool.get(), decklink_output_surface, global_flags.width, global_flags.height, card_index);
                                if (!output->set_device(decklink)) {