21 #ifndef SOUND_HANDLER_SDL_H
22 #define SOUND_HANDLER_SDL_H
28 #include <SDL_audio.h>
29 #include <boost/thread/mutex.hpp>
49 SDL_AudioSpec audioSpec;
61 mutable boost::mutex _mutex;
64 mutable boost::mutex _mutedMutex;
67 void mix(boost::int16_t* outSamples, boost::int16_t* inSamples,
68 unsigned int nSamples,
float volume);
87 static void sdl_audio_callback (
void *udata, Uint8 *stream,
int buffer_length_in);
104 size_t sample_count,
int seekSamples,
int streamId);
118 virtual void reset();
124 virtual int get_volume(
int sound_handle)
const;
127 virtual void set_volume(
int sound_handle,
int volume);
146 virtual void pause();
153 virtual unsigned int get_duration(
int sound_handle)
const;
156 virtual unsigned int tell(
int sound_handle)
const;
166 void fetchSamples(boost::int16_t* to,
unsigned int nSamples);
172 #endif // SOUND_HANDLER_SDL_H