X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=flags.h;h=8e68a66893d766a8f6223be1c351a5b935d8802d;hb=7188db27a931607ed0388b10b351164c37cf04ee;hp=b157822a0a3295e974d2d18bd2f4725b7328ecb4;hpb=c8c2e85f9c4518c6d81275e16df32969aece33ce;p=nageru diff --git a/flags.h b/flags.h index b157822..8e68a66 100644 --- a/flags.h +++ b/flags.h @@ -1,24 +1,42 @@ #ifndef _FLAGS_H #define _FLAGS_H +#include #include +#include #include "defs.h" struct Flags { int num_cards = 2; std::string va_display; + bool fake_cards_audio = false; bool uncompressed_video_to_http = false; bool x264_video_to_http = false; + std::vector theme_dirs { ".", "/usr/local/share/nageru" }; std::string theme_filename = "theme.lua"; - bool flat_audio = false; + bool locut_enabled = true; + bool gain_staging_auto = true; + float initial_gain_staging_db = 0.0f; + bool compressor_enabled = true; + bool limiter_enabled = true; + bool final_makeup_gain_auto = true; bool flush_pbos = true; std::string stream_mux_name = DEFAULT_STREAM_MUX_NAME; bool stream_coarse_timebase = false; std::string stream_audio_codec_name; // Blank = use the same as for the recording. int stream_audio_codec_bitrate = DEFAULT_AUDIO_OUTPUT_BIT_RATE; // Ignored if stream_audio_codec_name is blank. - std::string x264_preset = X264_DEFAULT_PRESET; + std::string x264_preset; // Empty will be overridden by X264_DEFAULT_PRESET, unless speedcontrol is set. std::string x264_tune = X264_DEFAULT_TUNE; + bool x264_speedcontrol = false; + bool x264_speedcontrol_verbose = false; + int x264_bitrate = DEFAULT_X264_OUTPUT_BIT_RATE; // In kilobit/sec. + int x264_vbv_max_bitrate = -1; // In kilobits. 0 = no limit, -1 = same as (CBR). + int x264_vbv_buffer_size = -1; // In kilobits. 0 = one-frame VBV, -1 = same as (one-second VBV). + std::vector x264_extra_param; // In “key[,value]” format. + bool enable_alsa_output = true; + std::map default_stream_mapping; + std::string input_mapping_filename; // Empty for none. }; extern Flags global_flags;