Why should there be more commits when the project is finished? Also sharing on github makes adding new commits simple - just fork to repo to your account and make any changes/extensions. That's how open source projects work.
I see only one issue where IMO the person did not run camillanode...
OK, now please post debug log which shows how the playback buffer level develops during playback, along with setrate adjustments You have target level at 3 chunks which looks OK, but I would like to see the actual buffer size and buffer level, to config the rate adjust really works in your...
@ClintEastw00d: There is no way to troubleshoot remotely without any info. Your CDSP config file is the first step. Based on your description I would guess some issues around rate adjust.
That's what I am saying - if Waxwing sets the spdif preamble incorrectly, wiim would detect 16 bits format. But it may still be receiving (and using) all 24 bits since SPDIF always has 24 bit positions in the stream (with the lower bits set to zero by the transmitter, if it really transmits...
The Waxwing user guide says the output format is just 24/48(96):
SPDIF always uses 24 bits for the audio sample. It's up to the transmitter to set bits in the SPDIF preamble to specify how many of those 24 bits are actually effective:
IMO the Waxwing just sets the the SPDIF preamble...
That's interesting, does it mean Dante renderers are not aware of the RTP samplerate? Copilot says that the samplerate is communicated to the renderers via SDP in AES67 and Ravenna, as well as in the Dante proprietary control protocol.
UAC1/2 support of that embOS is actually quite comprehensive, including explicit async feedback https://www.segger.com/doc/UM09001_emUSBD.html#Audio . Of course no device quirks. Nice, thanks for the link.
Of course async resampling would be required (but it can be hardware-based and running...
Incoming SPDIF is clock master. Outgoing USB can be slave (if the USB device is isochronous adaptive - inexpensive headset), or master too (if the USB device is isochronous asynchronous - basically all DACs these days). Two clock masters in one chain must be aligned via asynchronous resampling -...
As for the async feedback - on linux you can check the stream0 file while playing to see what the async feedback looks like. Very useful for troubleshooting any USB-audio device. E.g. https://www.diyaudio.com/community/threads/linux-and-24-96.384600/post-6981562
So standard XMOS interface. Did you test with different linux/computer that the DAC itself produces glitch-free output? E.g. incorrectly implemented async feedback in the xmos firmware would cause regular dropouts.