audio: change output rate to 47340Hz, add resampler with small margin to elimiate pops/clicks due to output rate fluctuation

output rate is picked such that 1024 samples at that rate equal exactly 710 samples at the SPU's output rate
This commit is contained in:
StapleButter
2017-12-11 18:41:05 +01:00
parent c639152541
commit 73bf4471ee
3 changed files with 51 additions and 11 deletions

View File

@ -684,19 +684,26 @@ void Mix(u32 samples)
}
void ReadOutput(s16* data, int samples)
int ReadOutput(s16* data, int samples)
{
if (OutputReadOffset == OutputWriteOffset)
return 0;
for (int i = 0; i < samples; i++)
{
*data++ = OutputBuffer[OutputReadOffset];
*data++ = OutputBuffer[OutputReadOffset + 1];
if (OutputReadOffset != OutputWriteOffset)
//if (OutputReadOffset != OutputWriteOffset)
{
OutputReadOffset += 2;
OutputReadOffset &= ((2*OutputBufferSize)-1);
}
if (OutputReadOffset == OutputWriteOffset)
return i+1;
}
return samples;
}