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> 110 unsigned int getChannelCount()
const;
121 unsigned int getSampleRate()
const;
129 Status getStatus()
const;
144 void setPlayingOffset(
Time timeOffset);
154 Time getPlayingOffset()
const;
169 void setLoop(
bool loop);
179 bool getLoop()
const;
210 void initialize(
unsigned int channelCount,
unsigned int sampleRate);
229 virtual bool onGetData(Chunk& data) = 0;
240 virtual void onSeek(
Time timeOffset) = 0;
252 virtual Int64 onLoop();
279 bool fillAndPushBuffer(
unsigned int bufferNum,
bool immediateLoop =
false);
310 mutable Mutex m_threadMutex;
311 Status m_threadStartState;
313 unsigned int m_buffers[BufferCount];
314 unsigned int m_channelCount;
315 unsigned int m_sampleRate;
318 Uint64 m_samplesProcessed;
319 Int64 m_bufferSeeks[BufferCount];
325 #endif // SFML_SOUNDSTREAM_HPP Structure defining a chunk of audio data to stream.
const Int16 * samples
Pointer to the audio samples.
Abstract base class for streamed audio sources.
Base class defining a sound's properties.
std::size_t sampleCount
Number of samples pointed by Samples.