mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-11 13:30:07 -05:00
port: set some more properties
This commit is contained in:
parent
dfa39ab2ff
commit
9b9a7411f5
1 changed files with 16 additions and 1 deletions
|
|
@ -287,7 +287,9 @@ static int make_control(void *data, struct spa_pod *param)
|
||||||
int pw_port_add(struct pw_port *port, struct pw_node *node)
|
int pw_port_add(struct pw_port *port, struct pw_node *node)
|
||||||
{
|
{
|
||||||
uint32_t port_id = port->port_id;
|
uint32_t port_id = port->port_id;
|
||||||
struct pw_type *t = &node->core->type;
|
struct pw_core *core = node->core;
|
||||||
|
struct pw_type *t = &core->type;
|
||||||
|
const char *str, *dir;
|
||||||
|
|
||||||
port->node = node;
|
port->node = node;
|
||||||
|
|
||||||
|
|
@ -298,6 +300,18 @@ int pw_port_add(struct pw_port *port, struct pw_node *node)
|
||||||
if (port->info->props)
|
if (port->info->props)
|
||||||
pw_port_update_properties(port, port->info->props);
|
pw_port_update_properties(port, port->info->props);
|
||||||
|
|
||||||
|
dir = port->direction == PW_DIRECTION_INPUT ? "in" : "out";
|
||||||
|
|
||||||
|
if ((str = pw_properties_get(port->properties, "port.name")) == NULL) {
|
||||||
|
pw_properties_setf(port->properties, "port.name", "%s_%d", dir, port_id);
|
||||||
|
}
|
||||||
|
pw_properties_set(port->properties, "port.direction", dir);
|
||||||
|
|
||||||
|
if (SPA_FLAG_CHECK(port->info->flags, SPA_PORT_INFO_FLAG_PHYSICAL))
|
||||||
|
pw_properties_set(port->properties, "port.physical", "1");
|
||||||
|
if (SPA_FLAG_CHECK(port->info->flags, SPA_PORT_INFO_FLAG_TERMINAL))
|
||||||
|
pw_properties_set(port->properties, "port.terminal", "1");
|
||||||
|
|
||||||
pw_log_debug("port %p: add to node %p %08x", port, node, port->info->flags);
|
pw_log_debug("port %p: add to node %p %08x", port, node, port->info->flags);
|
||||||
if (port->direction == PW_DIRECTION_INPUT) {
|
if (port->direction == PW_DIRECTION_INPUT) {
|
||||||
spa_list_insert(&node->input_ports, &port->link);
|
spa_list_insert(&node->input_ports, &port->link);
|
||||||
|
|
@ -328,6 +342,7 @@ int pw_port_add(struct pw_port *port, struct pw_node *node)
|
||||||
port_update_state(port, PW_PORT_STATE_CONFIGURE);
|
port_update_state(port, PW_PORT_STATE_CONFIGURE);
|
||||||
|
|
||||||
spa_hook_list_call(&node->listener_list, struct pw_node_events, port_added, port);
|
spa_hook_list_call(&node->listener_list, struct pw_node_events, port_added, port);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue