Browse Source

Correct JackPortAudioIOAdapter::Render

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2578 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
483d18eba0
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      windows/JackPortAudioIOAdapter.cpp

+ 7
- 5
windows/JackPortAudioIOAdapter.cpp View File

@@ -31,15 +31,17 @@ int JackPortAudioIOAdapter::Render(const void* inputBuffer, void* outputBuffer,
void* userData)
{
JackPortAudioIOAdapter* adapter = static_cast<JackPortAudioIOAdapter*>(userData);
float** paBuffer;
char* buffer;
jack_log("JackPortAudioIOAdapter::Render");
paBuffer = (float**)inputBuffer;
for (int i = 0; i < adapter->fCaptureChannels; i++) {
buffer = (char*)inputBuffer;
buffer = (char*)paBuffer[i];
size_t len = jack_ringbuffer_read_space(adapter->fCaptureRingBuffer);
if (len < framesPerBuffer * sizeof(float)) {
jack_error("JackPortAudioIOAdapter::Process : producer too slow, skip frames...");
jack_ringbuffer_read(adapter->fCaptureRingBuffer, buffer, len);
@@ -48,9 +50,10 @@ int JackPortAudioIOAdapter::Render(const void* inputBuffer, void* outputBuffer,
}
}
paBuffer = (float**)outputBuffer;
for (int i = 0; i < adapter->fPlaybackChannels; i++) {
buffer = (char*)outputBuffer;
buffer = (char*)paBuffer[i];
size_t len = jack_ringbuffer_write_space(adapter->fPlaybackRingBuffer);
if (len < framesPerBuffer * sizeof(float)) {
@@ -60,7 +63,6 @@ int JackPortAudioIOAdapter::Render(const void* inputBuffer, void* outputBuffer,
jack_ringbuffer_write(adapter->fPlaybackRingBuffer, buffer, framesPerBuffer * sizeof(float));
}
}
jack_log("JackPortAudioIOAdapter::Render");
return paContinue;
}


Loading…
Cancel
Save