aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/audio/sdl/audio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/audio/sdl/audio.cpp')
-rw-r--r--src/libjin/audio/sdl/audio.cpp121
1 files changed, 0 insertions, 121 deletions
diff --git a/src/libjin/audio/sdl/audio.cpp b/src/libjin/audio/sdl/audio.cpp
deleted file mode 100644
index 47d8cf8..0000000
--- a/src/libjin/audio/sdl/audio.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-#include "../../modules.h"
-#if JIN_MODULES_AUDIO && JIN_AUDIO_SDLAUDIO
-
-#include <iostream>
-#include "audio.h"
-#include "source.h"
-#include "../../math/math.h"
-#include "../../utils/log.h"
-
-namespace jin
-{
-namespace audio
-{
-
- /* עcallbackƵ̵߳ */
- static void defaultCallback(void *userdata, Uint8 *stream, int size)
- {
- static SDLAudio* audio = static_cast<SDLAudio*>(userdata);
- audio->lock();
- audio->processCommands();
- audio->processSources(stream, size);
- audio->unlock();
- }
-
- onlyonce bool SDLAudio::initSystem(const SettingBase* s)
- {
- Loghelper::log(Loglevel::LV_INFO, "Init Audio System");
-
- if (SDL_Init(SDL_INIT_AUDIO) < 0)
- return false;
- SDL_AudioSpec spec;
- Setting* setting = (Setting*)s;
- if (setting == nullptr)
- return false;
-
- unsigned int samplerate = setting->samplerate;
- unsigned int samples = clamp(setting->samples, 1, setting->samplerate);
-
- spec.freq = samplerate; // ÿsample,õ 11025, 22050, 44100 and 48000 Hz.
- spec.format = AUDIO_S16SYS; // signed 16-bit samples in native byte order
- spec.channels = SDLAUDIO_CHANNELS; //
- spec.samples = samples; // ÿβʱһã=setting->samplerateÿֻ1
- spec.userdata = this;
- spec.callback = defaultCallback;
-
- audioDevice = SDL_OpenAudioDevice(NULL, 0, &spec, NULL, 0);
- if (audioDevice == 0)
- return false;
- /* start audio */
- SDL_PauseAudioDevice(audioDevice, 0);
- return true;
- }
-
- onlyonce void SDLAudio::quitSystem()
- {
- SDL_CloseAudio();
- }
-
- void SDLAudio::lock()
- {
- SDL_LockAudioDevice(audioDevice);
- }
-
- void SDLAudio::unlock()
- {
- SDL_UnlockAudioDevice(audioDevice);
- }
-
- void SDLAudio::processCommands()
- {
- SDLSourceManager::get()->processCommands();
- }
-
- void SDLAudio::processSources(void* buffer, size_t len)
- {
- SDLSourceManager::get()->processSources(buffer, len);
- }
-
- void SDLAudio::play() {}
-
- void SDLAudio::stop() {}
-
- bool SDLAudio::pause()
- {
- return false;
- }
-
- bool SDLAudio::pause(Source* source)
- {
- return false;
- }
-
- bool SDLAudio::resume()
- {
- return false;
- }
-
- bool SDLAudio::resume(Source* source)
- {
- return false;
- }
-
- void SDLAudio::rewind()
- {
-
- }
-
- void SDLAudio::setVolume(float volume)
- {
-
- }
-
- float SDLAudio::getVolume()
- {
- return 0.f;
- }
-
-}
-}
-
-#endif // JIN_MODULES_AUDIO && JIN_AUDIO_SDLAUDIO \ No newline at end of file