aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2012-09-14 11:39:36 +0300
committerFilippos Karapetis2012-09-14 11:40:27 +0300
commit3919c51e865b6b895447d94861def0444887daa2 (patch)
tree401be7bf5a74011b23a630f0b7f56d204ee77bb2
parentf16bb13f94dcaee1ece52598efd14ef84864794b (diff)
downloadscummvm-rg350-3919c51e865b6b895447d94861def0444887daa2.tar.gz
scummvm-rg350-3919c51e865b6b895447d94861def0444887daa2.tar.bz2
scummvm-rg350-3919c51e865b6b895447d94861def0444887daa2.zip
TOLTECS: Adapt the movie chunk buffer allocation code
Thanks to wjp and LordHoto for their feedback
-rw-r--r--engines/toltecs/movie.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/toltecs/movie.cpp b/engines/toltecs/movie.cpp
index 33fe249514..74364630f5 100644
--- a/engines/toltecs/movie.cpp
+++ b/engines/toltecs/movie.cpp
@@ -98,7 +98,7 @@ void MoviePlayer::playMovie(uint resIndex) {
uint32 lastTime = _vm->_mixer->getSoundElapsedTime(_audioStreamHandle);
byte *chunkBuffer = NULL;
- uint32 prevChunkSize = 0;
+ uint32 chunkBufferSize = 0;
while (_chunkCount--) {
byte chunkType = _vm->_arc->readByte();
@@ -111,13 +111,13 @@ void MoviePlayer::playMovie(uint resIndex) {
if (chunkType == kChunkAudio) {
_vm->_arc->skip(chunkSize);
} else {
- // Only reallocate the chunk buffer if it's smaller than the previous frame
- if (chunkSize > prevChunkSize) {
+ // Only reallocate the chunk buffer if the new chunk is bigger
+ if (chunkSize > chunkBufferSize) {
delete[] chunkBuffer;
chunkBuffer = new byte[chunkSize];
+ chunkBufferSize = chunkSize;
}
- prevChunkSize = chunkSize;
_vm->_arc->read(chunkBuffer, chunkSize);
}