mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
node: add PortsChanged event
Add the PortChanged event and make it rescan the node ports.
This commit is contained in:
parent
8efabe051e
commit
1ef1563591
3 changed files with 11 additions and 0 deletions
|
|
@ -33,6 +33,7 @@ enum spa_node_event {
|
|||
SPA_NODE_EVENT_Error,
|
||||
SPA_NODE_EVENT_Buffering,
|
||||
SPA_NODE_EVENT_RequestRefresh,
|
||||
SPA_NODE_EVENT_PortsChanged,
|
||||
};
|
||||
|
||||
#define SPA_NODE_EVENT_ID(ev) SPA_EVENT_ID(ev, SPA_TYPE_EVENT_Node)
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ static const struct spa_type_info spa_type_node_event_id[] = {
|
|||
{ SPA_NODE_EVENT_Error, SPA_TYPE_NODE_EVENT_BASE "Error", SPA_TYPE_Int, },
|
||||
{ SPA_NODE_EVENT_Buffering, SPA_TYPE_NODE_EVENT_BASE "Buffering", SPA_TYPE_Int, },
|
||||
{ SPA_NODE_EVENT_RequestRefresh, SPA_TYPE_NODE_EVENT_BASE "RequestRefresh", SPA_TYPE_Int, },
|
||||
{ SPA_NODE_EVENT_PortsChanged, SPA_TYPE_NODE_EVENT_BASE "PortsChanged", SPA_TYPE_Int, },
|
||||
{ 0, NULL, },
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -758,6 +758,15 @@ static void node_event(void *data, struct spa_event *event)
|
|||
|
||||
pw_log_trace("node %p: event %d", node, SPA_EVENT_TYPE(event));
|
||||
pw_node_events_event(node, event);
|
||||
|
||||
switch (SPA_NODE_EVENT_ID(event)) {
|
||||
case SPA_NODE_EVENT_PortsChanged:
|
||||
pw_node_update_ports(node);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void node_process(void *data, int status)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue