mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-10 13:30:05 -05:00
Use remote to join nodes on remote graphs
Make a new method that can take a local node and run it in a remote pipeline. This basically replaces all functionality of the streams and more. Add 2 examples for exporting a sink and a v4l2 node Make some more things const Cleanups Make it possible to do things when the node needs scheduling. The default node will schedule the local pipeline but the remote node might also schedule the remote pipeline.
This commit is contained in:
parent
589e3d977c
commit
3d9f28c676
40 changed files with 1591 additions and 138 deletions
|
|
@ -51,7 +51,7 @@ struct pw_node_implementation {
|
|||
int (*set_props) (struct pw_node *node, const struct spa_props *props);
|
||||
|
||||
int (*send_command) (struct pw_node *node,
|
||||
struct spa_command *command);
|
||||
const struct spa_command *command);
|
||||
|
||||
struct pw_port* (*add_port) (struct pw_node *node,
|
||||
enum pw_direction direction,
|
||||
|
|
@ -131,7 +131,12 @@ struct pw_node {
|
|||
|
||||
/** an event is emited */
|
||||
PW_SIGNAL(event, (struct pw_listener *listener,
|
||||
struct pw_node *node, struct spa_event *event));
|
||||
struct pw_node *node, const struct spa_event *event));
|
||||
|
||||
/** the node wants input */
|
||||
PW_SIGNAL(need_input, (struct pw_listener *listener, struct pw_node *node));
|
||||
/** the node has output */
|
||||
PW_SIGNAL(have_output, (struct pw_listener *listener, struct pw_node *node));
|
||||
|
||||
struct pw_loop *data_loop; /**< the data loop for this node */
|
||||
|
||||
|
|
@ -159,6 +164,10 @@ void pw_node_export(struct pw_node *node);
|
|||
/** Destroy a node */
|
||||
void pw_node_destroy(struct pw_node *node);
|
||||
|
||||
/** Find the port with direction and port_id or NULL when not found */
|
||||
struct pw_port *
|
||||
pw_node_find_port(struct pw_node *node, enum pw_direction direction, uint32_t port_id);
|
||||
|
||||
/** Get a free unused port from the node */
|
||||
struct pw_port *
|
||||
pw_node_get_free_port(struct pw_node *node, enum pw_direction direction);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue