Conversation
…g audio input issues
…udio system for easy debugging and troubleshooting
…udio system for easy debugging and troubleshooting
… of if/else for better readability
Implement SIMD-optimized audio operations using ARM NEON for Cortex-A7 targets Update Makefile and CI configuration to support NEON compilation flags Add SIMD implementations for common audio operations including: - Sample clearing and interleaving - Volume scaling and format conversion - Channel manipulation and balance adjustment - Endianness swapping and prefetching
- Add CTA-861 extension block with HDMI Vendor-Specific Data Block - Include Audio Data Block (2ch LPCM, 32/44.1/48kHz, 16/20/24-bit) - Add Speaker Allocation and Video Capability data blocks - Set display name to JetKVM with proper display size (71x40cm) - EDID now passes edid-decode validation
- Use EDID 1.3 for HDMI specification compliance - Add HDMI VSDB (OUI 00-0C-03) to enable audio on Linux/Ubuntu - Add Display Range Limits descriptor for validation compliance - Include standard resolutions: 1080p, 720p, 480p - Set display name to "JetKVM v1" - Passes edid-decode validation
Change UAC1 gadget p_chmask from 0x01 (Left Front) to 0x04 (Center Front) for the mono microphone endpoint. This addresses an issue where Windows defaults to "2 channels @ 48kHz" for the USB audio input device, even though the device advertises mono. Users had to manually change Windows audio settings to "1 channel @ 48kHz" for the microphone to work. Per USB Audio Class 1.0 specification, mono streams should use the Center Front (D2) channel position rather than Left Front (D0), as Left Front may be interpreted as one half of a stereo pair. The channel count remains 1 (num_channels(0x04) = 1 bit set = 1 channel), only the spatial position metadata changes in the USB descriptor. References: - USB Device Class Definition for Audio Devices 1.0, Section 3.7.2.3 - Silicon Labs AN295: USB Audio Class Tutorial https://www.silabs.com/documents/public/application-notes/AN295.pdf - https://stackoverflow.com/questions/23519753/usb-audio-descriptor
The TC358743 HDMI receiver stops I2S clocks during silence periods, causing corrupted samples (isolated ±32767 spikes) when clocks restart. This manifests as audible clicks/pops during quiet audio passages. Add NEON-optimized glitch filter that: - Detects extreme values (>±32000) surrounded by low-amplitude neighbors - Replaces glitches with interpolated values from adjacent samples - Uses SIMD fast-path to skip clean audio chunks with zero overhead - Only runs for HDMI capture (USB audio unaffected) The filter processes 16 samples per iteration using ARM NEON intrinsics, resulting in ~0.005% CPU overhead on Cortex-A7 at 1.2GHz.
The script was copied but never executed, causing Docker-based builds (via dev_deploy.sh) to fail due to missing ALSA/Opus/SpeexDSP libraries. Reported-by: J-Bu
Merged changes from dev branch including: - Diagnostics logging and download feature (jetkvm#1078) - E2E test infrastructure improvements - UI component updates and refactoring - Japanese keyboard layout support - Various bug fixes and improvements Resolved conflicts in: - jsonrpc.go: Combined audio RPC handlers with diagnostics - SettingsItem.tsx: Kept enhanced badge implementation - WebRTCVideo.tsx: Kept isSecureContext() utility - useJsonRpc.ts: Merged failsafe blocked methods - devices.$id.settings.video.tsx: Kept EDID initialization logic - devices.$id.tsx: Combined audio settings with E2E test handlers
- Fix prettier formatting in SettingsItem, WebRTCVideo, AudioPopover - Replace react-hook-form watch() with useWatch() for React Compiler compatibility - Remove unused dependencies from useCallback - Add eslint-disable for known React ref false positive
Remove the ability to select between HDMI and USB for audio output. Audio output now always uses the TC358743 HDMI capture device. - Remove AudioOutputSource from config and RPC handlers - Remove audio source UI dropdown and store state - Clean up unused translations across all locales - Update C audio comments to reflect HDMI-only output
Machine translate new audio-related keys to all supported languages: da, de, es, fr, it, nb, sv, zh
- Add discrete note about potential reboot requirement after USB reconfiguration to restore audio input - Clarify USB Audio labels to specify "Audio Input" since it refers to browser microphone -> target computer flow - Update description to explain the feature better
|
I love this feature but I couldn't make it work. My main computer is a Macbook Pro and I KVM into a Windows box. Can't hear any audio from Windows in my Mac. |
|
I just purchased a JetKVM so this feature is very important for me. @pennycoders are the instructions to try this feature out still spelled out here? |
|
0001-add-a-chooser-between-HDMI-and-USB-audio.patch can confirm this PR works and would love to see this merged. |
Can't hear anything right now! |
|
While this makes its' way to the stable release, can the feature be tested in Developer Mode without custom deployments? If not, I would appreciate a short guideline regarding deploying custom versions, rollbacks etc before attempting it. I then assume a deployment from this feature branch would be required, assuming it's kept in sync otherwise with main branch. Thank you! |
A guide would be helpful since there doesn't seem to be any movement on this getting in a release 🤷♂️ |
Please go to the
Previewtab ☝️ and select the appropriate sub-template:See #718 for more details