|
@@ -2965,51 +2965,6 @@ static bool update_reconnect(ConfigFile &config)
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-static void convert_x264_settings(obs_data_t *data)
|
|
|
-{
|
|
|
- bool use_bufsize = obs_data_get_bool(data, "use_bufsize");
|
|
|
-
|
|
|
- if (use_bufsize) {
|
|
|
- int buffer_size = (int)obs_data_get_int(data, "buffer_size");
|
|
|
- if (buffer_size == 0)
|
|
|
- obs_data_set_string(data, "rate_control", "CRF");
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-static void convert_14_2_encoder_setting(const char *encoder, const char *file)
|
|
|
-{
|
|
|
- OBSDataAutoRelease data =
|
|
|
- obs_data_create_from_json_file_safe(file, "bak");
|
|
|
- obs_data_item_t *cbr_item = obs_data_item_byname(data, "cbr");
|
|
|
- obs_data_item_t *rc_item = obs_data_item_byname(data, "rate_control");
|
|
|
- bool modified = false;
|
|
|
- bool cbr = true;
|
|
|
-
|
|
|
- if (cbr_item) {
|
|
|
- cbr = obs_data_item_get_bool(cbr_item);
|
|
|
- obs_data_item_unset_user_value(cbr_item);
|
|
|
-
|
|
|
- obs_data_set_string(data, "rate_control", cbr ? "CBR" : "VBR");
|
|
|
-
|
|
|
- modified = true;
|
|
|
- }
|
|
|
-
|
|
|
- if (!rc_item && astrcmpi(encoder, "obs_x264") == 0) {
|
|
|
- if (!cbr_item)
|
|
|
- obs_data_set_string(data, "rate_control", "CBR");
|
|
|
- else if (!cbr)
|
|
|
- convert_x264_settings(data);
|
|
|
-
|
|
|
- modified = true;
|
|
|
- }
|
|
|
-
|
|
|
- if (modified)
|
|
|
- obs_data_save_json_safe(data, file, "tmp", "bak");
|
|
|
-
|
|
|
- obs_data_item_release(&rc_item);
|
|
|
- obs_data_item_release(&cbr_item);
|
|
|
-}
|
|
|
-
|
|
|
static void convert_nvenc_h264_presets(obs_data_t *data)
|
|
|
{
|
|
|
const char *preset = obs_data_get_string(data, "preset");
|