]> git.sesse.net Git - nageru/blobdiff - nageru/flags.cpp
Add CEF support to Kaeru.
[nageru] / nageru / flags.cpp
index 3231318077053b048bfd0cc5be5ac5c5a500526a..afd0306959045a4352c5890fe6b42a18cbcb9767 100644 (file)
@@ -64,6 +64,7 @@ enum LongOption {
        OPTION_SRT_PASSPHRASE,
        OPTION_SRT_YOUTUBE_STREAM_KEY,
        OPTION_SRT_LATENCY,
+       OPTION_CEF,
        OPTION_NO_TRANSCODE_VIDEO,
        OPTION_NO_TRANSCODE_AUDIO,
        OPTION_DISABLE_AUDIO,
@@ -222,6 +223,9 @@ void usage(Program program)
        fprintf(stderr, "      --no-srt                    disable receiving SRT streams\n");
 #endif
        if (program == PROGRAM_KAERU) {
+#ifdef HAVE_CEF
+               fprintf(stderr, "      --cef                       render input as a web page (implies --disable-audio)\n");
+#endif
                fprintf(stderr, "      --no-transcode-video        copy encoded video raw from the source stream\n");
                fprintf(stderr, "                                    (experimental, must be H.264)\n");
                fprintf(stderr, "      --no-transcode-audio        copy encoded audio raw from the source stream\n");
@@ -333,6 +337,9 @@ void parse_flags(Program program, int argc, char * const argv[])
                { "srt-passphrase", required_argument, 0, OPTION_SRT_PASSPHRASE },
                { "srt-youtube-stream-key", required_argument, 0, OPTION_SRT_YOUTUBE_STREAM_KEY },
                { "srt-latency", required_argument, 0, OPTION_SRT_LATENCY },
+#endif
+#ifdef HAVE_CEF
+               { "cef", no_argument, 0, OPTION_CEF },
 #endif
                { "no-transcode-video", no_argument, 0, OPTION_NO_TRANSCODE_VIDEO },
                { "no-transcode-audio", no_argument, 0, OPTION_NO_TRANSCODE_AUDIO },
@@ -505,6 +512,10 @@ void parse_flags(Program program, int argc, char * const argv[])
                        global_flags.srt_output_latency_ms = atoi(optarg);
                        break;
 #endif
+               case OPTION_CEF:
+                       global_flags.use_cef = true;
+                       global_flags.enable_audio = false;
+                       break;
                case OPTION_NO_TRANSCODE_VIDEO:
                        global_flags.transcode_video = false;
                        break;
@@ -784,6 +795,12 @@ void parse_flags(Program program, int argc, char * const argv[])
                fprintf(stderr, "       (using --http-audio-codec).\n");
                exit(1);
        }
+#ifdef HAVE_CEF
+       if (global_flags.enable_audio && global_flags.use_cef) {
+               fprintf(stderr, "ERROR: --cef does not currently support audio.\n");
+               exit(1);
+       }
+#endif
        if (global_flags.x264_speedcontrol) {
                if (!global_flags.x264_preset.empty() && global_flags.x264_preset != "faster") {
                        fprintf(stderr, "WARNING: --x264-preset is overridden by --x264-speedcontrol (implicitly uses \"faster\" as base preset)\n");