21 #ifndef SOUND_HANDLER_SDL_H 22 #define SOUND_HANDLER_SDL_H 27 #include <SDL_audio.h> 48 SDL_AudioSpec audioSpec;
60 mutable std::mutex _mutex;
63 void mix(std::int16_t* outSamples, std::int16_t* inSamples,
64 unsigned int nSamples,
float volume);
83 static void sdl_audio_callback (
void *udata, Uint8 *stream,
int buffer_length_in);
94 virtual int create_sound(std::unique_ptr<SimpleBuffer>
data,
100 size_t sample_count,
int seekSamples,
int streamId);
103 virtual void stopEventSound(
int sound_handle);
106 virtual void stopAllEventSounds();
108 virtual void stopStreamingSound(
int sound_handle);
111 virtual void delete_sound(
int sound_handle);
114 virtual void reset();
117 virtual void stop_all_sounds();
120 virtual int get_volume(
int sound_handle)
const;
123 virtual void set_volume(
int sound_handle,
int volume);
130 virtual void pause();
134 virtual void unpause();
137 virtual unsigned int get_duration(
int sound_handle)
const;
140 virtual unsigned int tell(
int sound_handle)
const;
144 void plugInputStream(std::unique_ptr<InputStream> in);
150 void fetchSamples(std::int16_t* to,
unsigned int nSamples);
156 #endif // SOUND_HANDLER_SDL_H
Definition: klash_part.cpp:331
Sound mixer.
Definition: sound_handler.h:87
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
SDL-based sound_handler.
Definition: sound_handler_sdl.h:43
unsigned long StreamBlockId
Identifier of a streaming sound block.
Definition: sound_handler.h:97
A simple buffer of bytes.
Definition: SimpleBuffer.h:38
Definition: GnashKey.h:159