Regarding other sample sizes:
We already use full 32 bit precision for everything. If theres ever a target with a 24 bit DAC it will work as is with rockbox.
Regarding other sample rates:
We currently resample everything using linear interpolation which results in a lot of distortion/aliasing at higher frequencies. We could improve this either by using better interpolation (cubic spline seems like a good choice, but some kind of IIR based approach might work too) or by supporting more sample rates in playback.
If we wanted to support more sample rates in playback a few things would have to change:
This will probably work at 48kHz fine, since thats only 9% different. We'd just have to scale the band center frequencies by 9%. It probably won't work at 32 or 96k though, so it would need to be disabled for really wierd sample rates.
This needs to be disabled if either of the tracks has a different sample rate
All the NATIVE_FREQUENCY macros need to become variables and we need to hunt through the code and make sure theres no hidden assumptions about sample duration.
Transitions between different sample rates probably cannot be gapless, so we don't really have to do anything here. They'll be a click when you reclock the DAC anyway