Unless you have special hardware that can take in a compressed stream and play it, you always run a decoder that outputs the encoded audio to a raw waveform which you postprocess/mix and then pass to the 'sound card' (via some audio API). Assuming you don't need to resample, you just need to push the raw data (sans header) to the sound card.īut whatever other formats you have end up being raw waveforms as well.