]> git.sesse.net Git - nageru/blobdiff - nageru/flags.cpp
Support unsynchronized HDMI/SDI output.
[nageru] / nageru / flags.cpp
index ed35062427ec01330bc26fa7bcf4cbfaf9a0ff23..42fdb88b22a1b2639d8cf7c954b1284f7ec7ed8d 100644 (file)
@@ -69,6 +69,7 @@ enum LongOption {
        OPTION_OUTPUT_YCBCR_COEFFICIENTS,
        OPTION_OUTPUT_BUFFER_FRAMES,
        OPTION_OUTPUT_SLOP_FRAMES,
+       OPTION_OUTPUT_CARD_UNSYNCHRONIZED,
        OPTION_TIMECODE_STREAM,
        OPTION_TIMECODE_STDOUT,
        OPTION_QUICK_CUT_KEYS,
@@ -230,6 +231,8 @@ void usage(Program program)
                fprintf(stderr, "      --output-slop-frames=NUM    if more less than this number of frames behind for\n");
                fprintf(stderr, "                                    --output-card, try to submit anyway instead of\n");
                fprintf(stderr, "                                    dropping the frame (default 0.5)\n");
+               fprintf(stderr, "      --output-card-unsynchronized  if --output-card is in use, do _not_ use it as\n");
+               fprintf(stderr, "                                  master clock (may give jittery output and audio breakups)\n");
                fprintf(stderr, "      --timecode-stream           show timestamp and timecode in stream\n");
                fprintf(stderr, "      --timecode-stdout           show timestamp and timecode on standard output\n");
                fprintf(stderr, "      --quick-cut-keys            enable direct cutting by Q, W, E, ... keys\n");
@@ -315,6 +318,7 @@ void parse_flags(Program program, int argc, char * const argv[])
                { "output-ycbcr-coefficients", required_argument, 0, OPTION_OUTPUT_YCBCR_COEFFICIENTS },
                { "output-buffer-frames", required_argument, 0, OPTION_OUTPUT_BUFFER_FRAMES },
                { "output-slop-frames", required_argument, 0, OPTION_OUTPUT_SLOP_FRAMES },
+               { "output-card-unsynchronized", no_argument, 0, OPTION_OUTPUT_CARD_UNSYNCHRONIZED },
                { "timecode-stream", no_argument, 0, OPTION_TIMECODE_STREAM },
                { "timecode-stdout", no_argument, 0, OPTION_TIMECODE_STDOUT },
                { "quick-cut-keys", no_argument, 0, OPTION_QUICK_CUT_KEYS },
@@ -549,6 +553,9 @@ void parse_flags(Program program, int argc, char * const argv[])
                case OPTION_OUTPUT_SLOP_FRAMES:
                        global_flags.output_slop_frames = atof(optarg);
                        break;
+               case OPTION_OUTPUT_CARD_UNSYNCHRONIZED:
+                       global_flags.output_card_is_master = false;
+                       break;
                case OPTION_TIMECODE_STREAM:
                        global_flags.display_timecode_in_stream = true;
                        break;