Alex P
ed1fdb66dd
refactor(audio): rename audio components for clarity and add validation
...
Rename audio server/client components to be more specific (AudioOutputServer/Client). Add new validation.go and ipc_common.go files for shared IPC functionality. Improve error handling and cleanup in input/output IPC components.
Disable granular metrics logging to reduce log pollution. Reset metrics on failed start and ensure proper cleanup. Add common IPC message interface and optimized message pool for reuse.
2025-08-26 10:42:25 +00:00
Alex P
d690826fa0
Improvement: automatically resume audio when the audio usb gadget is re-enabled from settings
2025-08-25 11:05:42 +00:00
Alex P
08d073b1c9
Fix: linting errors
2025-08-24 23:36:29 +00:00
Alex P
7f8bee74ae
feat(audio): implement comprehensive audio optimization system
...
- Add AdaptiveOptimizer for real-time parameter adjustment based on latency metrics
- Add AdaptiveBufferConfig for dynamic buffer sizing based on system load
- Implement BatchAudioProcessor for reduced CGO call overhead
- Add AudioBufferPool with sync.Pool for optimized memory allocation
- Implement LatencyMonitor with exponential moving averages
- Add MemoryMetrics for comprehensive memory usage tracking
- Implement PriorityScheduler with SCHED_FIFO for real-time audio processing
- Add zero-copy operations to minimize memory copying in audio pipeline
- Enhance IPC architecture with intelligent frame dropping
- Add comprehensive Prometheus metrics for performance monitoring
- Implement triple-goroutine architecture for audio input processing
- Add adaptive buffering and performance feedback loops
2025-08-24 22:33:49 +00:00
Alex P
ee5cfbc224
refactor(audio): improve performance and simplify code structure
...
- Move audio server logic to dedicated package and simplify main.go
- Optimize buffer pool implementation and remove redundant logging
- Improve process monitoring with synchronized metrics updates
- Enhance microphone contention manager with simplified logic
- Replace mutex with atomic operations for metrics tracking
2025-08-23 22:54:01 +00:00
Alex P
7e762656d2
Fix: fix audio input by reverting change
2025-08-23 16:41:45 +00:00
Alex P
38b171d39f
feat(audio): add system memory endpoint and process metrics monitoring
...
- Add new /system/memory endpoint to expose total system memory
- Implement process metrics collection for audio and microphone processes
- Update UI to display real-time process metrics with charts
- Replace environment variable check with CLI flag for audio input server
- Improve audio metrics broadcasting with 1-second intervals
- Add memory usage capping for CPU percentage metrics
2025-08-23 11:41:03 +00:00
Alex P
6e910cbe05
Fix: linter errors
2025-08-22 22:28:15 +00:00
Alex P
184ac3dfdd
Fix: audio subprocess handling
2025-08-22 22:17:27 +00:00
Alex P
e2a89c54d3
Fix: linting errors
2025-08-22 22:07:35 +00:00
Alex P
2de5a05aab
[WIP] Performance Enhancements: move audion processing into a separate process
2025-08-22 12:04:30 +00:00
Alex P
4a3f1b76a9
Separation of Concerns: Move the audio-related code into the audio internal package
2025-08-05 02:04:37 +03:00
Alex P
bfbd8c11ce
Efficiency Improvements: Switch to websocket-based communication for audio metrics & status
2025-08-05 01:43:58 +03:00
Alex P
a899a0e930
Improvements, Fixes: reduce mouse lag when audio is on
2025-08-04 23:29:47 +03:00
Alex P
d3dfb05198
[WIP] Updates: audio input support
2025-08-04 20:08:54 +03:00
Alex P
fee474bbf7
[ #315 ] Updates: add advanced audio support
2025-08-02 02:23:37 +00:00
Qishuai Liu
ccafec6bbd
feat: use native jetkvm-audio
2025-06-26 00:30:00 +09:00
Qishuai Liu
bf731a8dcb
Merge remote-tracking branch 'upstream/dev' into feat/usb-audio
2025-06-22 00:36:01 +09:00
Aveline
25e30f6420
refactor: remove init functions ( #489 )
2025-05-22 10:29:16 +02:00
Qishuai Liu
0a9dee4c76
feat: add audio encoder
2025-05-14 23:41:48 +09:00
Aveline
38252de03c
chore: create images folder when starting the application ( #437 )
2025-05-13 21:13:21 +02:00
Aveline
63c2272c45
feat(usb_mass_storage): mount as disk ( #333 )
...
* feat(usb_mass_storage): mount as disk
* chore: try to set initial virtual media state from sysfs
* chore(usb-mass-storage): fix inquiry_string
2025-05-12 19:07:27 +02:00
Aveline
189b84380b
network enhanecment / refactor ( #361 )
...
* chore(network): improve connectivity check
* refactor(network): rewrite network and timesync component
* feat(display): show cloud connection status
* chore: change logging verbosity
* chore(websecure): update log message
* fix(ota): validate root certificate when downloading update
* feat(ui): add network settings tab
* fix(display): cloud connecting animation
* fix: golintci issues
* feat: add network settings tab
* feat(timesync): query servers in parallel
* refactor(network): move to internal/network package
* feat(timesync): add metrics
* refactor(log): move log to internal/logging package
* refactor(mdms): move mdns to internal/mdns package
* feat(developer): add pprof endpoint
* feat(logging): add a simple logging streaming endpoint
* fix(mdns): do not start mdns until network is up
* feat(network): allow users to update network settings from ui
* fix(network): handle errors when net.IPAddr is nil
* fix(mdns): scopedLogger SIGSEGV
* fix(dhcp): watch directory instead of file to catch fsnotify.Create event
* refactor(nbd): move platform-specific code to different files
* refactor(native): move platform-specific code to different files
* chore: fix linter issues
* chore(dev_deploy): allow to override PION_LOG_TRACE
2025-04-16 01:39:23 +02:00
Siyuan Miao
0ba7902f82
chore: update logging
2025-04-11 12:55:36 +02:00
Siyuan Miao
82c018a2f6
feat(tls): #330
2025-04-11 00:43:58 +02:00
Siyuan Miao
4c37f7e079
refactor: use structured logging
2025-04-11 00:43:46 +02:00
Siyuan Miao
1e9adf81d4
chore: skip websocket client if net isn't up or time sync hasn't complete
2025-04-03 18:16:41 +02:00
Aveline
369bd3fb18
Merge branch 'dev' into feat/tls
2025-03-18 14:05:33 +01:00
SuperQ
d3641bb4b9
Chore: Fix up various linting issues
...
In prep to add golangci-lint, fix various linting issues.
* Make the `kvm` package a fully-qualified public package.
Signed-off-by: SuperQ <superq@gmail.com>
2025-03-11 18:22:45 +01:00
SuperQ
34e33e45bf
Cleanup logging
...
Make sure all logging output is called via the main logger instead of
stdlib `"log"` or `fmt.Print(f|ln)`.
Signed-off-by: SuperQ <superq@gmail.com>
2025-03-11 16:53:54 +01:00
Siyuan Miao
d1948adca8
refactor(usb): move usbconfig to a seperated package
2025-03-10 14:02:52 +01:00
Siyuan Miao
285de31ade
feat(tls): add simple tls support
2025-03-10 13:49:20 +01:00
Siyuan Miao
8b59a3e387
chore(prometheus): move prometheus to a new file
2025-03-10 13:49:20 +01:00
Aveline
cd333c4ebc
feat(extension): ATX/DC/Serial extension support
2025-02-17 18:37:47 +01:00
Cameron Fleming
a9767b650c
fix(cloud): only start WS Client if config.CloudToken is set ( #27 )
2025-02-11 14:51:18 +01:00
Adam Shiervani
20780b65db
Release 202412292127
2024-12-29 21:27:42 +01:00