diff --git a/Audio/Output/OutputAVFoundation.m b/Audio/Output/OutputAVFoundation.m index 4e63c29ca..2063ba9eb 100644 --- a/Audio/Output/OutputAVFoundation.m +++ b/Audio/Output/OutputAVFoundation.m @@ -169,7 +169,7 @@ - (int)renderInput:(int)amountToRead toBuffer:(float *)buffer { [currentPtsLock lock]; samplesFlushed = (int)rsstate_flush(rsvis, &visTemp[0], 8192); [currentPtsLock unlock]; - if(samplesFlushed) { + if(samplesFlushed > 1) { [visController postVisPCM:visTemp amount:samplesFlushed]; } else { break; @@ -207,7 +207,7 @@ - (int)renderInput:(int)amountToRead toBuffer:(float *)buffer { [currentPtsLock lock]; samplesFlushed = (int)rsstate_flush(rsvis, &visTemp[0], 8192); [currentPtsLock unlock]; - if(samplesFlushed) { + if(samplesFlushed > 1) { [visController postVisPCM:visTemp amount:samplesFlushed]; } else { break; @@ -806,7 +806,7 @@ - (int)makeBlockBuffer:(CMBlockBufferRef *)blockBufferOut { [currentPtsLock lock]; samplesRendered = rsstate_flush(rsold, &rsTempBuffer[0], 4096); [currentPtsLock unlock]; - if(!samplesRendered) { + if(samplesRendered < 4096) { rsstate_delete(rsold); rsold = NULL; rsDone = YES;