summaryrefslogtreecommitdiff
path: root/package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp
diff options
context:
space:
mode:
Diffstat (limited to 'package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp')
-rw-r--r--package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp b/package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp
new file mode 100644
index 000000000..0e7188da5
--- /dev/null
+++ b/package/libaudiofile/patches/patch-libaudiofile_modules_BlockCodec_cpp
@@ -0,0 +1,14 @@
+--- audiofile-0.3.6.orig/libaudiofile/modules/BlockCodec.cpp 2013-03-06 06:30:03.000000000 +0100
++++ audiofile-0.3.6/libaudiofile/modules/BlockCodec.cpp 2017-04-26 02:15:29.573388050 +0200
+@@ -52,8 +52,9 @@ void BlockCodec::runPull()
+ // Decompress into m_outChunk.
+ for (int i=0; i<blocksRead; i++)
+ {
+- decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
+- static_cast<int16_t *>(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount);
++ if (decodeBlock(static_cast<const uint8_t *>(m_inChunk->buffer) + i * m_bytesPerPacket,
++ static_cast<int16_t *>(m_outChunk->buffer) + i * m_framesPerPacket * m_track->f.channelCount)==0)
++ break;
+
+ framesRead += m_framesPerPacket;
+ }