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