diff options
Diffstat (limited to 'src/libjin/audio/sdl/audio.cpp')
-rw-r--r-- | src/libjin/audio/sdl/audio.cpp | 121 |
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 |