| 
									
										
										
										
											2013-04-17 23:09:55 -04:00
										 |  |  | // Copyright 2013 Dolphin Emulator Project
 | 
					
						
							|  |  |  | // Licensed under GPLv2
 | 
					
						
							|  |  |  | // Refer to the license.txt file included.
 | 
					
						
							| 
									
										
										
										
											2010-11-14 23:56:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-17 05:18:15 -05:00
										 |  |  | #include "AudioCommon/NullSoundStream.h"
 | 
					
						
							|  |  |  | #include "Core/HW/AudioInterface.h"
 | 
					
						
							| 
									
										
										
										
											2014-02-19 02:11:52 +01:00
										 |  |  | #include "Core/HW/SystemTimers.h"
 | 
					
						
							| 
									
										
										
										
											2010-11-14 23:56:26 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | void NullSound::SoundLoop() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool NullSound::Start() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return true; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void NullSound::SetVolume(int volume) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void NullSound::Update() | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2012-07-01 17:07:58 +10:00
										 |  |  | 	// 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); | 
					
						
							| 
									
										
										
										
											2010-11-14 23:56:26 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void NullSound::Clear(bool mute) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	m_muted = mute; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void NullSound::Stop() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } |