git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1944 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.71
@@ -23,6 +23,7 @@ Nedko Arnaudov | |||||
* Fix engine real-time notification (was broken since ??). | * Fix engine real-time notification (was broken since ??). | ||||
* Correct jack_client_open_aux, jack_client_open and jack_client_new. | * 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> | 2008-03-10 Stephane Letz <letz@grame.fr> | ||||
@@ -50,7 +50,7 @@ extern "C" | |||||
EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | EXPORT jack_client_t * jack_client_open_aux (const char *client_name, | ||||
jack_options_t options, | 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, | EXPORT jack_client_t * jack_client_open (const char *client_name, | ||||
jack_options_t options, | jack_options_t options, | ||||
jack_status_t *status, ...); | jack_status_t *status, ...); | ||||
@@ -215,6 +215,11 @@ extern "C" | |||||
const char *client_name, | const char *client_name, | ||||
jack_options_t options, | jack_options_t options, | ||||
jack_status_t *status, ...); | 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, | EXPORT jack_status_t jack_internal_client_unload (jack_client_t *client, | ||||
jack_intclient_t intclient); | 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__ | #ifdef __CLIENTDEBUG__ | ||||
JackLibGlobals::CheckContext(); | 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"); | jack_error("jack_internal_client_load called with a NULL client"); | ||||
return 0; | return 0; | ||||
} else { | } else { | ||||
va_list ap; | |||||
jack_varargs_t va; | jack_varargs_t va; | ||||
jack_status_t my_status; | 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 */ | /* parse variable arguments */ | ||||
va_start(ap, status); | |||||
jack_varargs_parse(options, ap, &va); | jack_varargs_parse(options, ap, &va); | ||||
va_end(ap); | |||||
return client->InternalClientLoad(client_name, options, status, &va); | 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) | EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack_intclient_t intclient) | ||||
{ | { | ||||
#ifdef __CLIENTDEBUG__ | #ifdef __CLIENTDEBUG__ | ||||
@@ -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); | 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, ...) | 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"); | jack_log("jack_internal_client_load"); | ||||
va_list ap; | va_list ap; | ||||
va_start(ap, status); | 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); | va_end(ap); | ||||
return res; | 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_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_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_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"); | jack_internal_client_unload_fun = (jack_internal_client_unload_fun_def)dlsym(gLibrary, "jack_internal_client_unload"); | ||||
// Functions were kept... | // Functions were kept... | ||||