cpt_paranoia
Addicted Member
Packet-based interfaces, such as Ethernet & USB, separate the packet timing from the DAC sample timing; the DAC FIFO buffer does this.
Most PC audio subsystems will also be packet-based, often using two levels of FIFO buffering (one in hardware, one in the software driver).
Software is not used to control individual sample timing to a DAC. You will note that the LatencyMon software warns about stuttering and skips; this is caused by the software failing to service those FIFO buffer service requests, resulting in buffer underflow. How the FIFO deals with that varies; some will repeat samples, some will output zero samples.
Network renderers take this packet-based operation even further, by receiving CODEC files (rather than raw PCM) under some streaming protocol (e.g. DLNA, Airplay, Chromecast, RAAT, etc). They reconstruct the encoded file, decode it to PCM, and then send it to the DAC via a FIFO buffer.
Most PC audio subsystems will also be packet-based, often using two levels of FIFO buffering (one in hardware, one in the software driver).
Software is not used to control individual sample timing to a DAC. You will note that the LatencyMon software warns about stuttering and skips; this is caused by the software failing to service those FIFO buffer service requests, resulting in buffer underflow. How the FIFO deals with that varies; some will repeat samples, some will output zero samples.
Network renderers take this packet-based operation even further, by receiving CODEC files (rather than raw PCM) under some streaming protocol (e.g. DLNA, Airplay, Chromecast, RAAT, etc). They reconstruct the encoded file, decode it to PCM, and then send it to the DAC via a FIFO buffer.


