Rewrite most of the AudioCommon mixer Instead of implementing a ring buffer ourselves in the mixer code, make that code generic and add it in Common/RingBuffer.h. Perform the endian swapping and RL -> LR while pushing samples instead of doing it while reading samples. Use the common resampling code for linear interpolation: I *think* this should fix the issue with random "pops" in sound when playing.