]> git.sesse.net Git - nageru/blobdiff - flags.cpp
Add a mode to run in full screen.
[nageru] / flags.cpp
index 2d8e37f5d8ff25944ce99e6942bfa2fe3aba0e60..9b3a9dac7f302de31f315154f85f0236b301545b 100644 (file)
--- a/flags.cpp
+++ b/flags.cpp
@@ -14,8 +14,10 @@ Flags global_flags;
 // Long options that have no corresponding short option.
 enum LongOption {
        OPTION_HELP = 1000,
+       OPTION_FULLSCREEN,
        OPTION_MULTICHANNEL,
        OPTION_MIDI_MAPPING,
+       OPTION_DEFAULT_HDMI_INPUT,
        OPTION_FAKE_CARDS_AUDIO,
        OPTION_HTTP_UNCOMPRESSED_VIDEO,
        OPTION_HTTP_X264_VIDEO,
@@ -72,6 +74,9 @@ void usage(Program program)
        }
        fprintf(stderr, "\n");
        fprintf(stderr, "      --help                      print usage information\n");
+       if (program == PROGRAM_NAGERU) {
+               fprintf(stderr, "      --fullscreen                run in full screen, with no decorations\n");
+       }
        fprintf(stderr, "  -w, --width                     output width in pixels (default 1280)\n");
        fprintf(stderr, "  -h, --height                    output height in pixels (default 720)\n");
        if (program == PROGRAM_NAGERU) {
@@ -86,6 +91,7 @@ void usage(Program program)
                fprintf(stderr, "  -M, --input-mapping=FILE        start with the given audio input mapping (implies --multichannel)\n");
                fprintf(stderr, "      --multichannel              start in multichannel audio mapping mode\n");
                fprintf(stderr, "      --midi-mapping=FILE         start with the given MIDI controller mapping (implies --multichannel)\n");
+               fprintf(stderr, "      --default-hdmi-input        default to HDMI over SDI inputs for cards that have both\n");
                fprintf(stderr, "      --fake-cards-audio          make fake (disconnected) cards output a simple tone\n");
                fprintf(stderr, "      --http-uncompressed-video   send uncompressed NV12 video to HTTP clients\n");
                fprintf(stderr, "      --http-x264-video           send x264-compressed video to HTTP clients\n");
@@ -116,8 +122,6 @@ void usage(Program program)
                fprintf(stderr, "      --no-transcode-audio        copy encoded audio raw from the source stream\n");
                fprintf(stderr, "                                    (requires --http-audio-codec= to be set)\n");
        }
-       fprintf(stderr, "      --http-coarse-timebase      use less timebase for HTTP (recommended for muxers\n");
-       fprintf(stderr, "                                  that handle large pts poorly, like e.g. MP4)\n");
        if (program == PROGRAM_NAGERU) {
                fprintf(stderr, "      --flat-audio                start with most audio processing turned off\n");
                fprintf(stderr, "                                    (can be overridden by e.g. --enable-limiter)\n");
@@ -163,6 +167,7 @@ void parse_flags(Program program, int argc, char * const argv[])
 {
        static const option long_options[] = {
                { "help", no_argument, 0, OPTION_HELP },
+               { "fullscreen", no_argument, 0, OPTION_FULLSCREEN },
                { "width", required_argument, 0, 'w' },
                { "height", required_argument, 0, 'h' },
                { "num-cards", required_argument, 0, 'c' },
@@ -175,6 +180,7 @@ void parse_flags(Program program, int argc, char * const argv[])
                { "va-display", required_argument, 0, 'v' },
                { "multichannel", no_argument, 0, OPTION_MULTICHANNEL },
                { "midi-mapping", required_argument, 0, OPTION_MIDI_MAPPING },
+               { "default-hdmi-input", no_argument, 0, OPTION_DEFAULT_HDMI_INPUT },
                { "fake-cards-audio", no_argument, 0, OPTION_FAKE_CARDS_AUDIO },
                { "http-uncompressed-video", no_argument, 0, OPTION_HTTP_UNCOMPRESSED_VIDEO },
                { "http-x264-video", no_argument, 0, OPTION_HTTP_X264_VIDEO },
@@ -189,7 +195,6 @@ void parse_flags(Program program, int argc, char * const argv[])
                { "x264-vbv-max-bitrate", required_argument, 0, OPTION_X264_VBV_MAX_BITRATE },
                { "x264-param", required_argument, 0, OPTION_X264_PARAM },
                { "http-mux", required_argument, 0, OPTION_HTTP_MUX },
-               { "http-coarse-timebase", no_argument, 0, OPTION_HTTP_COARSE_TIMEBASE },
                { "http-audio-codec", required_argument, 0, OPTION_HTTP_AUDIO_CODEC },
                { "http-audio-bitrate", required_argument, 0, OPTION_HTTP_AUDIO_BITRATE },
                { "http-port", required_argument, 0, OPTION_HTTP_PORT },
@@ -283,6 +288,9 @@ void parse_flags(Program program, int argc, char * const argv[])
                        global_flags.midi_mapping_filename = optarg;
                        global_flags.multichannel_mapping_mode = true;
                        break;
+               case OPTION_DEFAULT_HDMI_INPUT:
+                       global_flags.default_hdmi_input = true;
+                       break;
                case OPTION_FAKE_CARDS_AUDIO:
                        global_flags.fake_cards_audio = true;
                        break;
@@ -292,9 +300,6 @@ void parse_flags(Program program, int argc, char * const argv[])
                case OPTION_HTTP_MUX:
                        global_flags.stream_mux_name = optarg;
                        break;
-               case OPTION_HTTP_COARSE_TIMEBASE:
-                       global_flags.stream_coarse_timebase = true;
-                       break;
                case OPTION_HTTP_AUDIO_CODEC:
                        global_flags.stream_audio_codec_name = optarg;
                        break;
@@ -473,6 +478,9 @@ void parse_flags(Program program, int argc, char * const argv[])
                        global_flags.ycbcr_interpretation[card_num] = interpretation;
                        break;
                }
+               case OPTION_FULLSCREEN:
+                       global_flags.fullscreen = true;
+                       break;
                case OPTION_HELP:
                        usage(program);
                        exit(0);