Bar napkin math: 16bit audio @ 8khz on 20mbit bus takes 800ns every 125us. Buffer is 4kbit, would take 200us to fill at 20mbit. That should leave enough room for inter-signal timing and maybe storage over head. Still need to implement on cpu to be sure... This all assumes SPI bus is limiting factor, that CPU (at 40MHz) has enough spare cycles left for LED control (PWM?) Probably going to need to cycle count SPI ops in 8khz loop: extra cycles used for LEDs
GPMDP on PC, pulseaudio-dlna to Kodi on RPI, HDMI to my new AV receiver. GPMDP remote control via chromebook & phone.
End result: Sitting on my couch, enjoying streaming Play Music radio through my stereo.
Last time I tried streaming system audio over UDP/TCP, it was a PAIN and had to be precariously set up via config files, and I still had to get up and go over to PC to change tracks/stations. Now it's a few point-and-clicks to choose which device gets audio from which app, and the music itself is remote controlled!