daemon: register virtualizer graph connection handlers for rooms
This commit is contained in:
parent
58db7cba75
commit
c78c4c6483
|
@ -966,6 +966,7 @@ ladish_graph_set_connection_handlers(
|
|||
ladish_graph_connect_request_handler connect_handler,
|
||||
ladish_graph_disconnect_request_handler disconnect_handler)
|
||||
{
|
||||
log_info("setting connection handlers for graph '%s'", graph_ptr->opath != NULL ? graph_ptr->opath : "JACK");
|
||||
graph_ptr->context = graph_context;
|
||||
graph_ptr->connect_handler = connect_handler;
|
||||
graph_ptr->disconnect_handler = disconnect_handler;
|
||||
|
|
|
@ -226,6 +226,16 @@ static void emit_room_disappeared(ladish_room_handle room)
|
|||
dbus_message_unref(message_ptr);
|
||||
}
|
||||
|
||||
bool
|
||||
set_graph_connection_handlers(
|
||||
void * context,
|
||||
ladish_graph_handle graph,
|
||||
ladish_app_supervisor_handle app_supervisor)
|
||||
{
|
||||
ladish_virtualizer_set_graph_connection_handlers(context, graph);
|
||||
return true; /* iterate all graphs */
|
||||
}
|
||||
|
||||
void on_event_jack_started(void)
|
||||
{
|
||||
if (!studio_fetch_jack_settings())
|
||||
|
@ -244,10 +254,14 @@ void on_event_jack_started(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
if (!ladish_virtualizer_create(g_studio.jack_graph_proxy, g_studio.jack_graph, g_studio.studio_graph, &g_studio.virtualizer))
|
||||
if (!ladish_virtualizer_create(g_studio.jack_graph_proxy, g_studio.jack_graph, &g_studio.virtualizer))
|
||||
{
|
||||
log_error("ladish_virtualizer_create() failed.");
|
||||
}
|
||||
else
|
||||
{
|
||||
studio_iterate_virtual_graphs(g_studio.virtualizer, set_graph_connection_handlers);
|
||||
}
|
||||
|
||||
if (!graph_proxy_activate(g_studio.jack_graph_proxy))
|
||||
{
|
||||
|
@ -950,6 +964,11 @@ static void ladish_studio_create_room(struct dbus_method_call * call_ptr)
|
|||
goto fail_decrement_room_count;
|
||||
}
|
||||
|
||||
if (g_studio.virtualizer != NULL)
|
||||
{
|
||||
ladish_virtualizer_set_graph_connection_handlers(g_studio.virtualizer, ladish_room_get_graph(room));
|
||||
}
|
||||
|
||||
ladish_room_get_uuid(room, room_uuid);
|
||||
|
||||
if (!ladish_client_create(room_uuid, &room_client))
|
||||
|
|
|
@ -801,7 +801,6 @@ bool
|
|||
ladish_virtualizer_create(
|
||||
graph_proxy_handle jack_graph_proxy,
|
||||
ladish_graph_handle jack_graph,
|
||||
ladish_graph_handle studio_graph,
|
||||
ladish_virtualizer_handle * handle_ptr)
|
||||
{
|
||||
struct virtualizer * virtualizer_ptr;
|
||||
|
@ -835,14 +834,20 @@ ladish_virtualizer_create(
|
|||
return false;
|
||||
}
|
||||
|
||||
ladish_graph_set_connection_handlers(studio_graph, virtualizer_ptr, ports_connect_request, ports_disconnect_request);
|
||||
|
||||
*handle_ptr = (ladish_virtualizer_handle)virtualizer_ptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
#define virtualizer_ptr ((struct virtualizer *)handle)
|
||||
|
||||
void
|
||||
ladish_virtualizer_set_graph_connection_handlers(
|
||||
ladish_virtualizer_handle handle,
|
||||
ladish_graph_handle graph)
|
||||
{
|
||||
ladish_graph_set_connection_handlers(graph, virtualizer_ptr, ports_connect_request, ports_disconnect_request);
|
||||
}
|
||||
|
||||
unsigned int
|
||||
ladish_virtualizer_get_our_clients_count(
|
||||
ladish_virtualizer_handle handle)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
/*
|
||||
* LADI Session Handler (ladish)
|
||||
*
|
||||
* Copyright (C) 2009 Nedko Arnaudov <nedko@arnaudov.name>
|
||||
* Copyright (C) 2009, 2010 Nedko Arnaudov <nedko@arnaudov.name>
|
||||
*
|
||||
**************************************************************************
|
||||
* This file contains interface to graph dispatcher object
|
||||
|
@ -37,9 +37,13 @@ bool
|
|||
ladish_virtualizer_create(
|
||||
graph_proxy_handle jack_graph_proxy,
|
||||
ladish_graph_handle jack_graph,
|
||||
ladish_graph_handle studio_graph,
|
||||
ladish_virtualizer_handle * handle_ptr);
|
||||
|
||||
void
|
||||
ladish_virtualizer_set_graph_connection_handlers(
|
||||
ladish_virtualizer_handle handle,
|
||||
ladish_graph_handle graph);
|
||||
|
||||
unsigned int
|
||||
ladish_virtualizer_get_our_clients_count(
|
||||
ladish_virtualizer_handle handle);
|
||||
|
|
Loading…
Reference in New Issue