Fix: audio subprocess handling

This commit is contained in:
Alex P 2025-08-22 22:17:27 +00:00
parent aeb7a12c72
commit 62d4ec2f89
3 changed files with 8 additions and 10 deletions

View File

@ -11,6 +11,7 @@ import (
func main() { func main() {
versionPtr := flag.Bool("version", false, "print version and exit") versionPtr := flag.Bool("version", false, "print version and exit")
versionJsonPtr := flag.Bool("version-json", false, "print version as json and exit") versionJsonPtr := flag.Bool("version-json", false, "print version as json and exit")
audioServerPtr := flag.Bool("audio-server", false, "Run as audio server subprocess")
flag.Parse() flag.Parse()
if *versionPtr || *versionJsonPtr { if *versionPtr || *versionJsonPtr {
@ -23,5 +24,5 @@ func main() {
return return
} }
kvm.Main() kvm.Main(*audioServerPtr)
} }

View File

@ -2,7 +2,6 @@ package kvm
import ( import (
"context" "context"
"flag"
"fmt" "fmt"
"net/http" "net/http"
"os" "os"
@ -113,12 +112,10 @@ func startAudioSubprocess() error {
return nil return nil
} }
func Main() { func Main(audioServer bool) {
// Initialize flag and channel // Initialize channel and set audio server flag
flag.BoolVar(&isAudioServer, "audio-server", false, "Run as audio server subprocess") isAudioServer = audioServer
audioProcessDone = make(chan struct{}) audioProcessDone = make(chan struct{})
flag.Parse()
// If running as audio server, only initialize audio processing // If running as audio server, only initialize audio processing
if isAudioServer { if isAudioServer {

6
web.go
View File

@ -223,7 +223,7 @@ func setupRouter() *gin.Engine {
"bytes_processed": metrics.BytesProcessed, "bytes_processed": metrics.BytesProcessed,
"last_frame_time": metrics.LastFrameTime, "last_frame_time": metrics.LastFrameTime,
"connection_drops": metrics.ConnectionDrops, "connection_drops": metrics.ConnectionDrops,
"average_latency": metrics.AverageLatency.String(), "average_latency": fmt.Sprintf("%.1fms", float64(metrics.AverageLatency.Nanoseconds())/1e6),
}) })
}) })
@ -410,7 +410,7 @@ func setupRouter() *gin.Engine {
"bytes_processed": 0, "bytes_processed": 0,
"last_frame_time": "", "last_frame_time": "",
"connection_drops": 0, "connection_drops": 0,
"average_latency": "0s", "average_latency": "0.0ms",
}) })
return return
} }
@ -422,7 +422,7 @@ func setupRouter() *gin.Engine {
"bytes_processed": metrics.BytesProcessed, "bytes_processed": metrics.BytesProcessed,
"last_frame_time": metrics.LastFrameTime.Format("2006-01-02T15:04:05.000Z"), "last_frame_time": metrics.LastFrameTime.Format("2006-01-02T15:04:05.000Z"),
"connection_drops": metrics.ConnectionDrops, "connection_drops": metrics.ConnectionDrops,
"average_latency": metrics.AverageLatency.String(), "average_latency": fmt.Sprintf("%.1fms", float64(metrics.AverageLatency.Nanoseconds())/1e6),
}) })
}) })