fix: video quality (#913)

This commit is contained in:
Adam Shiervani 2025-10-29 16:11:07 +01:00 committed by Siyuan
parent 5743a81f46
commit a805d00e29
5 changed files with 39 additions and 12 deletions

View File

@ -161,9 +161,35 @@ var defaultConfig = &Config{
RelativeMouse: true, RelativeMouse: true,
Keyboard: true, Keyboard: true,
MassStorage: true, MassStorage: true,
}, }
NetworkConfig: &network.NetworkConfig{}, )
DefaultLogLevel: "INFO",
func getDefaultConfig() Config {
return Config{
CloudURL: "https://api.jetkvm.com",
CloudAppURL: "https://app.jetkvm.com",
AutoUpdateEnabled: true, // Set a default value
ActiveExtension: "",
KeyboardMacros: []KeyboardMacro{},
DisplayRotation: "270",
KeyboardLayout: "en-US",
DisplayMaxBrightness: 64,
DisplayDimAfterSec: 120, // 2 minutes
DisplayOffAfterSec: 1800, // 30 minutes
JigglerEnabled: false,
// This is the "Standard" jiggler option in the UI
JigglerConfig: func() *JigglerConfig { c := defaultJigglerConfig; return &c }(),
TLSMode: "",
UsbConfig: func() *usbgadget.Config { c := defaultUsbConfig; return &c }(),
UsbDevices: func() *usbgadget.Devices { c := defaultUsbDevices; return &c }(),
NetworkConfig: func() *types.NetworkConfig {
c := &types.NetworkConfig{}
_ = confparser.SetDefaultsAndValidate(c)
return c
}(),
DefaultLogLevel: "INFO",
VideoQualityFactor: 1.0,
}
} }
var ( var (

View File

@ -306,7 +306,7 @@ int jetkvm_ui_add_flag(const char *obj_name, const char *flag_name) {
if (obj == NULL) { if (obj == NULL) {
return -1; return -1;
} }
lv_obj_flag_t flag_val = str_to_lv_obj_flag(flag_name); lv_obj_flag_t flag_val = str_to_lv_obj_flag(flag_name);
if (flag_val == 0) if (flag_val == 0)
{ {
@ -368,7 +368,7 @@ void jetkvm_video_stop() {
} }
int jetkvm_video_set_quality_factor(float quality_factor) { int jetkvm_video_set_quality_factor(float quality_factor) {
if (quality_factor < 0 || quality_factor > 1) { if (quality_factor <= 0 || quality_factor > 1) {
return -1; return -1;
} }
video_set_quality_factor(quality_factor); video_set_quality_factor(quality_factor);
@ -417,4 +417,4 @@ void jetkvm_crash() {
// let's call a function that will crash the program // let's call a function that will crash the program
int* p = 0; int* p = 0;
*p = 0; *p = 0;
} }

View File

@ -235,7 +235,7 @@ int video_init(float factor)
{ {
detect_sleep_mode(); detect_sleep_mode();
if (factor < 0 || factor > 1) { if (factor <= 0 || factor > 1) {
factor = 1.0f; factor = 1.0f;
} }
quality_factor = factor; quality_factor = factor;

View File

@ -71,7 +71,7 @@ func NewNative(opts NativeOptions) *Native {
sleepModeSupported := isSleepModeSupported() sleepModeSupported := isSleepModeSupported()
defaultQualityFactor := opts.DefaultQualityFactor defaultQualityFactor := opts.DefaultQualityFactor
if defaultQualityFactor < 0 || defaultQualityFactor > 1 { if defaultQualityFactor <= 0 || defaultQualityFactor > 1 {
defaultQualityFactor = 1.0 defaultQualityFactor = 1.0
} }

View File

@ -199,10 +199,8 @@ func rpcReboot(force bool) error {
return nil return nil
} }
var streamFactor = 1.0
func rpcGetStreamQualityFactor() (float64, error) { func rpcGetStreamQualityFactor() (float64, error) {
return streamFactor, nil return config.VideoQualityFactor, nil
} }
func rpcSetStreamQualityFactor(factor float64) error { func rpcSetStreamQualityFactor(factor float64) error {
@ -212,7 +210,10 @@ func rpcSetStreamQualityFactor(factor float64) error {
return err return err
} }
streamFactor = factor config.VideoQualityFactor = factor
if err := SaveConfig(); err != nil {
return fmt.Errorf("failed to save config: %w", err)
}
return nil return nil
} }