From eb06594381b7250e5d34feccb2d6c3e2db670fe2 Mon Sep 17 00:00:00 2001 From: Vainock Date: Mon, 18 Jul 2022 04:05:45 +0200 Subject: [PATCH] Use property suffixes for units everywhere --- plugins/image-source/data/locale/en-US.ini | 4 +- plugins/image-source/obs-slideshow.c | 11 +++-- plugins/linux-capture/data/locale/en-US.ini | 8 ++-- plugins/linux-capture/xcomposite-input.c | 33 +++++++++------ plugins/linux-capture/xshm-input.c | 24 +++++++---- .../mac-videotoolbox/data/locale/en-US.ini | 4 +- plugins/mac-videotoolbox/encoder.c | 10 +++-- plugins/obs-ffmpeg/data/locale/en-US.ini | 2 +- plugins/obs-ffmpeg/obs-ffmpeg-av1.c | 7 ++-- plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c | 7 ++-- plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c | 7 ++-- plugins/obs-outputs/data/locale/en-US.ini | 2 +- plugins/obs-outputs/rtmp-stream.c | 7 ++-- plugins/obs-qsv11/data/locale/en-US.ini | 2 +- plugins/obs-qsv11/obs-qsv11.c | 41 ++++++++++--------- plugins/obs-x264/data/locale/en-US.ini | 2 +- plugins/obs-x264/obs-x264.c | 4 +- plugins/vlc-video/data/locale/en-US.ini | 2 +- plugins/vlc-video/vlc-video-source.c | 6 ++- plugins/win-mf/data/locale/en-US.ini | 2 +- plugins/win-mf/mf-h264.cpp | 3 +- 21 files changed, 112 insertions(+), 76 deletions(-) diff --git a/plugins/image-source/data/locale/en-US.ini b/plugins/image-source/data/locale/en-US.ini index 2f5bd32d9..4c2d66380 100644 --- a/plugins/image-source/data/locale/en-US.ini +++ b/plugins/image-source/data/locale/en-US.ini @@ -4,8 +4,8 @@ UnloadWhenNotShowing="Unload image when not showing" LinearAlpha="Apply alpha in linear space" SlideShow="Image Slide Show" -SlideShow.TransitionSpeed="Transition Speed (milliseconds)" -SlideShow.SlideTime="Time Between Slides (milliseconds)" +SlideShow.TransitionSpeed="Transition Speed" +SlideShow.SlideTime="Time Between Slides" SlideShow.Files="Image Files" SlideShow.CustomSize="Bounding Size/Aspect Ratio" SlideShow.CustomSize.Auto="Automatic" diff --git a/plugins/image-source/obs-slideshow.c b/plugins/image-source/obs-slideshow.c index 78e4eedc2..329a49878 100644 --- a/plugins/image-source/obs-slideshow.c +++ b/plugins/image-source/obs-slideshow.c @@ -893,9 +893,14 @@ static obs_properties_t *ss_properties(void *data) obs_property_list_add_string(p, T_TR_SWIPE, TR_SWIPE); obs_property_list_add_string(p, T_TR_SLIDE, TR_SLIDE); - obs_properties_add_int(ppts, S_SLIDE_TIME, T_SLIDE_TIME, 50, 3600000, - 50); - obs_properties_add_int(ppts, S_TR_SPEED, T_TR_SPEED, 0, 3600000, 50); + p = obs_properties_add_int(ppts, S_SLIDE_TIME, T_SLIDE_TIME, 50, + 3600000, 50); + obs_property_int_set_suffix(p, " ms"); + + p = obs_properties_add_int(ppts, S_TR_SPEED, T_TR_SPEED, 0, 3600000, + 50); + obs_property_int_set_suffix(p, " ms"); + obs_properties_add_bool(ppts, S_LOOP, T_LOOP); obs_properties_add_bool(ppts, S_HIDE, T_HIDE); obs_properties_add_bool(ppts, S_RANDOMIZE, T_RANDOMIZE); diff --git a/plugins/linux-capture/data/locale/en-US.ini b/plugins/linux-capture/data/locale/en-US.ini index 5661f3833..1872fdb9d 100644 --- a/plugins/linux-capture/data/locale/en-US.ini +++ b/plugins/linux-capture/data/locale/en-US.ini @@ -5,10 +5,10 @@ AdvancedSettings="Advanced Settings" XServer="X Server" XCCapture="Window Capture (Xcomposite)" Window="Window" -CropTop="Crop Top (pixels)" -CropLeft="Crop Left (pixels)" -CropRight="Crop Right (pixels)" -CropBottom="Crop Bottom (pixels)" +CropTop="Crop Top" +CropLeft="Crop Left" +CropRight="Crop Right" +CropBottom="Crop Bottom" SwapRedBlue="Swap red and blue" LockX="Lock X server when capturing" IncludeXBorder="Include X Border" diff --git a/plugins/linux-capture/xcomposite-input.c b/plugins/linux-capture/xcomposite-input.c index c96f4d8cc..ab9325855 100644 --- a/plugins/linux-capture/xcomposite-input.c +++ b/plugins/linux-capture/xcomposite-input.c @@ -717,10 +717,12 @@ static obs_properties_t *xcompcap_props(void *unused) UNUSED_PARAMETER(unused); obs_properties_t *props = obs_properties_create(); + obs_property_t *prop; - obs_property_t *wins = obs_properties_add_list( - props, "capture_window", obs_module_text("Window"), - OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); + prop = obs_properties_add_list(props, "capture_window", + obs_module_text("Window"), + OBS_COMBO_TYPE_LIST, + OBS_COMBO_FORMAT_STRING); DARRAY(struct WindowInfo) window_strings = {0}; struct darray windows = xcomp_top_level_windows(conn); @@ -752,7 +754,7 @@ static obs_properties_t *xcompcap_props(void *unused) struct WindowInfo *s = (struct WindowInfo *)darray_item( sizeof(struct WindowInfo), &window_strings.da, i); - obs_property_list_add_string(wins, s->name.array, + obs_property_list_add_string(prop, s->name.array, s->desc.array); dstr_free(&s->name_lower); @@ -761,14 +763,21 @@ static obs_properties_t *xcompcap_props(void *unused) } da_free(window_strings); - obs_properties_add_int(props, "cut_top", obs_module_text("CropTop"), 0, - 4096, 1); - obs_properties_add_int(props, "cut_left", obs_module_text("CropLeft"), - 0, 4096, 1); - obs_properties_add_int(props, "cut_right", obs_module_text("CropRight"), - 0, 4096, 1); - obs_properties_add_int(props, "cut_bot", obs_module_text("CropBottom"), - 0, 4096, 1); + prop = obs_properties_add_int(props, "cut_top", + obs_module_text("CropTop"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int(props, "cut_left", + obs_module_text("CropLeft"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int(props, "cut_right", + obs_module_text("CropRight"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int( + props, "cut_bot", obs_module_text("CropBottom"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); obs_properties_add_bool(props, "swap_redblue", obs_module_text("SwapRedBlue")); diff --git a/plugins/linux-capture/xshm-input.c b/plugins/linux-capture/xshm-input.c index d20971874..c57d19bf7 100644 --- a/plugins/linux-capture/xshm-input.c +++ b/plugins/linux-capture/xshm-input.c @@ -407,6 +407,7 @@ static obs_properties_t *xshm_properties(void *vptr) XSHM_DATA(vptr); obs_properties_t *props = obs_properties_create(); + obs_property_t *prop; obs_properties_add_list(props, "screen", obs_module_text("Screen"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); @@ -415,14 +416,21 @@ static obs_properties_t *xshm_properties(void *vptr) obs_property_t *advanced = obs_properties_add_bool( props, "advanced", obs_module_text("AdvancedSettings")); - obs_properties_add_int(props, "cut_top", obs_module_text("CropTop"), - -4096, 4096, 1); - obs_properties_add_int(props, "cut_left", obs_module_text("CropLeft"), - -4096, 4096, 1); - obs_properties_add_int(props, "cut_right", obs_module_text("CropRight"), - 0, 4096, 1); - obs_properties_add_int(props, "cut_bot", obs_module_text("CropBottom"), - 0, 4096, 1); + prop = obs_properties_add_int( + props, "cut_top", obs_module_text("CropTop"), -4096, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int( + props, "cut_left", obs_module_text("CropLeft"), -4096, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int(props, "cut_right", + obs_module_text("CropRight"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); + + prop = obs_properties_add_int( + props, "cut_bot", obs_module_text("CropBottom"), 0, 4096, 1); + obs_property_int_set_suffix(prop, " px"); obs_property_t *server = obs_properties_add_text( props, "server", obs_module_text("XServer"), OBS_TEXT_DEFAULT); diff --git a/plugins/mac-videotoolbox/data/locale/en-US.ini b/plugins/mac-videotoolbox/data/locale/en-US.ini index e12c23393..e08d3047a 100644 --- a/plugins/mac-videotoolbox/data/locale/en-US.ini +++ b/plugins/mac-videotoolbox/data/locale/en-US.ini @@ -5,8 +5,8 @@ Bitrate="Bitrate" Quality="Quality" UseMaxBitrate="Limit bitrate" MaxBitrate="Maximum bitrate" -MaxBitrateWindow="Maximum bitrate window (seconds)" -KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)" +MaxBitrateWindow="Maximum bitrate window" +KeyframeIntervalSec="Keyframe Interval (0=auto)" Profile="Profile" None="(None)" DefaultEncoder="(Default Encoder)" diff --git a/plugins/mac-videotoolbox/encoder.c b/plugins/mac-videotoolbox/encoder.c index 15a2d2dc2..e319a2dee 100644 --- a/plugins/mac-videotoolbox/encoder.c +++ b/plugins/mac-videotoolbox/encoder.c @@ -988,10 +988,14 @@ static obs_properties_t *vt_properties(void *unused, void *data) 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); + p = obs_properties_add_float(props, "max_bitrate_window", + TEXT_MAX_BITRATE_WINDOW, 0.10f, 10.0f, + 0.25f); + obs_property_float_set_suffix(p, " s"); - obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, 1); + p = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, + 1); + obs_property_int_set_suffix(p, " s"); p = obs_properties_add_list(props, "profile", TEXT_PROFILE, OBS_COMBO_TYPE_LIST, diff --git a/plugins/obs-ffmpeg/data/locale/en-US.ini b/plugins/obs-ffmpeg/data/locale/en-US.ini index 9790c47d7..07c47d85f 100644 --- a/plugins/obs-ffmpeg/data/locale/en-US.ini +++ b/plugins/obs-ffmpeg/data/locale/en-US.ini @@ -8,7 +8,7 @@ MaxBitrate="Max Bitrate" Preset="Preset" Profile="Profile" RateControl="Rate Control" -KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)" +KeyframeIntervalSec="Keyframe Interval (0=auto)" Lossless="Lossless" Level="Level" diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-av1.c b/plugins/obs-ffmpeg/obs-ffmpeg-av1.c index 8420e9d3e..d0aee26ed 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-av1.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-av1.c @@ -253,9 +253,10 @@ obs_properties_t *av1_properties(bool svtav1) obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"), 1, 63, 1); - obs_properties_add_int(props, "keyint_sec", - obs_module_text("KeyframeIntervalSec"), 0, 10, - 1); + p = obs_properties_add_int(props, "keyint_sec", + obs_module_text("KeyframeIntervalSec"), 0, + 10, 1); + obs_property_int_set_suffix(p, " s"); p = obs_properties_add_list(props, "preset", obs_module_text("Preset"), OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c index 9b326dca4..7bf741d1e 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c @@ -435,9 +435,10 @@ obs_properties_t *nvenc_properties_internal(bool hevc, bool ffmpeg) obs_properties_add_int(props, "cqp", obs_module_text("NVENC.CQLevel"), 1, 30, 1); - obs_properties_add_int(props, "keyint_sec", - obs_module_text("KeyframeIntervalSec"), 0, 10, - 1); + p = obs_properties_add_int(props, "keyint_sec", + obs_module_text("KeyframeIntervalSec"), 0, + 10, 1); + obs_property_int_set_suffix(p, " s"); p = obs_properties_add_list(props, "preset", obs_module_text("Preset"), OBS_COMBO_TYPE_LIST, diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c index 9b9f84ff3..f1df2a99a 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c @@ -686,9 +686,10 @@ static obs_properties_t *vaapi_properties(void *unused) obs_properties_add_int(props, "qp", "QP", 0, 51, 1); - obs_properties_add_int(props, "keyint_sec", - obs_module_text("KeyframeIntervalSec"), 0, 20, - 1); + p = obs_properties_add_int(props, "keyint_sec", + obs_module_text("KeyframeIntervalSec"), 0, + 20, 1); + obs_property_int_set_suffix(p, " s"); return props; } diff --git a/plugins/obs-outputs/data/locale/en-US.ini b/plugins/obs-outputs/data/locale/en-US.ini index 0e98788de..2e1ec58e7 100644 --- a/plugins/obs-outputs/data/locale/en-US.ini +++ b/plugins/obs-outputs/data/locale/en-US.ini @@ -1,5 +1,5 @@ RTMPStream="RTMP Stream" -RTMPStream.DropThreshold="Drop Threshold (milliseconds)" +RTMPStream.DropThreshold="Drop Threshold" FLVOutput="FLV File Output" FLVOutput.FilePath="File Path" Default="Default" diff --git a/plugins/obs-outputs/rtmp-stream.c b/plugins/obs-outputs/rtmp-stream.c index 85d0ce34e..5a3773974 100644 --- a/plugins/obs-outputs/rtmp-stream.c +++ b/plugins/obs-outputs/rtmp-stream.c @@ -1571,9 +1571,10 @@ static obs_properties_t *rtmp_stream_properties(void *unused) struct netif_saddr_data addrs = {0}; obs_property_t *p; - obs_properties_add_int(props, OPT_DROP_THRESHOLD, - obs_module_text("RTMPStream.DropThreshold"), 200, - 10000, 100); + p = obs_properties_add_int(props, OPT_DROP_THRESHOLD, + obs_module_text("RTMPStream.DropThreshold"), + 200, 10000, 100); + obs_property_int_set_suffix(p, " ms"); p = obs_properties_add_list(props, OPT_BIND_IP, obs_module_text("RTMPStream.BindIP"), diff --git a/plugins/obs-qsv11/data/locale/en-US.ini b/plugins/obs-qsv11/data/locale/en-US.ini index 682c8098f..b8d56e181 100644 --- a/plugins/obs-qsv11/data/locale/en-US.ini +++ b/plugins/obs-qsv11/data/locale/en-US.ini @@ -2,7 +2,7 @@ TargetUsage="Target Usage" Bitrate="Bitrate" MaxBitrate="Max Bitrate" RateControl="Rate Control" -KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)" +KeyframeIntervalSec="Keyframe Interval (0=auto)" Profile="Profile" Accuracy="Accuracy" Convergence="Convergence" diff --git a/plugins/obs-qsv11/obs-qsv11.c b/plugins/obs-qsv11/obs-qsv11.c index 5c8e9cf1e..403d1023c 100644 --- a/plugins/obs-qsv11/obs-qsv11.c +++ b/plugins/obs-qsv11/obs-qsv11.c @@ -335,36 +335,37 @@ static obs_properties_t *obs_qsv_props(void *unused) UNUSED_PARAMETER(unused); obs_properties_t *props = obs_properties_create(); - obs_property_t *list; + obs_property_t *prop; - list = obs_properties_add_list(props, "target_usage", TEXT_SPEED, + prop = obs_properties_add_list(props, "target_usage", TEXT_SPEED, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); - add_strings(list, qsv_usage_names); + add_strings(prop, qsv_usage_names); - list = obs_properties_add_list(props, "profile", TEXT_PROFILE, + prop = obs_properties_add_list(props, "profile", TEXT_PROFILE, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); - add_strings(list, qsv_profile_names); + add_strings(prop, qsv_profile_names); - obs_property_set_modified_callback(list, profile_modified); + obs_property_set_modified_callback(prop, profile_modified); - obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 1, 20, 1); + prop = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 1, + 20, 1); + obs_property_int_set_suffix(prop, " s"); - list = obs_properties_add_list(props, "rate_control", TEXT_RATE_CONTROL, + prop = obs_properties_add_list(props, "rate_control", TEXT_RATE_CONTROL, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); - add_rate_controls(list, qsv_ratecontrols); - obs_property_set_modified_callback(list, rate_control_modified); + add_rate_controls(prop, qsv_ratecontrols); + obs_property_set_modified_callback(prop, rate_control_modified); - obs_property_t *p; - p = obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50, - 10000000, 50); - obs_property_int_set_suffix(p, " Kbps"); + prop = obs_properties_add_int(props, "bitrate", TEXT_TARGET_BITRATE, 50, + 10000000, 50); + obs_property_int_set_suffix(prop, " Kbps"); - p = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, 50, - 10000000, 50); - obs_property_int_set_suffix(p, " Kbps"); + prop = obs_properties_add_int(props, "max_bitrate", TEXT_MAX_BITRATE, + 50, 10000000, 50); + obs_property_int_set_suffix(prop, " Kbps"); obs_properties_add_int(props, "accuracy", TEXT_ACCURACY, 0, 10000, 1); obs_properties_add_int(props, "convergence", TEXT_CONVERGENCE, 0, 10, @@ -374,11 +375,11 @@ static obs_properties_t *obs_qsv_props(void *unused) obs_properties_add_int(props, "qpb", "QPB", 1, 51, 1); obs_properties_add_int(props, "icq_quality", TEXT_ICQ_QUALITY, 1, 51, 1); - list = obs_properties_add_list(props, "latency", TEXT_LATENCY, + prop = obs_properties_add_list(props, "latency", TEXT_LATENCY, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_STRING); - add_strings(list, qsv_latency_names); - obs_property_set_long_description(list, + add_strings(prop, qsv_latency_names); + obs_property_set_long_description(prop, obs_module_text("Latency.ToolTip")); obs_properties_add_int(props, "bframes", TEXT_BFRAMES, 0, 3, 1); diff --git a/plugins/obs-x264/data/locale/en-US.ini b/plugins/obs-x264/data/locale/en-US.ini index c51ab9e2b..2b93be8c5 100644 --- a/plugins/obs-x264/data/locale/en-US.ini +++ b/plugins/obs-x264/data/locale/en-US.ini @@ -3,7 +3,7 @@ CustomBufsize="Use Custom Buffer Size" BufferSize="Buffer Size" RateControl="Rate Control" CRF="CRF" -KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)" +KeyframeIntervalSec="Keyframe Interval (0=auto)" CPUPreset="CPU Usage Preset (higher = less CPU)" Profile="Profile" Tune="Tune" diff --git a/plugins/obs-x264/obs-x264.c b/plugins/obs-x264/obs-x264.c index d458e93e1..b27bb45a9 100644 --- a/plugins/obs-x264/obs-x264.c +++ b/plugins/obs-x264/obs-x264.c @@ -200,7 +200,9 @@ static obs_properties_t *obs_x264_props(void *unused) obs_properties_add_int(props, "crf", TEXT_CRF, 0, 51, 1); - obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, 1); + p = obs_properties_add_int(props, "keyint_sec", TEXT_KEYINT_SEC, 0, 20, + 1); + obs_property_int_set_suffix(p, " s"); list = obs_properties_add_list(props, "preset", TEXT_PRESET, OBS_COMBO_TYPE_LIST, diff --git a/plugins/vlc-video/data/locale/en-US.ini b/plugins/vlc-video/data/locale/en-US.ini index c107364ae..dc8be302a 100644 --- a/plugins/vlc-video/data/locale/en-US.ini +++ b/plugins/vlc-video/data/locale/en-US.ini @@ -6,7 +6,7 @@ PlaybackBehavior="Visibility behavior" PlaybackBehavior.StopRestart="Stop when not visible, restart when visible" PlaybackBehavior.PauseUnpause="Pause when not visible, unpause when visible" PlaybackBehavior.AlwaysPlay="Always play even when not visible" -NetworkCaching="Network Caching (ms)" +NetworkCaching="Network Caching" PlayPause="Play/Pause" Restart="Restart" Stop="Stop" diff --git a/plugins/vlc-video/vlc-video-source.c b/plugins/vlc-video/vlc-video-source.c index 0b1c73d9a..6103d6f80 100644 --- a/plugins/vlc-video/vlc-video-source.c +++ b/plugins/vlc-video/vlc-video-source.c @@ -1127,8 +1127,10 @@ static obs_properties_t *vlcs_properties(void *data) dstr_free(&filter); dstr_free(&exts); - obs_properties_add_int(ppts, S_NETWORK_CACHING, T_NETWORK_CACHING, 100, - 60000, 10); + p = obs_properties_add_int(ppts, S_NETWORK_CACHING, T_NETWORK_CACHING, + 100, 60000, 10); + obs_property_int_set_suffix(p, " ms"); + obs_properties_add_int(ppts, S_TRACK, T_TRACK, 1, 10, 1); obs_properties_add_bool(ppts, S_SUBTITLE_ENABLE, T_SUBTITLE_ENABLE); obs_properties_add_int(ppts, S_SUBTITLE_TRACK, T_SUBTITLE_TRACK, 1, 10, diff --git a/plugins/win-mf/data/locale/en-US.ini b/plugins/win-mf/data/locale/en-US.ini index 3b6ae9ef2..1230cdc53 100644 --- a/plugins/win-mf/data/locale/en-US.ini +++ b/plugins/win-mf/data/locale/en-US.ini @@ -10,7 +10,7 @@ MF.H264.BufferSize="Buffer Size" MF.H264.CustomMaxBitrate="Use Custom Max Bitrate" MF.H264.Bitrate="Bitrate" MF.H264.MaxBitrate="Max Bitrate" -MF.H264.KeyframeIntervalSec="Keyframe Interval (seconds, 0=auto)" +MF.H264.KeyframeIntervalSec="Keyframe Interval (0=auto)" MF.H264.RateControl="Rate Control" MF.H264.CBR="CBR (Constant Bitrate)" MF.H264.VBR="VBR (Variable Bitrate)" diff --git a/plugins/win-mf/mf-h264.cpp b/plugins/win-mf/mf-h264.cpp index d10e691e7..aecb1006d 100644 --- a/plugins/win-mf/mf-h264.cpp +++ b/plugins/win-mf/mf-h264.cpp @@ -206,7 +206,8 @@ static obs_properties_t *MFH264_GetProperties(void *) obs_property_list_add_int(list, "main", H264ProfileMain); obs_property_list_add_int(list, "high", H264ProfileHigh); - obs_properties_add_int(props, MFP_KEY_INT, TEXT_KEYINT_SEC, 0, 20, 1); + p = obs_properties_add_int(props, MFP_KEY_INT, TEXT_KEYINT_SEC, 0, 20, 1); + obs_property_int_set_suffix(p, " s"); list = obs_properties_add_list(props, MFP_RATE_CONTROL, TEXT_RATE_CONTROL, OBS_COMBO_TYPE_LIST, OBS_COMBO_FORMAT_INT);