Well, I just had a bit of a disappointing test. I took two Teensy 4.0 boards, connected SPDIF in on one to SPDIF out on the other, and vice versa. I also connected ground together.
Here's the audio setup portion of the code I ran:
Code:
// Outputs
AudioOutputUSB USB_Out_1; //xy=652,236
AudioOutputSPDIF3 spdif3_1; //xy=674,308
// Inputs
AsyncAudioInputSPDIF3 spdif_async1(true, true, 100, 20); //dither = true, noiseshaping = true, anti-aliasing attenuation=100dB, minimum resampling filter length=20 //xy=408,225
AudioInputUSB USB_In_1; //xy=408,299
// Patches
//SPDIF to USB
AudioConnection patchCord1(spdif_async1, 0, USB_Out_1, 0);
AudioConnection patchCord2(spdif_async1, 1, USB_Out_1, 1);
// USB to SPDIF
AudioConnection patchCord3(USB_In_1, 0, spdif3_1, 0);
AudioConnection patchCord4(USB_In_1, 1, spdif3_1, 1);
When I play audio out of one computer and read it into another, I'm hearing what sounds like clocking issues. Interestingly if I only have one of the In/Out pairs connected I don't have clocking issues. I thought that using the resampling version of the SPDIF3 input would have dealt with clock issues.
Anyone have any idea what I'm doing wrong here?
Incidentally, the AsyncAudioInputSPDIF3 object would cause the code to hang if the Output wasn't defined above it. Also the options I used were taken directly from the PassThroughAsyncSpdif example file.