| PipeWire
    0.2.7
    | 
Go to the source code of this file.
| Data Structures | |
| struct | pw_node_events | 
| Node events, listen to them with pw_node_add_listener.  More... | |
| Macros | |
| #define | PW_TYPE__Node PW_TYPE_OBJECT_BASE "Node" | 
| #define | PW_TYPE_NODE_BASE PW_TYPE__Node ":" | 
| #define | PW_VERSION_NODE_EVENTS 0 | 
| #define | PW_NODE_PROP_MEDIA "pipewire.media" | 
| Media type of the node, Audio, Video, Midi.  More... | |
| #define | PW_NODE_PROP_CATEGORY "pipewire.category" | 
| Category: Playback, Capture, Duplex, Sink, Source.  More... | |
| #define | PW_NODE_PROP_ROLE "pipewire.role" | 
| Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.  More... | |
| #define | PW_NODE_PROP_EXCLUSIVE "pipewire.exclusive" | 
| exclusive access to device  More... | |
| #define | PW_NODE_PROP_AUTOCONNECT "pipewire.autoconnect" | 
| Automatically connect this node to a compatible node.  More... | |
| #define | PW_NODE_PROP_TARGET_NODE "pipewire.target.node" | 
| Try to connect the node to this node id.  More... | |
| Functions | |
| int | pw_node_register (struct pw_node *node, struct pw_client *owner, struct pw_global *parent, struct pw_properties *properties) | 
| Complete initialization of the node and register.  More... | |
| void | pw_node_destroy (struct pw_node *node) | 
| Destroy a node.  More... | |
| const struct pw_node_info * | pw_node_get_info (struct pw_node *node) | 
| Get the node info.  More... | |
| void * | pw_node_get_user_data (struct pw_node *node) | 
| Get node user_data.  More... | |
| struct pw_core * | pw_node_get_core (struct pw_node *node) | 
| Get the core of this node.  More... | |
| struct pw_global * | pw_node_get_global (struct pw_node *node) | 
| Get the global of this node.  More... | |
| const struct pw_properties * | pw_node_get_properties (struct pw_node *node) | 
| Get the node properties.  More... | |
| int | pw_node_update_properties (struct pw_node *node, const struct spa_dict *dict) | 
| Update the node properties.  More... | |
| void | pw_node_set_implementation (struct pw_node *node, struct spa_node *spa_node) | 
| Set the node implementation.  More... | |
| struct spa_node * | pw_node_get_implementation (struct pw_node *node) | 
| Get the node implementation.  More... | |
| void | pw_node_add_listener (struct pw_node *node, struct spa_hook *listener, const struct pw_node_events *events, void *data) | 
| Add an event listener.  More... | |
| int | pw_node_for_each_port (struct pw_node *node, enum pw_direction direction, int(*callback)(void *data, struct pw_port *port), void *data) | 
| Iterate the ports in the given direction.  More... | |
| int | pw_node_for_each_param (struct pw_node *node, uint32_t param_id, uint32_t index, uint32_t max, const struct spa_pod *filter, int(*callback)(void *data, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param), void *data) | 
| struct pw_port * | pw_node_find_port (struct pw_node *node, enum pw_direction direction, uint32_t port_id) | 
| Find the port with direction and port_id or NULL when not found.  More... | |
| uint32_t | pw_node_get_free_port_id (struct pw_node *node, enum pw_direction direction) | 
| Get a free unused port_id from the node.  More... | |
| struct pw_port * | pw_node_get_free_port (struct pw_node *node, enum pw_direction direction) | 
| Get a free unused port from the node, this can be an old unused existing port or a new port.  More... | |
| int | pw_node_set_active (struct pw_node *node, bool active) | 
| Set a node active.  More... | |
| bool | pw_node_is_active (struct pw_node *node) | 
| Check if a node is active.  More... | |
| int | pw_node_set_enabled (struct pw_node *node, bool enabled) | 
| Set a node enabled.  More... | |
| bool | pw_node_is_enabled (struct pw_node *node) | 
| Check if a node is enabled.  More... | |
| #define PW_NODE_PROP_AUTOCONNECT "pipewire.autoconnect" | 
Automatically connect this node to a compatible node.
| #define PW_NODE_PROP_CATEGORY "pipewire.category" | 
Category: Playback, Capture, Duplex, Sink, Source.
| #define PW_NODE_PROP_EXCLUSIVE "pipewire.exclusive" | 
exclusive access to device
| #define PW_NODE_PROP_MEDIA "pipewire.media" | 
Media type of the node, Audio, Video, Midi.
| #define PW_NODE_PROP_ROLE "pipewire.role" | 
Role: Movie, Music, Camera, Screen, Communication, Game, Notification, DSP, Production, Accessibility, Test.
| #define PW_NODE_PROP_TARGET_NODE "pipewire.target.node" | 
Try to connect the node to this node id.
| #define PW_TYPE__Node PW_TYPE_OBJECT_BASE "Node" | 
| #define PW_TYPE_NODE_BASE PW_TYPE__Node ":" | 
| #define PW_VERSION_NODE_EVENTS 0 | 
| void pw_node_add_listener | ( | struct pw_node * | node, | 
| struct spa_hook * | listener, | ||
| const struct pw_node_events * | events, | ||
| void * | data | ||
| ) | 
Add an event listener.
| void pw_node_destroy | ( | struct pw_node * | node | ) | 
Destroy a node.
| struct pw_port* pw_node_find_port | ( | struct pw_node * | node, | 
| enum pw_direction | direction, | ||
| uint32_t | port_id | ||
| ) | 
Find the port with direction and port_id or NULL when not found.
References PW_DIRECTION_INPUT, and pw_map::pw_map_lookup().
| int pw_node_for_each_param | ( | struct pw_node * | node, | 
| uint32_t | param_id, | ||
| uint32_t | index, | ||
| uint32_t | max, | ||
| const struct spa_pod * | filter, | ||
| int(*)(void *data, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param) | callback, | ||
| void * | data | ||
| ) | 
| int pw_node_for_each_port | ( | struct pw_node * | node, | 
| enum pw_direction | direction, | ||
| int(*)(void *data, struct pw_port *port) | callback, | ||
| void * | data | ||
| ) | 
Iterate the ports in the given direction.
The callback should return 0 to fetch the next item, any other value stops the iteration and returns the value. When all callbacks return 0, this function returns 0 when all items are iterated.
References PW_DIRECTION_INPUT.
| struct pw_port* pw_node_get_free_port | ( | struct pw_node * | node, | 
| enum pw_direction | direction | ||
| ) | 
Get a free unused port from the node, this can be an old unused existing port or a new port.
| uint32_t pw_node_get_free_port_id | ( | struct pw_node * | node, | 
| enum pw_direction | direction | ||
| ) | 
Get a free unused port_id from the node.
References PW_DIRECTION_INPUT, and pw_map::pw_map_insert_new().
| struct spa_node* pw_node_get_implementation | ( | struct pw_node * | node | ) | 
Get the node implementation.
| const struct pw_node_info* pw_node_get_info | ( | struct pw_node * | node | ) | 
Get the node info.
| const struct pw_properties* pw_node_get_properties | ( | struct pw_node * | node | ) | 
Get the node properties.
| void* pw_node_get_user_data | ( | struct pw_node * | node | ) | 
Get node user_data.
The size of the memory was given in pw_node_new
| bool pw_node_is_active | ( | struct pw_node * | node | ) | 
Check if a node is active.
| bool pw_node_is_enabled | ( | struct pw_node * | node | ) | 
Check if a node is enabled.
| int pw_node_register | ( | struct pw_node * | node, | 
| struct pw_client * | owner, | ||
| struct pw_global * | parent, | ||
| struct pw_properties * | properties | ||
| ) | 
Complete initialization of the node and register.
| node | node to register | 
| owner | optional owner | 
| parent | optional parent | 
| properties | extra properties | 
References pw_log::pw_log_debug(), pw_loop_invoke, pw_node_update_ports(), and pw_properties::pw_properties_new().
| int pw_node_set_active | ( | struct pw_node * | node, | 
| bool | active | ||
| ) | 
Set a node active.
This will start negotiation with all linked active nodes and start data transport
References pw_log::pw_log_debug().
| int pw_node_set_enabled | ( | struct pw_node * | node, | 
| bool | enabled | ||
| ) | 
| void pw_node_set_implementation | ( | struct pw_node * | node, | 
| struct spa_node * | spa_node | ||
| ) | 
Set the node implementation.
| int pw_node_update_properties | ( | struct pw_node * | node, | 
| const struct spa_dict * | dict | ||
| ) | 
Update the node properties.
References pw_log::pw_log_debug(), and pw_properties::pw_properties_set().