Sound System Rework: Phase 1

. Fixed Sample Rate for DSP
  (Now if your CPU is capable to run game at 100%, you will get pure sound without buzz or static noise)

. Fixed Sample Rate for AI
  (Now if your CPU is capable to run game at 100%, you will get sync'ed video and audio)

. Fixed Backend list for DSPLLE

. Improved Aduio DMA a bit
  (There might be a completely redesign in following phases)

WARNING: The whole rework will take time to complete.
This commit is compilable, but could be unstable.
So you can try it and test it but don't take it as a release rev!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4717 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
ayuanx
2009-12-22 07:26:30 +00:00
parent a1fefe870c
commit 24d8839793
11 changed files with 125 additions and 47 deletions

View File

@ -332,8 +332,10 @@ void DSP_SendAIBuffer(unsigned int address, int sample_rate)
}
CMixer* pMixer = soundStream->GetMixer();
if (pMixer)
if (pMixer && address)
{
short* samples = (short*)Memory_Get_Pointer(address);
/*
short samples[16] = {0}; // interleaved stereo
if (address)
{
@ -346,7 +348,7 @@ void DSP_SendAIBuffer(unsigned int address, int sample_rate)
//if (log_ai)
// g_wave_writer.AddStereoSamples(samples, 8);
}
*/
// sample_rate is usually 32k here,
// see Core/DSP/DSP.cpp for better information
pMixer->PushSamples(samples, 32 / 4, sample_rate);