diff --git a/UI/properties-view.cpp b/UI/properties-view.cpp index b83670ef1..4f5fae19b 100644 --- a/UI/properties-view.cpp +++ b/UI/properties-view.cpp @@ -333,12 +333,14 @@ void OBSPropertiesView::AddInt(obs_property_t *prop, QFormLayout *layout, int minVal = obs_property_int_min(prop); int maxVal = obs_property_int_max(prop); int stepVal = obs_property_int_step(prop); + const char *suffix = obs_property_int_suffix(prop); spin->setMinimum(minVal); spin->setMaximum(maxVal); spin->setSingleStep(stepVal); spin->setValue(val); spin->setToolTip(QT_UTF8(obs_property_long_description(prop))); + spin->setSuffix(QT_UTF8(suffix)); WidgetInfo *info = new WidgetInfo(this, prop, spin); children.emplace_back(info); @@ -382,12 +384,14 @@ void OBSPropertiesView::AddFloat(obs_property_t *prop, QFormLayout *layout, double minVal = obs_property_float_min(prop); double maxVal = obs_property_float_max(prop); double stepVal = obs_property_float_step(prop); + const char *suffix = obs_property_float_suffix(prop); spin->setMinimum(minVal); spin->setMaximum(maxVal); spin->setSingleStep(stepVal); spin->setValue(val); spin->setToolTip(QT_UTF8(obs_property_long_description(prop))); + spin->setSuffix(QT_UTF8(suffix)); WidgetInfo *info = new WidgetInfo(this, prop, spin); children.emplace_back(info); diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 8f4eda5b6..00389307d 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -463,7 +463,10 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent) HookWidget(ui->autoRemux, CHECK_CHANGED, ADV_CHANGED); ui->simpleOutputVBitrate->setSingleStep(50); + ui->simpleOutputVBitrate->setSuffix(" Kbps"); ui->advOutFFVBitrate->setSingleStep(50); + ui->advOutFFVBitrate->setSuffix(" Kbps"); + ui->advOutFFABitrate->setSuffix(" Kbps"); #if !defined(_WIN32) && !defined(__APPLE__) delete ui->enableAutoUpdates; diff --git a/plugins/mac-vth264/encoder.c b/plugins/mac-vth264/encoder.c index b3f8b41ce..83137dd7d 100644 --- a/plugins/mac-vth264/encoder.c +++ b/plugins/mac-vth264/encoder.c @@ -874,14 +874,18 @@ static obs_properties_t *vt_h264_properties(void *unused) obs_properties_t *props = obs_properties_create(); obs_property_t *p; - obs_properties_add_int(props, "bitrate", TEXT_BITRATE, 50, 10000000, 50); + p = obs_properties_add_int(props, "bitrate", + TEXT_BITRATE, 50, 10000000, 50); + obs_property_int_set_suffix(p, " Kbps"); p = obs_properties_add_bool(props, "limit_bitrate", TEXT_USE_MAX_BITRATE); obs_property_set_modified_callback(p, limit_bitrate_modified); - obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50, + p = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50, 10000000, 50); + obs_property_int_set_suffix(p, " Kbps"); + obs_properties_add_float(props, "max_bitrate_window", TEXT_MAX_BITRATE_WINDOW, 0.10f, 10.0f, 0.25f); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c index cddac7a12..469dce4e0 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c @@ -451,10 +451,12 @@ obs_properties_t *nvenc_properties_internal(bool ffmpeg) obs_property_set_modified_callback(p, rate_control_modified); - obs_properties_add_int(props, "bitrate", + p = obs_properties_add_int(props, "bitrate", obs_module_text("Bitrate"), 50, 300000, 50); - obs_properties_add_int(props, "max_bitrate", + obs_property_int_set_suffix(p, " Kbps"); + p = obs_properties_add_int(props, "max_bitrate", obs_module_text("MaxBitrate"), 50, 300000, 50); + obs_property_int_set_suffix(p, " Kbps"); obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"), 1, 30, 1); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c index 6b17ffe3d..db861da23 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c @@ -490,8 +490,10 @@ static obs_properties_t *vaapi_properties(void *unused) obs_property_list_add_int(list, "720p60/1080p30 (4.1)", 41); obs_property_list_add_int(list, "1080p60 (4.2)", 42); - obs_properties_add_int(props, "bitrate", obs_module_text("Bitrate"), 0, + obs_property_t *p; + p = obs_properties_add_int(props, "bitrate", obs_module_text("Bitrate"), 0, 300000, 50); + obs_property_int_set_suffix(p, " Kbps"); obs_properties_add_int(props, "keyint_sec", obs_module_text("Keyframe Interval (seconds)"), 0, 20, diff --git a/plugins/obs-qsv11/obs-qsv11.c b/plugins/obs-qsv11/obs-qsv11.c index 4caea89e7..9669bdf39 100644 --- a/plugins/obs-qsv11/obs-qsv11.c +++ b/plugins/obs-qsv11/obs-qsv11.c @@ -260,10 +260,15 @@ static obs_properties_t *obs_qsv_props(void *unused) add_rate_controls(list, qsv_ratecontrols); obs_property_set_modified_callback(list, rate_control_modified); - obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50, + obs_property_t *p; + p = obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50, 10000000, 50); - obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50, + obs_property_int_set_suffix(p, " Kbps"); + + p = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50, 10000000, 50); + obs_property_int_set_suffix(p, " Kbps"); + obs_properties_add_int(props, "accuracy", TEXT_ACCURACY, 0, 10000, 1); obs_properties_add_int(props, "convergence", TEXT_CONVERGENCE, 0, 10, 1); obs_properties_add_int(props, "qpi", "QPI", 1, 51, 1); diff --git a/plugins/obs-x264/obs-x264.c b/plugins/obs-x264/obs-x264.c index 6cd369dcf..6e0d2e67a 100644 --- a/plugins/obs-x264/obs-x264.c +++ b/plugins/obs-x264/obs-x264.c @@ -179,7 +179,9 @@ static obs_properties_t *obs_x264_props(void *unused) obs_property_set_modified_callback(list, rate_control_modified); - obs_properties_add_int(props, "bitrate", TEXT_BITRATE, 50, 10000000, 50); + p = obs_properties_add_int(props, "bitrate", + TEXT_BITRATE, 50, 10000000, 50); + obs_property_int_set_suffix(p, " Kbps"); p = obs_properties_add_bool(props, "use_bufsize", TEXT_CUSTOM_BUF); obs_property_set_modified_callback(p, use_bufsize_modified);