From 822b732fd31ffcb78f6920001e9b1fbd815fa712 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaymans@redhat.com> Date: Thu, 27 Sep 2018 12:11:12 +0200 Subject: [PATCH] SimpleModule: set output chunk framecount after pull After pulling the data, set the output chunk to the amount of frames we pulled so that the next module in the chain has the correct frame count. Fixes #50 and #51 --- libaudiofile/modules/SimpleModule.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libaudiofile/modules/SimpleModule.cpp b/libaudiofile/modules/SimpleModule.cpp index 2bae1eb..e87932c 100644 --- a/libaudiofile/modules/SimpleModule.cpp +++ b/libaudiofile/modules/SimpleModule.cpp @@ -26,6 +26,7 @@ void SimpleModule::runPull() { pull(m_outChunk->frameCount); + m_outChunk->frameCount = m_inChunk->frameCount; run(*m_inChunk, *m_outChunk); } From 941774c8c0e79007196d7f1e7afdc97689f869b3 Mon Sep 17 00:00:00 2001 From: Wim Taymans <wtaymans@redhat.com> Date: Thu, 27 Sep 2018 12:09:45 +0200 Subject: [PATCH] ALAC: set chunk frameCount to 0 on short read --- libaudiofile/modules/ALAC.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libaudiofile/modules/ALAC.cpp b/libaudiofile/modules/ALAC.cpp index 7593c11..478e2af 100644 --- a/libaudiofile/modules/ALAC.cpp +++ b/libaudiofile/modules/ALAC.cpp @@ -240,6 +240,7 @@ void ALAC::runPull() if (read(m_inChunk->buffer, bytesPerPacket) < bytesPerPacket) { reportReadError(0, m_track->f.framesPerPacket); + m_outChunk->frameCount = 0; return; }