Browse Source

Correct jack_internal_client_load for wrapper layer.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1944 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
8eb09e3d59
3 changed files with 21 additions and 10 deletions
  1. +1
    -0
      ChangeLog
  2. +16
    -6
      common/JackAPI.cpp
  3. +4
    -4
      common/JackAPIWrapper.cpp

+ 1
- 0
ChangeLog View File

@@ -23,6 +23,7 @@ Nedko Arnaudov
* Fix engine real-time notification (was broken since ??).
* Correct jack_client_open_aux, jack_client_open and jack_client_new.
* Correct jack_internal_client_load for wrapper layer.

2008-03-10 Stephane Letz <letz@grame.fr>


+ 16
- 6
common/JackAPI.cpp View File

@@ -50,7 +50,7 @@ extern "C"

EXPORT jack_client_t * jack_client_open_aux (const char *client_name,
jack_options_t options,
jack_status_t *status, ...);
jack_status_t *status, va_list ap);
EXPORT jack_client_t * jack_client_open (const char *client_name,
jack_options_t options,
jack_status_t *status, ...);
@@ -215,6 +215,11 @@ extern "C"
const char *client_name,
jack_options_t options,
jack_status_t *status, ...);
EXPORT jack_intclient_t jack_internal_client_load_aux (jack_client_t *client,
const char *client_name,
jack_options_t options,
jack_status_t *status, va_list ap);

EXPORT jack_status_t jack_internal_client_unload (jack_client_t *client,
jack_intclient_t intclient);

@@ -1591,7 +1596,7 @@ EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, c
}
}

EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...)
EXPORT jack_intclient_t jack_internal_client_load_aux(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, va_list ap)
{
#ifdef __CLIENTDEBUG__
JackLibGlobals::CheckContext();
@@ -1601,7 +1606,6 @@ EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, con
jack_error("jack_internal_client_load called with a NULL client");
return 0;
} else {
va_list ap;
jack_varargs_t va;
jack_status_t my_status;

@@ -1617,14 +1621,20 @@ EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, con
}

/* parse variable arguments */
va_start(ap, status);
jack_varargs_parse(options, ap, &va);
va_end(ap);

return client->InternalClientLoad(client_name, options, status, &va);
}
}

EXPORT jack_intclient_t jack_internal_client_load(jack_client_t *client, const char *client_name, jack_options_t options, jack_status_t *status, ...)
{
va_list ap;
va_start(ap, status);
jack_intclient_t res = jack_internal_client_load_aux(client, client_name, options, status, ap);
va_end(ap);
return res;
}

EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack_intclient_t intclient)
{
#ifdef __CLIENTDEBUG__


+ 4
- 4
common/JackAPIWrapper.cpp View File

@@ -972,14 +972,14 @@ EXPORT jack_intclient_t jack_internal_client_handle(jack_client_t* ext_client, c
return (*jack_internal_client_handle_fun)(ext_client, client_name, status);
}

typedef jack_intclient_t (*jack_internal_client_load_fun_def)(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...);
static jack_internal_client_load_fun_def jack_internal_client_load_fun = 0;
typedef jack_intclient_t (*jack_internal_client_load_aux_fun_def)(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, va_list ap);
static jack_internal_client_load_aux_fun_def jack_internal_client_load_aux_fun = 0;
EXPORT jack_intclient_t jack_internal_client_load(jack_client_t* ext_client, const char* client_name, jack_options_t options, jack_status_t* status, ...)
{
jack_log("jack_internal_client_load");
va_list ap;
va_start(ap, status);
jack_intclient_t res = (*jack_internal_client_load_fun)(ext_client, client_name, options, status, ap);
jack_intclient_t res = (*jack_internal_client_load_aux_fun)(ext_client, client_name, options, status, ap);
va_end(ap);
return res;
}
@@ -1249,7 +1249,7 @@ static bool init_library()
jack_drop_real_time_scheduling_fun = (jack_drop_real_time_scheduling_fun_def)dlsym(gLibrary, "jack_drop_real_time_scheduling");
jack_get_internal_client_name_fun = (jack_get_internal_client_name_fun_def)dlsym(gLibrary, "jack_get_internal_client_name");
jack_internal_client_handle_fun = (jack_internal_client_handle_fun_def)dlsym(gLibrary, "jack_internal_client_handle");
jack_internal_client_load_fun = (jack_internal_client_load_fun_def)dlsym(gLibrary, "jack_internal_client_load");
jack_internal_client_load_aux_fun = (jack_internal_client_load_aux_fun_def)dlsym(gLibrary, "jack_internal_client_load_aux");
jack_internal_client_unload_fun = (jack_internal_client_unload_fun_def)dlsym(gLibrary, "jack_internal_client_unload");
// Functions were kept...


Loading…
Cancel
Save