DSP is processed just-in-time (JIT) before data reaches the primary/hardware buffer.
This was one of the major architecture shifts in the JRiver audio engine compared to Winamp (or similar), and it's really smart in my opinion. It allows low latency _and_ flexible pre-buffering, gapless, cross-fading, etc.