diff options
Diffstat (limited to 'audio/decoders/aiff.cpp')
-rw-r--r-- | audio/decoders/aiff.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/audio/decoders/aiff.cpp b/audio/decoders/aiff.cpp index 72baf84582..253b36dec0 100644 --- a/audio/decoders/aiff.cpp +++ b/audio/decoders/aiff.cpp @@ -102,7 +102,7 @@ RewindableAudioStream *makeAIFFStream(Common::SeekableReadStream *stream, Dispos bool foundSSND = false; uint16 channels = 0, bitsPerSample = 0; - uint32 blockAlign = 0, rate = 0; + uint32 rate = 0; uint32 codec = kCodecPCM; // AIFF default Common::SeekableReadStream *dataStream = 0; @@ -128,7 +128,9 @@ RewindableAudioStream *makeAIFFStream(Common::SeekableReadStream *stream, Dispos case MKTAG('S', 'S', 'N', 'D'): foundSSND = true; /* uint32 offset = */ stream->readUint32BE(); - blockAlign = stream->readUint32BE(); + /* uint32 blockAlign = */ stream->readUint32BE(); + if (dataStream) + delete dataStream; dataStream = new Common::SeekableSubReadStream(stream, stream->pos(), stream->pos() + length - 8, disposeAfterUse); break; case MKTAG('F', 'V', 'E', 'R'): @@ -154,7 +156,7 @@ RewindableAudioStream *makeAIFFStream(Common::SeekableReadStream *stream, Dispos return 0; default: debug(1, "Skipping AIFF '%s' chunk", tag2str(tag)); - break; + break; } stream->seek(pos + length + (length & 1)); // ensure we're also word-aligned @@ -203,7 +205,7 @@ RewindableAudioStream *makeAIFFStream(Common::SeekableReadStream *stream, Dispos if (codec == MKTAG('s', 'o', 'w', 't')) rawFlags |= Audio::FLAG_LITTLE_ENDIAN; - return makeRawStream(dataStream, rate, rawFlags); + return makeRawStream(dataStream, rate, rawFlags); } case MKTAG('i', 'm', 'a', '4'): // TODO: Use QT IMA ADPCM @@ -212,7 +214,7 @@ RewindableAudioStream *makeAIFFStream(Common::SeekableReadStream *stream, Dispos case MKTAG('Q', 'D', 'M', '2'): // TODO: Need to figure out how to integrate this // (But hopefully never needed) - warning("Unhandled AIFF-C QDM2 compression"); + warning("Unhandled AIFF-C QDM2 compression"); break; case MKTAG('A', 'D', 'P', '4'): // ADP4 on 3DO |