Browse Source

Correct JackPortAudioDriver.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4259 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.9.8
sletz 14 years ago
parent
commit
d617cef4da
2 changed files with 10 additions and 9 deletions
  1. +9
    -8
      windows/portaudio/JackPortAudioDriver.cpp
  2. +1
    -1
      windows/portaudio/JackPortAudioDriver.h

+ 9
- 8
windows/portaudio/JackPortAudioDriver.cpp View File

@@ -60,7 +60,7 @@ namespace Jack
return 0; return 0;
} }


int JackPortAudioDriver::OpenStream()
PaError JackPortAudioDriver::OpenStream(jack_nframes_t buffer_size)
{ {
PaStreamParameters inputParameters; PaStreamParameters inputParameters;
PaStreamParameters outputParameters; PaStreamParameters outputParameters;
@@ -91,7 +91,7 @@ namespace Jack
Render, Render,
this); this);


return (err == paNoError) ? 0: -1;
return err;
} }


int JackPortAudioDriver::Open(jack_nframes_t buffer_size, int JackPortAudioDriver::Open(jack_nframes_t buffer_size,
@@ -108,6 +108,7 @@ namespace Jack
{ {
int in_max = 0; int in_max = 0;
int out_max = 0; int out_max = 0;
PaError err = paNoError;


jack_log("JackPortAudioDriver::Open nframes = %ld in = %ld out = %ld capture name = %s playback name = %s samplerate = %ld", jack_log("JackPortAudioDriver::Open nframes = %ld in = %ld out = %ld capture name = %s playback name = %s samplerate = %ld",
buffer_size, inchannels, outchannels, capture_driver_uid, playback_driver_uid, samplerate); buffer_size, inchannels, outchannels, capture_driver_uid, playback_driver_uid, samplerate);
@@ -148,7 +149,11 @@ namespace Jack
outchannels = out_max; outchannels = out_max;
} }


if (OpenStream() < 0) {
// Core driver may have changed the in/out values
fCaptureChannels = inchannels;
fPlaybackChannels = outchannels;

if ((err = OpenStream(buffer_size)) != paNoError) {
jack_error("Pa_OpenStream error = %s", Pa_GetErrorText(err)); jack_error("Pa_OpenStream error = %s", Pa_GetErrorText(err));
goto error; goto error;
} }
@@ -159,10 +164,6 @@ namespace Jack
fEngineControl->fConstraint = fEngineControl->fPeriodUsecs * 1000; fEngineControl->fConstraint = fEngineControl->fPeriodUsecs * 1000;
#endif #endif


// Core driver may have changed the in/out values
fCaptureChannels = inchannels;
fPlaybackChannels = outchannels;

assert(strlen(capture_driver_uid) < JACK_CLIENT_NAME_SIZE); assert(strlen(capture_driver_uid) < JACK_CLIENT_NAME_SIZE);
assert(strlen(playback_driver_uid) < JACK_CLIENT_NAME_SIZE); assert(strlen(playback_driver_uid) < JACK_CLIENT_NAME_SIZE);


@@ -220,7 +221,7 @@ error:
return -1; return -1;
} }


if (OpenStream() < 0) {
if ((err = OpenStream(buffer_size)) != paNoError) {
jack_error("Pa_OpenStream error = %s", Pa_GetErrorText(err)); jack_error("Pa_OpenStream error = %s", Pa_GetErrorText(err));
return -1; return -1;
} else { } else {


+ 1
- 1
windows/portaudio/JackPortAudioDriver.h View File

@@ -49,7 +49,7 @@ class JackPortAudioDriver : public JackAudioDriver
void* userData); void* userData);


void UpdateLatencies(); void UpdateLatencies();
int OpenStream();
PaError OpenStream(jack_nframes_t buffer_size);


public: public:




Loading…
Cancel
Save