Compare commits

...

5 Commits

Author SHA1 Message Date
Tom Wopat 2608c7a125
Merge 1f7083a023 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
Tom Wopat 1f7083a023 Revert "feat: add fullscreen button"
This reverts commit dc7791c245.
2025-09-25 09:09:17 -04:00
Tom Wopat dc7791c245 feat: add fullscreen button 2025-09-23 23:50:06 -04:00
Tom Wopat 9affd248f3 feat: allow pointer lock when no video 2025-09-23 23:50:05 -04:00
6 changed files with 13 additions and 11 deletions

View File

@ -178,6 +178,7 @@ func getDefaultConfig() Config {
return c return c
}(), }(),
DefaultLogLevel: "INFO", DefaultLogLevel: "INFO",
VideoQualityFactor: 1.0,
} }
} }

View File

@ -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);

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
} }

View File

@ -544,7 +544,7 @@ export default function WebRTCVideo({ hasConnectionIssues }: { hasConnectionIssu
style={{ animationDuration: "500ms" }} style={{ animationDuration: "500ms" }}
className="animate-slideUpFade pointer-events-none absolute inset-0 flex items-center justify-center" className="animate-slideUpFade pointer-events-none absolute inset-0 flex items-center justify-center"
> >
<div className="relative h-full w-full rounded-md"> <div className="relative h-full w-full rounded-md" onClick={requestPointerLock}>
<LoadingVideoOverlay show={isVideoLoading} /> <LoadingVideoOverlay show={isVideoLoading} />
<HDMIErrorOverlay show={hdmiError} hdmiState={hdmiState} /> <HDMIErrorOverlay show={hdmiError} hdmiState={hdmiState} />
<NoAutoplayPermissionsOverlay <NoAutoplayPermissionsOverlay