diff options
| author | Ryan Houdek <Sonicadvance1@Gmail.com> | 2012-10-27 17:22:48 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@Gmail.com> | 2012-10-27 17:22:48 -0500 |
| commit | c1fd640964272e68301b4f2c39e36b4f550785b6 (patch) | |
| tree | 321788bd412bd805ad1432925e6457b07b10927a /Source/Core/AudioCommon/Src/NullSoundStream.cpp | |
| parent | 5a6a2b2bec29e71efd8dda61bf6fb5aad4a45020 (diff) | |
| parent | 7006cd12170c3b3dc3c6179a66945b5183995156 (diff) | |
Rebase immediate-removal on master
Diffstat (limited to 'Source/Core/AudioCommon/Src/NullSoundStream.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Src/NullSoundStream.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/Core/AudioCommon/Src/NullSoundStream.cpp b/Source/Core/AudioCommon/Src/NullSoundStream.cpp index f42df9cc1f..db67b08a15 100644 --- a/Source/Core/AudioCommon/Src/NullSoundStream.cpp +++ b/Source/Core/AudioCommon/Src/NullSoundStream.cpp @@ -17,6 +17,8 @@ #include "AudioCommon.h" #include "NullSoundStream.h" +#include "../../Core/Src/HW/SystemTimers.h" +#include "../../Core/Src/HW/AudioInterface.h" void NullSound::SoundLoop() { @@ -33,9 +35,14 @@ void NullSound::SetVolume(int volume) void NullSound::Update() { - // This should equal AUDIO_DMA_PERIOD. TODO: Fix after DSP merge - int numBytesToRender = 32000 * 4 / 32; - m_mixer->Mix(realtimeBuffer, numBytesToRender / 4); + // num_samples_to_render in this update - depends on SystemTimers::AUDIO_DMA_PERIOD. + const u32 stereo_16_bit_size = 4; + const u32 dma_length = 32; + const u64 audio_dma_period = SystemTimers::GetTicksPerSecond() / (AudioInterface::GetAIDSampleRate() * stereo_16_bit_size / dma_length); + const u64 ais_samples_per_second = 48000 * stereo_16_bit_size; + const u64 num_samples_to_render = (audio_dma_period * ais_samples_per_second) / SystemTimers::GetTicksPerSecond(); + + m_mixer->Mix(realtimeBuffer, (unsigned int)num_samples_to_render); } void NullSound::Clear(bool mute) |
