]> Repos - portaudio/commitdiff
Small fix to paex_record_file.c
authorrobiwan <robiwan@0f58301d-fd10-0410-b4af-bbb618454e57>
Mon, 9 Jul 2012 11:28:57 +0000 (11:28 +0000)
committerrobiwan <robiwan@0f58301d-fd10-0410-b4af-bbb618454e57>
Mon, 9 Jul 2012 11:28:57 +0000 (11:28 +0000)
examples/paex_record_file.c

index ec7eb3d3be5fdcb177a35f939a4ad127b01fbcac..01cf6fc30e6032bdcf7c6a34d6b6c4d363fa82ed 100644 (file)
@@ -258,7 +258,7 @@ static int playCallback( const void *inputBuffer, void *outputBuffer,
 {\r
     paTestData *data = (paTestData*)userData;\r
     ring_buffer_size_t elementsToPlay = PaUtil_GetRingBufferReadAvailable(&data->ringBuffer);\r
-    ring_buffer_size_t elementsToRead = min(elementsToPlay, (ring_buffer_size_t)framesPerBuffer);\r
+    ring_buffer_size_t elementsToRead = min(elementsToPlay, (ring_buffer_size_t)(framesPerBuffer * NUM_CHANNELS));\r
     SAMPLE* wptr = (SAMPLE*)outputBuffer;\r
 \r
     (void) inputBuffer; /* Prevent unused variable warnings. */\r
@@ -272,14 +272,14 @@ static int playCallback( const void *inputBuffer, void *outputBuffer,
     if ((ring_buffer_size_t)framesPerBuffer > elementsToRead)\r
     {\r
         int i;\r
-        const int samplesToClear = (framesPerBuffer - elementsToRead) * NUM_CHANNELS;\r
+        const int samplesToClear = framesPerBuffer * NUM_CHANNELS - elementsToRead;\r
         for (i = 0; i < samplesToClear; ++i)\r
         {\r
             *wptr++ = 0;\r
         }\r
     }\r
 \r
-    data->frameIndex += PaUtil_ReadRingBuffer(&data->ringBuffer, wptr, elementsToRead * NUM_CHANNELS);\r
+    data->frameIndex += PaUtil_ReadRingBuffer(&data->ringBuffer, wptr, elementsToRead);\r
 \r
     return data->threadSyncFlag ? paComplete : paContinue;\r
 }\r