summaryrefslogtreecommitdiff
path: root/Source/Core/AudioCommon/NullSoundStream.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2013-12-31 19:18:30 -0600
committerRyan Houdek <Sonicadvance1@gmail.com>2013-12-31 19:18:30 -0600
commit1118226f270d2b44d10dd3cebd9f89fd38042680 (patch)
tree9dd80995633c70581443d40f58d6ac35837e0bd4 /Source/Core/AudioCommon/NullSoundStream.cpp
parent8d8b0fc884367bc4d433d698a790ef5badee6957 (diff)
parent16824d5fd17b43b156706bf02a8063b389604766 (diff)
Merge branch 'master' into buffer_storage
Diffstat (limited to 'Source/Core/AudioCommon/NullSoundStream.cpp')
-rw-r--r--Source/Core/AudioCommon/NullSoundStream.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/Core/AudioCommon/NullSoundStream.cpp b/Source/Core/AudioCommon/NullSoundStream.cpp
new file mode 100644
index 0000000000..99bf8aae4b
--- /dev/null
+++ b/Source/Core/AudioCommon/NullSoundStream.cpp
@@ -0,0 +1,41 @@
+// Copyright 2013 Dolphin Emulator Project
+// Licensed under GPLv2
+// Refer to the license.txt file included.
+
+#include "NullSoundStream.h"
+#include "../Core/HW/SystemTimers.h"
+#include "../Core/HW/AudioInterface.h"
+
+void NullSound::SoundLoop()
+{
+}
+
+bool NullSound::Start()
+{
+ return true;
+}
+
+void NullSound::SetVolume(int volume)
+{
+}
+
+void NullSound::Update()
+{
+ // 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)
+{
+ m_muted = mute;
+}
+
+void NullSound::Stop()
+{
+}