mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-10 13:30:05 -05:00
work on separating port mixers
Make it possible to assign an arbitary node as the port mixer. Also remove dynamically added ports. Improve negotiation and allocation on the mixer ports Add some more SSE optimisations Move float mixer from the audio dsp to the port Remove pw_node_get_free_port() and do things more explicitly. Handle mixer ports in client-node
This commit is contained in:
parent
f55cb422cb
commit
ca898a00db
29 changed files with 2422 additions and 1504 deletions
|
|
@ -59,6 +59,8 @@ struct pw_node_events {
|
|||
/** the node is initialized */
|
||||
void (*initialized) (void *data);
|
||||
|
||||
/** a port is being initialized on the node */
|
||||
void (*port_init) (void *data, struct pw_port *port);
|
||||
/** a port was added */
|
||||
void (*port_added) (void *data, struct pw_port *port);
|
||||
/** a port was removed */
|
||||
|
|
@ -171,17 +173,14 @@ int pw_node_for_each_param(struct pw_node *node,
|
|||
struct spa_pod *param),
|
||||
void *data);
|
||||
|
||||
/** Find the port with direction and port_id or NULL when not found */
|
||||
/** Find the port with direction and port_id or NULL when not found. Passing
|
||||
* SPA_ID_INVALID for port_id will return any port, preferably an unlinked one. */
|
||||
struct pw_port *
|
||||
pw_node_find_port(struct pw_node *node, enum pw_direction direction, uint32_t port_id);
|
||||
|
||||
/** Get a free unused port_id from the node */
|
||||
uint32_t pw_node_get_free_port_id(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 */
|
||||
struct pw_port * pw_node_get_free_port(struct pw_node *node, enum pw_direction direction);
|
||||
|
||||
/** Set a node active. This will start negotiation with all linked active
|
||||
* nodes and start data transport */
|
||||
int pw_node_set_active(struct pw_node *node, bool active);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue