From 4669893212bbf3c71f8f0b57f8dfb11f08c6ccdd Mon Sep 17 00:00:00 2001 From: robiwan Date: Mon, 9 Jul 2012 11:28:57 +0000 Subject: [PATCH] Small fix to paex_record_file.c --- examples/paex_record_file.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/paex_record_file.c b/examples/paex_record_file.c index ec7eb3d..01cf6fc 100644 --- a/examples/paex_record_file.c +++ b/examples/paex_record_file.c @@ -258,7 +258,7 @@ static int playCallback( const void *inputBuffer, void *outputBuffer, { paTestData *data = (paTestData*)userData; ring_buffer_size_t elementsToPlay = PaUtil_GetRingBufferReadAvailable(&data->ringBuffer); - ring_buffer_size_t elementsToRead = min(elementsToPlay, (ring_buffer_size_t)framesPerBuffer); + ring_buffer_size_t elementsToRead = min(elementsToPlay, (ring_buffer_size_t)(framesPerBuffer * NUM_CHANNELS)); SAMPLE* wptr = (SAMPLE*)outputBuffer; (void) inputBuffer; /* Prevent unused variable warnings. */ @@ -272,14 +272,14 @@ static int playCallback( const void *inputBuffer, void *outputBuffer, if ((ring_buffer_size_t)framesPerBuffer > elementsToRead) { int i; - const int samplesToClear = (framesPerBuffer - elementsToRead) * NUM_CHANNELS; + const int samplesToClear = framesPerBuffer * NUM_CHANNELS - elementsToRead; for (i = 0; i < samplesToClear; ++i) { *wptr++ = 0; } } - data->frameIndex += PaUtil_ReadRingBuffer(&data->ringBuffer, wptr, elementsToRead * NUM_CHANNELS); + data->frameIndex += PaUtil_ReadRingBuffer(&data->ringBuffer, wptr, elementsToRead); return data->threadSyncFlag ? paComplete : paContinue; } -- 2.43.0