summaryrefslogtreecommitdiff
path: root/jackd/transengine.c
diff options
context:
space:
mode:
authorjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2003-08-25 06:07:57 +0000
committerjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2003-08-25 06:07:57 +0000
commit056e6648e0cda5ae96daeb5a3cee6af4496a2ac4 (patch)
treef6164199a67cd0dc73fcb6960a12c72f296b9a53 /jackd/transengine.c
parentbaf0187264b0b443dacae9cf4832af01a2078f5d (diff)
downloadjack1-056e6648e0cda5ae96daeb5a3cee6af4496a2ac4.tar.gz
[0.79.1] timebase master fixes
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@464 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'jackd/transengine.c')
-rw-r--r--jackd/transengine.c32
1 files changed, 23 insertions, 9 deletions
diff --git a/jackd/transengine.c b/jackd/transengine.c
index 1f1fb64..c8559a1 100644
--- a/jackd/transengine.c
+++ b/jackd/transengine.c
@@ -176,6 +176,8 @@ jack_timebase_reset (jack_engine_t *engine, jack_client_id_t client_id)
client->control->is_timebase = 0;
engine->timebase_client = NULL;
ectl->pending_time.valid = 0;
+ VERBOSE (engine, "%s resigned as timebase master\n",
+ client->control->name);
ret = 0;
} else
ret = EINVAL;
@@ -197,22 +199,34 @@ jack_timebase_set (jack_engine_t *engine,
client = jack_client_internal_by_id (engine, client_id);
+ if (client == NULL) {
+ // JOQ: use PRIuLEAST32 here...
+ VERBOSE (engine, " %lu no longer exists!\n", client_id);
+ jack_unlock_graph (engine);
+ return EINVAL;
+ }
+
if (conditional && engine->timebase_client) {
/* see if timebase master is someone else */
- if (client && (client != engine->timebase_client))
+ if (client != engine->timebase_client) {
+ VERBOSE (engine, "conditional timebase for %s failed\n"
+ " %s is already the master\n",
+ client->control->name,
+ engine->timebase_client->control->name);
ret = EBUSY;
+ } else
+ VERBOSE (engine, " %s was already timebase master:\n",
+ client->control->name);
} else {
- if (client) {
- if (engine->timebase_client)
- engine->timebase_client->
- control->is_timebase = 0;
- engine->timebase_client = client;
- client->control->is_timebase = 1;
- } else
- ret = EINVAL;
+ if (engine->timebase_client)
+ engine->timebase_client->control->is_timebase = 0;
+ engine->timebase_client = client;
+ client->control->is_timebase = 1;
+ VERBOSE (engine, "new timebase master: %s\n",
+ client->control->name);
}
jack_unlock_graph (engine);