diff --git a/ChangeLog b/ChangeLog index e872a9cb..da106547 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,7 @@ Michael Voigt * Fix JackNetDriver::Close method. * For audio device reservation, add card_to_num function. + * Fix buffer size and sample rate handling in JackAlsaAdapter. 2009-02-23 Stephane Letz diff --git a/common/JackAudioAdapterInterface.cpp b/common/JackAudioAdapterInterface.cpp index b3401b03..2ce9ef47 100644 --- a/common/JackAudioAdapterInterface.cpp +++ b/common/JackAudioAdapterInterface.cpp @@ -106,7 +106,7 @@ namespace Jack fPlaybackRingBuffer[i]->Reset(); } - void JackAudioAdapterInterface::ResampleFactor ( jack_nframes_t& frame1, jack_nframes_t& frame2 ) + void JackAudioAdapterInterface::ResampleFactor ( jack_time_t& frame1, jack_time_t& frame2 ) { jack_time_t time = GetMicroSeconds(); diff --git a/common/JackAudioAdapterInterface.h b/common/JackAudioAdapterInterface.h index 83b15109..f5e4d4b5 100644 --- a/common/JackAudioAdapterInterface.h +++ b/common/JackAudioAdapterInterface.h @@ -184,7 +184,7 @@ namespace Jack fHostDLL.IncFrame ( callback_usec ); } - void ResampleFactor ( jack_nframes_t& frame1, jack_nframes_t& frame2 ); + void ResampleFactor ( jack_time_t& frame1, jack_time_t& frame2 ); void SetInputs ( int inputs ) { diff --git a/common/JackNetAdapter.cpp b/common/JackNetAdapter.cpp index e1f16bde..31162c9c 100644 --- a/common/JackNetAdapter.cpp +++ b/common/JackNetAdapter.cpp @@ -367,7 +367,7 @@ namespace Jack return SOCKET_ERROR; //get the resample factor, - jack_nframes_t time1, time2; + jack_time_t time1, time2; ResampleFactor ( time1, time2 ); //resample input data, diff --git a/linux/alsa/JackAlsaAdapter.cpp b/linux/alsa/JackAlsaAdapter.cpp index 66de67af..9ff4f120 100644 --- a/linux/alsa/JackAlsaAdapter.cpp +++ b/linux/alsa/JackAlsaAdapter.cpp @@ -66,9 +66,11 @@ namespace Jack fAudioInterface.fCardName = strdup ( param->value.str ); break; case 'r': + fAudioInterface.fFrequency = param->value.ui; SetAdaptedSampleRate ( param->value.ui ); break; case 'p': + fAudioInterface.fBuffering = param->value.ui; SetAdaptedBufferSize ( param->value.ui ); break; case 'q': @@ -153,7 +155,7 @@ namespace Jack bool failure = false; //compute resampling factor - jack_nframes_t time1, time2; + jack_time_t time1, time2; ResampleFactor ( time1, time2 ); //resample inputs diff --git a/macosx/coreaudio/JackCoreAudioAdapter.cpp b/macosx/coreaudio/JackCoreAudioAdapter.cpp index f222e3e9..d28f5cec 100644 --- a/macosx/coreaudio/JackCoreAudioAdapter.cpp +++ b/macosx/coreaudio/JackCoreAudioAdapter.cpp @@ -295,7 +295,7 @@ OSStatus JackCoreAudioAdapter::Render(void *inRefCon, AudioUnitRender(adapter->fAUHAL, ioActionFlags, inTimeStamp, 1, inNumberFrames, adapter->fInputData); bool failure = false; - jack_nframes_t time1, time2; + jack_time_t time1, time2; adapter->ResampleFactor(time1, time2); for (int i = 0; i < adapter->fCaptureChannels; i++) { diff --git a/solaris/oss/JackOSSAdapter.cpp b/solaris/oss/JackOSSAdapter.cpp index e74b7430..e8cc5556 100644 --- a/solaris/oss/JackOSSAdapter.cpp +++ b/solaris/oss/JackOSSAdapter.cpp @@ -604,7 +604,7 @@ bool JackOSSAdapter::Execute() return false; bool failure = false; - jack_nframes_t time1, time2; + jack_time_t time1, time2; ResampleFactor(time1, time2); for (int i = 0; i < fCaptureChannels; i++) { diff --git a/windows/portaudio/JackPortAudioAdapter.cpp b/windows/portaudio/JackPortAudioAdapter.cpp index 2f3ba46e..d4dd31e8 100644 --- a/windows/portaudio/JackPortAudioAdapter.cpp +++ b/windows/portaudio/JackPortAudioAdapter.cpp @@ -38,7 +38,7 @@ namespace Jack float** paBuffer; bool failure = false; - jack_nframes_t time1, time2; + jack_time_t time1, time2; adapter->ResampleFactor ( time1, time2 ); paBuffer = (float**)inputBuffer;