diff --git a/src/pipeline/ParallelStep.cpp b/src/pipeline/ParallelStep.cpp index 5c8636dd..81d499d7 100644 --- a/src/pipeline/ParallelStep.cpp +++ b/src/pipeline/ParallelStep.cpp @@ -240,7 +240,7 @@ std::shared_ptr ParallelStep::execute(std::shared_ptr inputSamples ThreadInfo* outputTask = threads_[stepToOutput]; - *numOutputSamples = codec2_fifo_used(outputTask->outputFifo); + *numOutputSamples = std::min(codec2_fifo_used(outputTask->outputFifo), numInputSamples * outputSampleRate_ / inputSampleRate_); codec2_fifo_read(outputTask->outputFifo, outputTask->tempOutput.get(), *numOutputSamples); return outputTask->tempOutput; }