diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2011-01-31 08:19:27 +0000 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2011-01-31 08:19:27 +0000 |
| commit | 1de40588acd0bfa6d49e3d94fef2cbd6dc09f6e5 (patch) | |
| tree | 93472097d7916eb4680f3b032286f729abdffd46 /Source/Core/AudioCommon | |
| parent | 67a4ac0bf67d9299fb19575ccf5fc2034a8da9fd (diff) | |
Eliminate some trampoline functions.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7015 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/AudioCommon')
| -rw-r--r-- | Source/Core/AudioCommon/Src/AOSoundStream.cpp | 8 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/AlsaSoundStream.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/DSoundStream.cpp | 12 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/OpenALStream.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/OpenALStream.h | 2 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/PulseAudioStream.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/Src/PulseAudioStream.h | 1 |
7 files changed, 16 insertions, 34 deletions
diff --git a/Source/Core/AudioCommon/Src/AOSoundStream.cpp b/Source/Core/AudioCommon/Src/AOSoundStream.cpp index a1bc0e0a76..c857856f1a 100644 --- a/Source/Core/AudioCommon/Src/AOSoundStream.cpp +++ b/Source/Core/AudioCommon/Src/AOSoundStream.cpp @@ -15,6 +15,7 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ +#include <functional> #include <string.h> #include "AOSoundStream.h" @@ -54,18 +55,13 @@ void AOSound::SoundLoop() } } -void soundThread(AOSound *aosound) -{ - aosound->SoundLoop(); -} - bool AOSound::Start() { memset(realtimeBuffer, 0, sizeof(realtimeBuffer)); soundSyncEvent.Init(); - thread = std::thread(soundThread, this); + thread = std::thread(std::mem_fun(&AOSound::SoundLoop), this); return true; } diff --git a/Source/Core/AudioCommon/Src/AlsaSoundStream.cpp b/Source/Core/AudioCommon/Src/AlsaSoundStream.cpp index 5ad6e45390..76f13b6cb1 100644 --- a/Source/Core/AudioCommon/Src/AlsaSoundStream.cpp +++ b/Source/Core/AudioCommon/Src/AlsaSoundStream.cpp @@ -15,6 +15,8 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ +#include <functional> + #include "Common.h" #include "Thread.h" #include "AlsaSoundStream.h" @@ -33,14 +35,9 @@ AlsaSound::~AlsaSound() delete [] mix_buffer; } -static void ThreadTrampoline(AlsaSound* args) -{ - args->SoundLoop(); -} - bool AlsaSound::Start() { - thread = std::thread(ThreadTrampoline, this); + thread = std::thread(std::mem_fun(&AlsaSound::SoundLoop), this); thread_data = 0; return true; } diff --git a/Source/Core/AudioCommon/Src/DSoundStream.cpp b/Source/Core/AudioCommon/Src/DSoundStream.cpp index 4823c46732..206685f707 100644 --- a/Source/Core/AudioCommon/Src/DSoundStream.cpp +++ b/Source/Core/AudioCommon/Src/DSoundStream.cpp @@ -15,9 +15,12 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ -#include <windows.h> #include <cmath> +#include <functional> + +#include <windows.h> #include <dxerr.h> + #include "AudioCommon.h" #include "DSoundStream.h" @@ -91,11 +94,6 @@ bool DSound::WriteDataToBuffer(DWORD dwOffset, // Our own write } // The audio thread. -void soundThread(DSound* dsound) -{ - dsound->SoundLoop(); -} - void DSound::SoundLoop() { currentPos = 0; @@ -137,7 +135,7 @@ bool DSound::Start() dsBuffer->Lock(0, bufferSize, (void* *)&p1, &num1, 0, 0, 0); memset(p1, 0, num1); dsBuffer->Unlock(p1, num1, 0, 0); - thread = std::thread(soundThread, this); + thread = std::thread(std::mem_fun(&DSound::SoundLoop), this); return true; } diff --git a/Source/Core/AudioCommon/Src/OpenALStream.cpp b/Source/Core/AudioCommon/Src/OpenALStream.cpp index 908f1c0099..5d46763613 100644 --- a/Source/Core/AudioCommon/Src/OpenALStream.cpp +++ b/Source/Core/AudioCommon/Src/OpenALStream.cpp @@ -15,6 +15,8 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ +#include <functional> + #include "aldlist.h" #include "OpenALStream.h" @@ -44,7 +46,7 @@ bool OpenALStream::Start() if (pContext) { alcMakeContextCurrent(pContext); - thread = std::thread(OpenALStream::ThreadFunc, this); + thread = std::thread(std::mem_fun(&OpenALStream::SoundLoop), this); bReturn = true; } else @@ -121,11 +123,6 @@ void OpenALStream::Clear(bool mute) } } -void OpenALStream::ThreadFunc(OpenALStream* alstream) -{ - alstream->SoundLoop(); -} - void OpenALStream::SoundLoop() { ALenum err; diff --git a/Source/Core/AudioCommon/Src/OpenALStream.h b/Source/Core/AudioCommon/Src/OpenALStream.h index 7475fcfe83..b6e9253590 100644 --- a/Source/Core/AudioCommon/Src/OpenALStream.h +++ b/Source/Core/AudioCommon/Src/OpenALStream.h @@ -58,8 +58,6 @@ public: virtual bool usesMixer() const { return true; } virtual void Update(); - static void ThreadFunc(OpenALStream* args); - private: std::thread thread; Common::EventEx soundSyncEvent; diff --git a/Source/Core/AudioCommon/Src/PulseAudioStream.cpp b/Source/Core/AudioCommon/Src/PulseAudioStream.cpp index fd7aa31cfd..19d5d5c298 100644 --- a/Source/Core/AudioCommon/Src/PulseAudioStream.cpp +++ b/Source/Core/AudioCommon/Src/PulseAudioStream.cpp @@ -15,6 +15,8 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ +#include <functional> + #include "Common.h" #include "Thread.h" @@ -35,15 +37,10 @@ PulseAudio::~PulseAudio() delete [] mix_buffer; } -void PulseAudio::ThreadTrampoline(PulseAudio* args) -{ - args->SoundLoop(); -} - bool PulseAudio::Start() { thread_running = true; - thread = std::thread(ThreadTrampoline, this); + thread = std::thread(std::mem_fun(&PulseAudio::SoundLoop), this); return true; } diff --git a/Source/Core/AudioCommon/Src/PulseAudioStream.h b/Source/Core/AudioCommon/Src/PulseAudioStream.h index 522e0ae6bb..f3a5a43e79 100644 --- a/Source/Core/AudioCommon/Src/PulseAudioStream.h +++ b/Source/Core/AudioCommon/Src/PulseAudioStream.h @@ -46,7 +46,6 @@ public: private: virtual void SoundLoop(); - static void ThreadTrampoline(PulseAudio* args); bool PulseInit(); void PulseShutdown(); bool Write(const void *data, size_t bytes); |
