Compare commits

...

3 Commits

Author SHA1 Message Date
Aveline 173c7d9c4e
Merge 0baf6be8b5 into 1ce63664c0 2025-10-29 16:11:44 +01:00
Adam Shiervani 1ce63664c0
fix: video quality (#913) 2025-10-29 16:11:07 +01:00
Siyuan Miao 0baf6be8b5 chore: generate release automatically 2025-09-25 16:55:04 +00:00
6 changed files with 33 additions and 11 deletions

View File

@ -68,4 +68,24 @@ jobs:
name: jetkvm-app name: jetkvm-app
path: | path: |
bin/jetkvm_app bin/jetkvm_app
device-tests.tar.gz device-tests.tar.gz
release:
runs-on: ubuntu-latest
name: Release
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Draft release
uses: softprops/action-gh-release@v2
with:
# need review before making a real release
draft: true
files: bin/jetkvm_app
fail_on_unmatched_files: true
tag_name: ${{ github.ref }}
name: ${{ github.ref }}
generate_release_notes: true

View File

@ -177,7 +177,8 @@ func getDefaultConfig() Config {
_ = confparser.SetDefaultsAndValidate(c) _ = confparser.SetDefaultsAndValidate(c)
return c return c
}(), }(),
DefaultLogLevel: "INFO", DefaultLogLevel: "INFO",
VideoQualityFactor: 1.0,
} }
} }

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

@ -69,7 +69,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

@ -177,10 +177,8 @@ func rpcReboot(force bool) error {
return hwReboot(force, nil, 0) return hwReboot(force, nil, 0)
} }
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 {
@ -190,7 +188,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
} }