]> git.sesse.net Git - nageru/blobdiff - decklink_util.cpp
Default to SDI inputs instead of HDMI.
[nageru] / decklink_util.cpp
index a6bdfd9cd65fe4831491a515346bd53322d600e7..4b701abed3799448d2d6755652190a1c57769b77 100644 (file)
@@ -4,6 +4,7 @@
 #include <assert.h>
 
 #include "decklink_util.h"
+#include "flags.h"
 
 using namespace bmusb;
 using namespace std;
@@ -20,6 +21,7 @@ map<uint32_t, VideoMode> summarize_video_modes(IDeckLinkDisplayModeIterator *mod
                        mode.name = "Unknown mode";
                } else {
                        mode.name = mode_name;
+                       free((char *)mode_name);
                }
 
                mode.autodetect = false;
@@ -71,15 +73,18 @@ BMDVideoConnection pick_default_video_connection(IDeckLink *card, BMDDeckLinkAtt
                if (attribute_id == BMDDeckLinkVideoInputConnections) {
                        fprintf(stderr, "Card %u has no input connections\n", card_index);
                } else {
-                       fprintf(stderr, "Card %u has no outpu connectionss\n", card_index);
+                       fprintf(stderr, "Card %u has no output connections\n", card_index);
                }
                exit(1);
        }
 
-       if (connection_mask & bmdVideoConnectionHDMI) {
+       if ((connection_mask & bmdVideoConnectionHDMI) &&
+           global_flags.default_hdmi_input) {
                return bmdVideoConnectionHDMI;
        } else if (connection_mask & bmdVideoConnectionSDI) {
                return bmdVideoConnectionSDI;
+       } else if (connection_mask & bmdVideoConnectionHDMI) {
+               return bmdVideoConnectionHDMI;
        } else {
                // Fallback: Return lowest-set bit, whatever that might be.
                return connection_mask & (-connection_mask);