We don't need to store the last compensation value anymore, we just need to know if it's non-zero.
The audio player had 2 roles: - handle the SDL audio output device; - resample input samples to maintain a target latency. Extract the latter to a separate component (an "audio regulator"), independent of SDL.