aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/animation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agos/animation.cpp')
-rw-r--r--engines/agos/animation.cpp11
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);
}