Commit 6ba86c87 authored by Titouan Soulard's avatar Titouan Soulard

trx-bridge: add call to start functions

parent 7eb75d32
......@@ -16,6 +16,14 @@ int bridge_trx_output_get_param_double(void *app_opaque, double *pval, const cha
return potoml_toml_get_double((struct PotomlTomlSubset *) app_opaque, prop_name);
}
int bridge_trx_pthread_init(void *app_opaque2, const TRXPThreadConfig *config) {
// XXX: this function should likely join with the main thread
return 0;
}
void bridge_trx_pthread_terminate(void *app_opaque2) {
}
TRXDriverParams2 *fill_trx_driver_params(struct PotomlTomlSubset *config) {
TRXDriverParams2 *trx_driver_params = malloc(sizeof(TRXDriverParams2));
......@@ -221,16 +229,28 @@ int main(int argc, char *argv[]) {
// Set required parameters, and nothing more
printf("trx-bridge: setting driver configuration directory to %s\n", driver_config_dir);
input_trx_state.path = driver_config_dir;
input_trx_state.trx_api_version = 15;
input_trx_state.app_opaque = input_driver_config;
input_trx_state.trx_get_param_string = &bridge_trx_input_get_param_string;
input_trx_state.trx_get_param_double = &bridge_trx_input_get_param_double;
input_trx_state.trx_pthread_init = &bridge_trx_pthread_init;
input_trx_state.trx_pthread_terminate = &bridge_trx_pthread_terminate;
output_trx_state.trx_api_version = 15;
output_trx_state.app_opaque = output_driver_config;
output_trx_state.trx_get_param_string = &bridge_trx_output_get_param_string;
output_trx_state.trx_get_param_double = &bridge_trx_output_get_param_double;
output_trx_state.trx_pthread_init = &bridge_trx_pthread_init;
output_trx_state.trx_pthread_terminate = &bridge_trx_pthread_terminate;
// XXX: Amarisoft stupid or purposedly flawed parameters
input_trx_state.path = driver_config_dir;
input_trx_state.reserved[121] = (void *) 0x24535258;
input_trx_state.reserved[122] = (void *) 0x12;
output_trx_state.path = driver_config_dir;
output_trx_state.reserved[121] = (void *) 0x24535258;
output_trx_state.reserved[122] = (void *) 0x12;
printf("trx-bridge: initializing drivers\n");
result = (*input_lib_init)(&input_trx_state);
......@@ -245,8 +265,22 @@ int main(int argc, char *argv[]) {
return -1;
}
printf("trx-bridge: starting drivers\n");
result = input_trx_state.trx_start_func2(&input_trx_state, NULL);
if(result != 0) {
fprintf(stderr, "Starting input driver failed, code %d\n", result);
return -1;
}
// XXX: genericity should also fill this struct for input
output_trx_start_params = fill_trx_driver_params(output_driver_start_config);
result = output_trx_state.trx_start_func2(&output_trx_state, output_trx_start_params);
if(result != 0) {
fprintf(stderr, "Starting output driver failed, code %d\n", result);
return -1;
}
while(1);
dlclose(input_lib_handle);
dlclose(output_lib_handle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment