Skip to content

Fix WSJT-X DT drift on DAX RX audio after TX cycles#1396

Merged
ten9876 merged 1 commit into
mainfrom
fix-dax-dt-drift
Apr 14, 2026
Merged

Fix WSJT-X DT drift on DAX RX audio after TX cycles#1396
ten9876 merged 1 commit into
mainfrom
fix-dax-dt-drift

Conversation

@ten9876

@ten9876 ten9876 commented Apr 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • PipeWireAudioBridge: add silence fill timer during TX to keep pipe clock advancing
  • VirtualAudioBridge: improve existing silence fill with wall-clock-accurate sample count
  • Prevents cumulative DT drift in WSJT-X/VARA after TX cycles

Fixes #537. From AetherClaude PR #1340.

🤖 Generated with Claude Code

Linux (PipeWireAudioBridge): Add silence fill during TX. Previously,
feedDaxAudio() returned immediately when transmitting, causing the
named pipe to underrun and creating a timing gap equal to the TX
duration. Now a QTimer feeds elapsed-time-based silence samples to
keep the pipe-source clock advancing in real-time.

macOS (VirtualAudioBridge): Replace fixed 960-sample silence fill with
QElapsedTimer-based sample counting. The old code wrote exactly 20ms
of silence per QTimer tick regardless of actual elapsed time, causing
cumulative drift from timer jitter across TX cycles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ten9876 ten9876 merged commit ccd1ab4 into main Apr 14, 2026
3 checks passed
@ten9876 ten9876 deleted the fix-dax-dt-drift branch April 14, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WSJT-x DT drift on receives during/after transmitting cycles.

2 participants