diff options
Diffstat (limited to 'engines/agos/animation.cpp')
-rw-r--r-- | engines/agos/animation.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp index efcd78e482..e2511f335f 100644 --- a/engines/agos/animation.cpp +++ b/engines/agos/animation.cpp @@ -282,7 +282,6 @@ void MoviePlayerDXA::stopVideo() { } void MoviePlayerDXA::startSound() { - byte *buffer; uint32 offset, size; if (getSoundTag() == MKID_BE('WAVE')) { @@ -302,18 +301,12 @@ void MoviePlayerDXA::startSound() { offset = in.readUint32LE(); size = in.readUint32LE(); - buffer = (byte *)malloc(size); in.seek(offset, SEEK_SET); - in.read(buffer, size); + _bgSoundStream = Audio::makeWAVStream(in.readStream(size), true); in.close(); } else { - buffer = (byte *)malloc(size); - _fileStream->read(buffer, size); + _bgSoundStream = Audio::makeWAVStream(_fileStream->readStream(size), true); } - - Common::MemoryReadStream stream(buffer, size); - _bgSoundStream = Audio::makeWAVStream(&stream, false); - free(buffer); } else { _bgSoundStream = Audio::AudioStream::openStreamFile(baseName); } |