From 7eb407be80857b27c718e4e6f22de61c4d88b183 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 23 Jan 2010 13:33:45 +0000 Subject: Cleanup raw looping code svn-id: r47471 --- sound/raw.cpp | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/sound/raw.cpp b/sound/raw.cpp index 75d60bf37a..ef77f3040f 100644 --- a/sound/raw.cpp +++ b/sound/raw.cpp @@ -365,25 +365,20 @@ AudioStream *makeRawMemoryStream(const byte *ptr, uint32 len, uint loopStart, uint loopEnd) { SeekableAudioStream *s = makeRawMemoryStream(ptr, len, autoFree, rate, flags); - const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; - const bool isLooping = (flags & Audio::FLAG_LOOP) != 0; + if ((flags & Audio::FLAG_LOOP) != 0) { + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; - if (isLooping) { - uint loopOffset = 0, loopLen = 0; if (loopEnd == 0) loopEnd = len; assert(loopStart <= loopEnd); assert(loopEnd <= len); - loopOffset = loopStart; - loopLen = loopEnd - loopStart; - // Verify the buffer sizes are sane if (is16Bit && isStereo) - assert((loopLen & 3) == 0 && (loopStart & 3) == 0 && (loopEnd & 3) == 0); + assert((loopStart & 3) == 0 && (loopEnd & 3) == 0); else if (is16Bit || isStereo) - assert((loopLen & 1) == 0 && (loopStart & 1) == 0 && (loopEnd & 1) == 0); + assert((loopStart & 1) == 0 && (loopEnd & 1) == 0); const uint32 extRate = s->getRate() * (is16Bit ? 2 : 1) * (isStereo ? 2 : 1); @@ -431,27 +426,22 @@ AudioStream *makeRawDiskStream(Common::SeekableReadStream *stream, RawDiskStream int numBlocks, int rate, byte flags, DisposeAfterUse::Flag disposeStream, uint loopStart, uint loopEnd) { SeekableAudioStream *s = makeRawDiskStream(stream, block, numBlocks, rate, flags, disposeStream); - const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; - const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; - const bool isLooping = (flags & Audio::FLAG_LOOP) != 0; + if ((flags & Audio::FLAG_LOOP) != 0) { + const bool isStereo = (flags & Audio::FLAG_STEREO) != 0; + const bool is16Bit = (flags & Audio::FLAG_16BITS) != 0; - if (isLooping) { const uint len = s->getLength().totalNumberOfFrames() / (is16Bit ? 2 : 1) / (isStereo ? 2 : 1); - uint loopOffset = 0, loopLen = 0; if (loopEnd == 0) loopEnd = len; assert(loopStart <= loopEnd); assert(loopEnd <= len); - loopOffset = loopStart; - loopLen = loopEnd - loopStart; - // Verify the buffer sizes are sane if (is16Bit && isStereo) - assert((loopLen & 3) == 0 && (loopStart & 3) == 0 && (loopEnd & 3) == 0); + assert((loopStart & 3) == 0 && (loopEnd & 3) == 0); else if (is16Bit || isStereo) - assert((loopLen & 1) == 0 && (loopStart & 1) == 0 && (loopEnd & 3) == 0); + assert((loopStart & 1) == 0 && (loopEnd & 1) == 0); const uint32 extRate = s->getRate() * (is16Bit ? 2 : 1) * (isStereo ? 2 : 1); -- cgit v1.2.3