21 #ifndef SOUND_HANDLER_SDL_H
22 #define SOUND_HANDLER_SDL_H
27 #include <SDL_audio.h>
28 #include <boost/thread/mutex.hpp>
48 SDL_AudioSpec audioSpec;
60 mutable boost::mutex _mutex;
63 mutable boost::mutex _mutedMutex;
66 void mix(boost::int16_t* outSamples, boost::int16_t* inSamples,
67 unsigned int nSamples,
float volume);
86 static void sdl_audio_callback (
void *udata, Uint8 *stream,
int buffer_length_in);
103 size_t sample_count,
int seekSamples,
int streamId);
117 virtual void reset();
123 virtual int get_volume(
int sound_handle)
const;
126 virtual void set_volume(
int sound_handle,
int volume);
145 virtual void pause();
152 virtual unsigned int get_duration(
int sound_handle)
const;
155 virtual unsigned int tell(
int sound_handle)
const;
165 void fetchSamples(boost::int16_t* to,
unsigned int nSamples);
171 #endif // SOUND_HANDLER_SDL_H