diff --git a/configure.in b/configure.in index 805b9ae..3ab436f 100644 --- a/configure.in +++ b/configure.in @@ -15,7 +15,7 @@ dnl changes are made dnl --- JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=95 -JACK_MICRO_VERSION=5 +JACK_MICRO_VERSION=6 dnl --- dnl HOWTO: updating the jack protocol version diff --git a/drivers/dummy/dummy_driver.c b/drivers/dummy/dummy_driver.c index 0345d5c..4e158d7 100644 --- a/drivers/dummy/dummy_driver.c +++ b/drivers/dummy/dummy_driver.c @@ -329,7 +329,7 @@ driver_initialize (jack_client_t *client, const JSList * params) unsigned int capture_ports = 2; unsigned int playback_ports = 2; int wait_time_set = 0; - unsigned long wait_time; + unsigned long wait_time = 0; const JSList * node; const jack_driver_param_t * param; diff --git a/drivers/oss/oss_driver.c b/drivers/oss/oss_driver.c index 492555a..fc553cd 100644 --- a/drivers/oss/oss_driver.c +++ b/drivers/oss/oss_driver.c @@ -799,6 +799,15 @@ static int oss_driver_bufsize (oss_driver_t *driver, jack_nframes_t nframes) /* internal driver thread */ +static inline void start_process_cycle (oss_driver_t *driver) +{ + driver->last_wait_ust = jack_get_microseconds(); + driver->engine->transport_cycle_start(driver->engine, + driver->last_wait_ust); + /* what is the actual delay value? (not zero) */ + driver->engine->run_cycle(driver->engine, + driver->period_size, 0); +} #ifdef USE_BARRIER static inline void synchronize (oss_driver_t *driver) @@ -808,16 +817,12 @@ static inline void synchronize (oss_driver_t *driver) if (pthread_barrier_wait(&driver->barrier) == PTHREAD_BARRIER_SERIAL_THREAD) { - driver->last_wait_ust = jack_get_microseconds(); - driver->engine->run_cycle(driver->engine, - driver->period_size, 0); + start_process_cycle(driver); } } else { - driver->last_wait_ust = jack_get_microseconds(); - driver->engine->run_cycle(driver->engine, - driver->period_size, 0); + start_process_cycle(driver); } } #endif @@ -955,9 +960,7 @@ static void *io_thread (void *param) pthread_mutex_unlock(&driver->mutex_in); } - driver->last_wait_ust = jack_get_microseconds(); - driver->engine->run_cycle(driver->engine, - driver->period_size, 0); + start_process_cycle(driver); } free(localbuf); diff --git a/drivers/portaudio/portaudio_driver.c b/drivers/portaudio/portaudio_driver.c index 6b0ac4d..414490d 100644 --- a/drivers/portaudio/portaudio_driver.c +++ b/drivers/portaudio/portaudio_driver.c @@ -315,7 +315,7 @@ portaudio_driver_new (char *name, DitherAlgorithm dither) { portaudio_driver_t *driver; - PaError err; + PaError err = paNoError; const PaDeviceInfo *pdi; int numDevices; int i,j;