Low Level Audio Engine Audio Data Reformatting - Sample Rate and Bit Depth Conversion
Sinc interpolation introduces no aliasing artifacts to data that was originally properly bandlimited before sampling.  (But needs to be slightly modified, as a Sinc or Dirichlet kernel has an infinite duration.)
One canonical reference on why reconstruction works and how to interpolate is here: https://ccrma.stanford.edu/~jos/resample/
I have a simple implementation in Basic here: http://www.nicholson.com/rhn/dsp.html#3
The other common method is low-pass filtered integer ratio upsampling followed by low-pass filtered integer ratio downsampling by the appropriate two ratios.  Another common method is to generate a polyphase FIR filter bank (of multiple phases of windowed Sinc (or otherwise optimized FIR filters) interpolation kernels.  Another common method is to use polynomial interpolaters of each of the Sinc kernel's humps, resulting in a Farrow filter bank.
You need to carry enough bits of arithmetic intermediate values in order to keep your quantization noise floor below whatever your spec might be.