AUDIO: Added flag to skip rewinding in LoopingAudioStream
This commit is contained in:
parent
4b9cafc1f8
commit
30d67ced36
2 changed files with 3 additions and 3 deletions
|
@ -91,11 +91,11 @@ SeekableAudioStream *SeekableAudioStream::openStreamFile(const Common::String &b
|
||||||
#pragma mark --- LoopingAudioStream ---
|
#pragma mark --- LoopingAudioStream ---
|
||||||
#pragma mark -
|
#pragma mark -
|
||||||
|
|
||||||
LoopingAudioStream::LoopingAudioStream(RewindableAudioStream *stream, uint loops, DisposeAfterUse::Flag disposeAfterUse)
|
LoopingAudioStream::LoopingAudioStream(RewindableAudioStream *stream, uint loops, DisposeAfterUse::Flag disposeAfterUse, bool rewind)
|
||||||
: _parent(stream, disposeAfterUse), _loops(loops), _completeIterations(0) {
|
: _parent(stream, disposeAfterUse), _loops(loops), _completeIterations(0) {
|
||||||
assert(stream);
|
assert(stream);
|
||||||
|
|
||||||
if (!stream->rewind()) {
|
if (rewind && !stream->rewind()) {
|
||||||
// TODO: Properly indicate error
|
// TODO: Properly indicate error
|
||||||
_loops = _completeIterations = 1;
|
_loops = _completeIterations = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ public:
|
||||||
* @param loops How often to loop (0 = infinite)
|
* @param loops How often to loop (0 = infinite)
|
||||||
* @param disposeAfterUse Destroy the stream after the LoopingAudioStream has finished playback.
|
* @param disposeAfterUse Destroy the stream after the LoopingAudioStream has finished playback.
|
||||||
*/
|
*/
|
||||||
LoopingAudioStream(RewindableAudioStream *stream, uint loops, DisposeAfterUse::Flag disposeAfterUse = DisposeAfterUse::YES);
|
LoopingAudioStream(RewindableAudioStream *stream, uint loops, DisposeAfterUse::Flag disposeAfterUse = DisposeAfterUse::YES, bool rewind = true);
|
||||||
|
|
||||||
int readBuffer(int16 *buffer, const int numSamples);
|
int readBuffer(int16 *buffer, const int numSamples);
|
||||||
bool endOfData() const;
|
bool endOfData() const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue