Null sound_handler, for testing or manual fetching of samples. More...
#include <NullSoundHandler.h>
Public Member Functions | |
NullSoundHandler (media::MediaHandler *m, sound_handler *mixer=0) | |
void | mix (boost::int16_t *outSamples, boost::int16_t *inSamples, unsigned int nSamples, float volume) |
Mix nSamples from inSamples to outSamples, with given volume. | |
Public Attributes | |
sound_handler * | _mixer |
Null sound_handler, for testing or manual fetching of samples.
gnash::sound::NullSoundHandler::NullSoundHandler | ( | media::MediaHandler * | m, | |
sound_handler * | mixer = 0 | |||
) | [inline] |
void gnash::sound::NullSoundHandler::mix | ( | boost::int16_t * | outSamples, | |
boost::int16_t * | inSamples, | |||
unsigned int | nSamples, | |||
float | volume | |||
) | [inline, virtual] |
Mix nSamples from inSamples to outSamples, with given volume.
outSamples | The output samples buffer, to mix to. Must be big enough to contain nSamples. Can be larger. | |
inSamples | The input samples buffer, to mix in. It is non-const as this method *is* allowed to mess with content, for example to apply volume. TODO: why not applying volume upstream ?! | |
nSamples | The amount of samples to mix in. | |
volume | The volume to apply to input samples, as a fraction (0..1) |
TODO: this interface says nothing about how many channels we're going to mix. It should, to be a sane interface. Maybe, a Mixer instance should be created, initialized with number of channels, at each fetching.
Implements gnash::sound::sound_handler.