mirror of https://github.com/jetkvm/kvm.git
fix: video quality (#913)
This commit is contained in:
parent
5743a81f46
commit
a805d00e29
30
config.go
30
config.go
|
|
@ -161,9 +161,35 @@ var defaultConfig = &Config{
|
|||
RelativeMouse: true,
|
||||
Keyboard: true,
|
||||
MassStorage: true,
|
||||
},
|
||||
NetworkConfig: &network.NetworkConfig{},
|
||||
}
|
||||
)
|
||||
|
||||
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 (
|
||||
|
|
|
|||
|
|
@ -368,7 +368,7 @@ void jetkvm_video_stop() {
|
|||
}
|
||||
|
||||
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;
|
||||
}
|
||||
video_set_quality_factor(quality_factor);
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ int video_init(float factor)
|
|||
{
|
||||
detect_sleep_mode();
|
||||
|
||||
if (factor < 0 || factor > 1) {
|
||||
if (factor <= 0 || factor > 1) {
|
||||
factor = 1.0f;
|
||||
}
|
||||
quality_factor = factor;
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ func NewNative(opts NativeOptions) *Native {
|
|||
sleepModeSupported := isSleepModeSupported()
|
||||
|
||||
defaultQualityFactor := opts.DefaultQualityFactor
|
||||
if defaultQualityFactor < 0 || defaultQualityFactor > 1 {
|
||||
if defaultQualityFactor <= 0 || defaultQualityFactor > 1 {
|
||||
defaultQualityFactor = 1.0
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -199,10 +199,8 @@ func rpcReboot(force bool) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
var streamFactor = 1.0
|
||||
|
||||
func rpcGetStreamQualityFactor() (float64, error) {
|
||||
return streamFactor, nil
|
||||
return config.VideoQualityFactor, nil
|
||||
}
|
||||
|
||||
func rpcSetStreamQualityFactor(factor float64) error {
|
||||
|
|
@ -212,7 +210,10 @@ func rpcSetStreamQualityFactor(factor float64) error {
|
|||
return err
|
||||
}
|
||||
|
||||
streamFactor = factor
|
||||
config.VideoQualityFactor = factor
|
||||
if err := SaveConfig(); err != nil {
|
||||
return fmt.Errorf("failed to save config: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue