I might be wrong but I *think* it's usually in the receiver. I'm basing that purely on when I first started looking at Squeezebox a few years back and they used to list natively supported formats that were decoded by the receiver and non-native formats, that had to be trans-coded to wav before being sent to the receiver.
I think now the majority of formats are natively supported, so it's done in the receiver.