aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/smk_player.cpp8
-rw-r--r--graphics/smk_player.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/graphics/smk_player.cpp b/graphics/smk_player.cpp
index 3a5d6e8fe5..f6565c8ac3 100644
--- a/graphics/smk_player.cpp
+++ b/graphics/smk_player.cpp
@@ -569,7 +569,7 @@ bool SMKPlayer::decodeNextFrame() {
if (_header.audioInfo[i].isCompressed) {
// Compressed audio (Huffman DPCM encoded)
queueCompressedBuffer(soundBuffer, chunkSize, dataSizeUnpacked, i);
- delete soundBuffer;
+ delete[] soundBuffer;
} else {
// Uncompressed audio (PCM)
_audioStream->queueBuffer(soundBuffer, chunkSize);
@@ -745,8 +745,8 @@ bool SMKPlayer::decodeNextFrame() {
return ++_currentSMKFrame < _header.frames;
}
-void SMKPlayer::queueCompressedBuffer(byte *buffer, int bufferSize,
- int unpackedSize, int streamNum) {
+void SMKPlayer::queueCompressedBuffer(byte *buffer, uint32 bufferSize,
+ uint32 unpackedSize, int streamNum) {
BitStream audioBS(buffer, bufferSize);
bool dataPresent = audioBS.getBit();
@@ -763,7 +763,7 @@ void SMKPlayer::queueCompressedBuffer(byte *buffer, int bufferSize,
byte *unpackedBuffer = new byte[unpackedSize + numBytes];
byte *curPointer = unpackedBuffer;
- uint16 curPos = 0;
+ uint32 curPos = 0;
SmallHuffmanTree *audioTrees[4];
for (int k = 0; k < numBytes; k++)
diff --git a/graphics/smk_player.h b/graphics/smk_player.h
index d7f23b450b..1b8976203d 100644
--- a/graphics/smk_player.h
+++ b/graphics/smk_player.h
@@ -143,7 +143,7 @@ private:
void unpackPalette();
// Possible runs of blocks
uint getBlockRun(int index) { return (index <= 58) ? index + 1 : 128 << (index - 59); }
- void queueCompressedBuffer(byte *buffer, int bufferSize, int unpackedSize, int streamNum);
+ void queueCompressedBuffer(byte *buffer, uint32 bufferSize, uint32 unpackedSize, int streamNum);
struct AudioInfo {
bool isCompressed;