From 1a13c9f5568b0ffe2b701f1e9ab829dea9d251bf Mon Sep 17 00:00:00 2001 From: joq Date: Fri, 8 Aug 2003 20:20:47 +0000 Subject: [PATCH] [0.76.4] jack_transport_locate(); sync patches git-svn-id: svn+ssh://jackaudio.org/trunk/jack@449 0c269be4-1314-0410-8aa9-9f06e86f4224 --- configure.in | 2 +- doc/transport.dox | 4 ++-- example-clients/transport.c | 2 +- jack/transport.h | 8 ++++---- jackd/engine.c | 1 + jackd/transengine.c | 6 ++---- libjack/transclient.c | 4 ++-- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/configure.in b/configure.in index 48b793a..c2c69c2 100644 --- a/configure.in +++ b/configure.in @@ -14,7 +14,7 @@ dnl changes are made dnl --- JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=76 -JACK_MICRO_VERSION=3 +JACK_MICRO_VERSION=4 dnl --- diff --git a/doc/transport.dox b/doc/transport.dox index 638bebe..9306771 100644 --- a/doc/transport.dox +++ b/doc/transport.dox @@ -158,8 +158,8 @@ an opportunity to catch up. @code int jack_transport_reposition (jack_client_t *client, jack_position_t *pos); - int jack_transport_goto_frame (jack_client_t *client, - jack_nframes_t frame); + int jack_transport_locate (jack_client_t *client, + jack_nframes_t frame); @endcode These request a new transport position. They can be called at any diff --git a/example-clients/transport.c b/example-clients/transport.c index fbaef8f..3fe5a3b 100644 --- a/example-clients/transport.c +++ b/example-clients/transport.c @@ -131,7 +131,7 @@ void com_locate(char *arg) if (*arg != '\0') frame = atoi(arg); - jack_transport_goto_frame(client, frame); + jack_transport_locate(client, frame); } void com_master(char *arg) diff --git a/jack/transport.h b/jack/transport.h index e292ccd..9dec10c 100644 --- a/jack/transport.h +++ b/jack/transport.h @@ -191,7 +191,7 @@ int jack_set_sync_timeout (jack_client_t *client, * * The timebase master should not use its @a pos argument to set a * discontinuous position. Use jack_transport_reposition() or - * jack_transport_goto_frame(), instead. + * jack_transport_locate(), instead. * * @param state current transport state. * @param nframes number of frames in current period. @@ -254,8 +254,8 @@ int jack_set_timebase_callback (jack_client_t *client, * * @return 0 if valid request, otherwise a non-zero error code. */ -int jack_transport_goto_frame (jack_client_t *client, - jack_nframes_t frame); +int jack_transport_locate (jack_client_t *client, + jack_nframes_t frame); /** * Query the current transport state and position. @@ -283,7 +283,7 @@ jack_transport_state_t jack_transport_query (jack_client_t *client, * rolling, it enters the ::JackTransportStarting state and begins * invoking their sync_callbacks until they declare themselves ready. * - * @see jack_transport_goto_frame, jack_set_sync_callback + * @see jack_transport_locate, jack_set_sync_callback * * @param client the JACK client structure. * @param pos requested new transport position. diff --git a/jackd/engine.c b/jackd/engine.c index 37236c4..034c5f0 100644 --- a/jackd/engine.c +++ b/jackd/engine.c @@ -693,6 +693,7 @@ jack_remove_clients (jack_engine_t* engine) static void jack_engine_post_process (jack_engine_t *engine) { + /* precondition: caller holds the graph lock. */ jack_client_control_t *ctl; jack_client_internal_t *client; JSList *node; diff --git a/jackd/transengine.c b/jackd/transengine.c index 40b30d8..4e55edd 100644 --- a/jackd/transengine.c +++ b/jackd/transengine.c @@ -137,12 +137,11 @@ jack_timebase_set (jack_engine_t *engine, void jack_start_sync_poll(jack_engine_t *engine) { + /* precondition: caller holds the graph lock. */ jack_control_t *ectl = engine->control; JSList *node; long sync_count = 0; /* number of slow-sync clients */ - jack_lock_graph (engine); - for (node = engine->clients; node; node = jack_slist_next (node)) { jack_client_internal_t *clintl = (jack_client_internal_t *) node->data; @@ -154,8 +153,6 @@ jack_start_sync_poll(jack_engine_t *engine) ectl->sync_remain = ectl->sync_clients = sync_count; ectl->sync_cycle = 0; - - jack_unlock_graph (engine); } /* when timebase master exits the graph */ @@ -194,6 +191,7 @@ jack_timebase_init (jack_engine_t *engine) void jack_transport_cycle_end (jack_engine_t *engine) { + /* precondition: caller holds the graph lock. */ jack_control_t *ectl = engine->control; transport_command_t cmd; /* latest transport command */ diff --git a/libjack/transclient.c b/libjack/transclient.c index a8c4f78..faaeae9 100644 --- a/libjack/transclient.c +++ b/libjack/transclient.c @@ -107,7 +107,7 @@ jack_call_sync_client (jack_client_t *client) control->sync_arg)) { control->sync_ready = 1; - eng->sync_cycle--; + eng->sync_cycle++; } } } @@ -268,7 +268,7 @@ jack_set_timebase_callback (jack_client_t *client, int conditional, } int -jack_transport_goto_frame (jack_client_t *client, jack_nframes_t frame) +jack_transport_locate (jack_client_t *client, jack_nframes_t frame) { jack_position_t pos;