Skip to content

Fix WSJT-X DT drift on DAX RX audio after TX cycles (#537)#1340

Closed
aethersdr-agent[bot] wants to merge 1 commit into
mainfrom
aetherclaude/issue-537
Closed

Fix WSJT-X DT drift on DAX RX audio after TX cycles (#537)#1340
aethersdr-agent[bot] wants to merge 1 commit into
mainfrom
aetherclaude/issue-537

Conversation

@aethersdr-agent

Copy link
Copy Markdown
Contributor

Summary

Fixes #537

What was changed

Fix WSJT-X DT drift on DAX RX audio after TX cycles (#537)

Files modified

  • src/core/PipeWireAudioBridge.cpp
  • src/core/PipeWireAudioBridge.h
  • src/core/VirtualAudioBridge.cpp
  • src/core/VirtualAudioBridge.h
 src/core/PipeWireAudioBridge.cpp | 57 +++++++++++++++++++++++++++++++++++++++-
 src/core/PipeWireAudioBridge.h   |  7 +++++
 src/core/VirtualAudioBridge.cpp  | 18 ++++++++++---
 src/core/VirtualAudioBridge.h    |  2 ++
 4 files changed, 80 insertions(+), 4 deletions(-)

Generated by AetherClaude (automated agent for AetherSDR)

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>
@jensenpat

jensenpat commented Apr 14, 2026

Copy link
Copy Markdown
Collaborator

Test report:

I merged the drift fix PR #537 with main (v0.8.12.1 base) and tested it quite a bit on macOS Tahoe 26.4. It is not fixed. I am seeing high FT8 DTs after any initial transmit, including using the "test PTT" button. I'm on wired 2.5Gb ethernet. Using TCP CAT and DAX on a wsjtx improved 3.1 derivative. DT ends up near 2 seconds. I am using a GPSDO with 1PPS discipline for NTP on my network.

@ten9876

ten9876 commented Apr 14, 2026

Copy link
Copy Markdown
Collaborator

Taking via rebased branch.

@ten9876 ten9876 closed this Apr 14, 2026
@ten9876 ten9876 deleted the aetherclaude/issue-537 branch April 18, 2026 04:51
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.

3 participants