diff --git a/Audio/Output/OutputAVFoundation.m b/Audio/Output/OutputAVFoundation.m index e4d157228..412b696c9 100644 --- a/Audio/Output/OutputAVFoundation.m +++ b/Audio/Output/OutputAVFoundation.m @@ -180,16 +180,17 @@ static OSStatus eqRenderCallback(void *inRefCon, AudioUnitRenderActionFlags *ioA int samplesProcessed; size_t totalDone = 0; size_t inDone = 0; + size_t visFrameCount = frameCount; { [currentPtsLock lock]; - samplesProcessed = (int)r8bstate_resample(r8bvis, &visAudio[totalDone], frameCount, &inDone, &visTemp[0], 8192); + samplesProcessed = (int)r8bstate_resample(r8bvis, &visAudio[totalDone], visFrameCount, &inDone, &visTemp[0], 8192); [currentPtsLock unlock]; if(samplesProcessed) { [visController postVisPCM:&visTemp[0] amount:samplesProcessed]; } totalDone += inDone; - frameCount -= inDone; - } while(samplesProcessed && frameCount); + visFrameCount -= inDone; + } while(samplesProcessed && visFrameCount); } } else if(r8bvis) { for(;;) {