Fixed st3play handling 16 bit samples incorrectly

CQTexperiment
Chris Moeller 2014-05-22 00:02:16 -07:00
parent 560efaf8b8
commit e3351e16c6
1 changed files with 3 additions and 3 deletions

View File

@ -3240,7 +3240,7 @@ static inline void mix16b(PLAYER *p, uint8_t ch, uint32_t samples)
while (interpolating && resampler_get_free_count(resampler))
{
resampler_write_sample_fixed(resampler, get_le16(&sampleData[samplePosition]), 16);
resampler_write_sample_fixed(resampler, (int16_t)get_le16(&sampleData[samplePosition]), 16);
++samplePosition;
@ -3381,8 +3381,8 @@ static inline void mix16bstereo(PLAYER *p, uint8_t ch, uint32_t samples)
while (interpolating && resampler_get_free_count(resampler[0]))
{
resampler_write_sample_fixed(resampler[0], get_le16(&sampleData[samplePosition]), 16);
resampler_write_sample_fixed(resampler[1], get_le16(&sampleData[sampleLength + samplePosition]), 16);
resampler_write_sample_fixed(resampler[0], (int16_t)get_le16(&sampleData[samplePosition]), 16);
resampler_write_sample_fixed(resampler[1], (int16_t)get_le16(&sampleData[sampleLength + samplePosition]), 16);
++samplePosition;