diff --git a/common/JackAudioAdapterInterface.h b/common/JackAudioAdapterInterface.h index 83b15109..81b6cc87 100644 --- a/common/JackAudioAdapterInterface.h +++ b/common/JackAudioAdapterInterface.h @@ -95,15 +95,31 @@ namespace Jack public: - JackAudioAdapterInterface ( jack_nframes_t buffer_size, jack_nframes_t sample_rate ) : + JackAudioAdapterInterface ( jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate) : fCaptureChannels ( 0 ), fPlaybackChannels ( 0 ), - fHostBufferSize ( buffer_size ), - fHostSampleRate ( sample_rate ), - fAdaptedBufferSize ( buffer_size), - fAdaptedSampleRate ( sample_rate ), - fHostDLL ( buffer_size, sample_rate ), - fAdaptedDLL ( buffer_size, sample_rate ), + fHostBufferSize ( host_buffer_size ), + fHostSampleRate ( host_sample_rate ), + fAdaptedBufferSize ( host_buffer_size), + fAdaptedSampleRate ( host_sample_rate ), + fHostDLL ( host_buffer_size, host_sample_rate ), + fAdaptedDLL ( host_buffer_size, host_sample_rate ), + fQuality(0), + fRunning ( false ) + {} + JackAudioAdapterInterface ( jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate, + jack_nframes_t adapted_buffer_size, + jack_nframes_t adapted_sample_rate ) : + fCaptureChannels ( 0 ), + fPlaybackChannels ( 0 ), + fHostBufferSize ( host_buffer_size ), + fHostSampleRate ( host_sample_rate ), + fAdaptedBufferSize ( adapted_buffer_size), + fAdaptedSampleRate ( adapted_sample_rate ), + fHostDLL ( host_buffer_size, host_sample_rate ), + fAdaptedDLL ( adapted_buffer_size, adapted_sample_rate ), fQuality(0), fRunning ( false ) {} diff --git a/common/JackNetAPI.cpp b/common/JackNetAPI.cpp index 8c2addc6..a0fb8d89 100644 --- a/common/JackNetAPI.cpp +++ b/common/JackNetAPI.cpp @@ -106,7 +106,10 @@ extern "C" typedef struct _jack_adapter jack_adapter_t; - SERVER_EXPORT jack_adapter_t* jack_create_adapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate); + SERVER_EXPORT jack_adapter_t* jack_create_adapter(jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate, + jack_nframes_t adapted_buffer_size, + jack_nframes_t adapted_sample_rate); SERVER_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter); SERVER_EXPORT int jack_adapter_push_input(jack_adapter_t* adapter, int channels, float** buffers); @@ -731,8 +734,11 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf struct JackNetAdapter : public JackAudioAdapterInterface { - JackNetAdapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate) - :JackAudioAdapterInterface(buffer_size, sample_rate) + JackNetAdapter(jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate, + jack_nframes_t adapted_buffer_size, + jack_nframes_t adapted_sample_rate) + :JackAudioAdapterInterface(host_buffer_size, host_sample_rate, adapted_buffer_size, adapted_sample_rate) { fCaptureRingBuffer = new JackResampler*[fCaptureChannels]; fPlaybackRingBuffer = new JackResampler*[fPlaybackChannels]; @@ -962,9 +968,12 @@ SERVER_EXPORT int jack_net_master_send(jack_net_master_t* net, int audio_output, // Adapter API -SERVER_EXPORT jack_adapter_t* jack_create_adapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate) +SERVER_EXPORT jack_adapter_t* jack_create_adapter(jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate, + jack_nframes_t adapted_buffer_size, + jack_nframes_t adapted_sample_rate) { - return (jack_adapter_t*)new JackNetAdapter(buffer_size, sample_rate); + return (jack_adapter_t*)new JackNetAdapter(host_buffer_size, host_sample_rate, adapted_buffer_size, adapted_sample_rate); } SERVER_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter) diff --git a/common/JackNetAdapter.cpp b/common/JackNetAdapter.cpp index e1f16bde..3c088eb7 100644 --- a/common/JackNetAdapter.cpp +++ b/common/JackNetAdapter.cpp @@ -26,7 +26,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. namespace Jack { JackNetAdapter::JackNetAdapter ( jack_client_t* jack_client, jack_nframes_t buffer_size, jack_nframes_t sample_rate, const JSList* params ) - : JackAudioAdapterInterface ( buffer_size, sample_rate ), JackNetSlaveInterface(), fThread ( this ) + : JackAudioAdapterInterface ( buffer_size, sample_rate), JackNetSlaveInterface(), fThread ( this ) { jack_log ( "JackNetAdapter::JackNetAdapter" ); diff --git a/common/jack/net.h b/common/jack/net.h index c8671608..940a0692 100644 --- a/common/jack/net.h +++ b/common/jack/net.h @@ -255,7 +255,10 @@ typedef struct _jack_adapter jack_adapter_t; * * @return 0 on success, otherwise a non-zero error code */ -jack_adapter_t* jack_create_adapter(jack_nframes_t buffer_size, jack_nframes_t sample_rate); +jack_adapter_t* jack_create_adapter(jack_nframes_t host_buffer_size, + jack_nframes_t host_sample_rate, + jack_nframes_t adapted_buffer_size, + jack_nframes_t adapted_sample_rate); /** * Destroy an adapter.