25#ifndef SFML_SOUNDSTREAM_HPP
26#define SFML_SOUNDSTREAM_HPP
31#include <SFML/Audio/Export.hpp>
32#include <SFML/Audio/SoundSource.hpp>
33#include <SFML/System/Thread.hpp>
34#include <SFML/System/Time.hpp>
35#include <SFML/System/Mutex.hpp>
210 void initialize(
unsigned int channelCount,
unsigned int sampleRate);
293 bool fillAndPushBuffer(
unsigned int bufferNum,
bool immediateLoop =
false);
324 mutable Mutex m_threadMutex;
325 Status m_threadStartState;
327 unsigned int m_buffers[BufferCount];
328 unsigned int m_channelCount;
329 unsigned int m_sampleRate;
332 Uint64 m_samplesProcessed;
333 Int64 m_bufferSeeks[BufferCount];
334 Time m_processingInterval;
Blocks concurrent access to shared resources from multiple threads.
Base class defining a sound's properties.
Status
Enumeration of the sound source states.
Abstract base class for streamed audio sources.
void stop()
Stop playing the audio stream.
unsigned int getChannelCount() const
Return the number of channels of the stream.
virtual ~SoundStream()
Destructor.
void setProcessingInterval(Time interval)
Set the processing interval.
virtual Int64 onLoop()
Change the current playing position in the stream source to the beginning of the loop.
void setLoop(bool loop)
Set whether or not the stream should loop after reaching the end.
bool getLoop() const
Tell whether or not the stream is in loop mode.
Status getStatus() const
Get the current status of the stream (stopped, paused, playing)
SoundStream()
Default constructor.
unsigned int getSampleRate() const
Get the stream sample rate of the stream.
virtual void onSeek(Time timeOffset)=0
Change the current playing position in the stream source.
void pause()
Pause the audio stream.
virtual bool onGetData(Chunk &data)=0
Request a new chunk of audio samples from the stream source.
void initialize(unsigned int channelCount, unsigned int sampleRate)
Define the audio stream parameters.
Time getPlayingOffset() const
Get the current playing position of the stream.
void setPlayingOffset(Time timeOffset)
Change the current playing position of the stream.
void play()
Start or resume playing the audio stream.
Utility class to manipulate threads.
Structure defining a chunk of audio data to stream.
const Int16 * samples
Pointer to the audio samples.
std::size_t sampleCount
Number of samples pointed by Samples.