diff options
| author | hyperiris <hyperiris@gmail.com> | 2009-06-12 14:40:50 +0000 |
|---|---|---|
| committer | hyperiris <hyperiris@gmail.com> | 2009-06-12 14:40:50 +0000 |
| commit | ff0ec2b3f861038baae8a9ec2ba9dee86fb02066 (patch) | |
| tree | 5597cb3b7a69ca6a6b33bcef6d21096eff80443c /Source/Core/AudioCommon/Src/Mixer.cpp | |
| parent | b8d3cae6e327fae1d5bc28bcc86b4aca765fbf73 (diff) | |
a NEED DEBUG version of openal sound system, nakee, try to FIX it! :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3409 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/AudioCommon/Src/Mixer.cpp')
| -rw-r--r-- | Source/Core/AudioCommon/Src/Mixer.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Source/Core/AudioCommon/Src/Mixer.cpp b/Source/Core/AudioCommon/Src/Mixer.cpp index 69bc4699fb..2e9f54d327 100644 --- a/Source/Core/AudioCommon/Src/Mixer.cpp +++ b/Source/Core/AudioCommon/Src/Mixer.cpp @@ -25,18 +25,18 @@ #include "FixedSizeQueue.h" #include "AudioCommon.h" -void CMixer::Mix(short *samples, int numSamples) +int CMixer::Mix(short *samples, int numSamples) { if (! samples) { Premix(NULL, 0); - return; + return 0; } // silence memset(samples, 0, numSamples * 2 * sizeof(short)); if (g_dspInitialize.pEmulatorState) { if (*g_dspInitialize.pEmulatorState != 0) - return; + return 0; } // first get the DTK Music @@ -46,9 +46,11 @@ void CMixer::Mix(short *samples, int numSamples) Premix(samples, numSamples); - push_sync.Enter(); int count = 0; - while (m_queueSize > queue_minlength && count < numSamples * 2) { + + push_sync.Enter(); + while (m_queueSize > queue_minlength && count < numSamples * 2) + { int x = samples[count]; x += sample_queue.front(); if (x > 32767) x = 32767; @@ -64,6 +66,8 @@ void CMixer::Mix(short *samples, int numSamples) m_queueSize-=2; } push_sync.Leave(); + + return count; } |
