params: make method on node and port to enum params

Do not pass the params of the node in the node_info, instead,
make a method to enumerate the params. This makes it possible for
clients to only enumerate what they need and when they need it.
Improve introspection of a port, add the name and properties.
Add an enum_param method on the port that can be used to enumerate
port formats.
Change -monitor and -cli and add support for enum_params on the node
and port.
This commit is contained in:
Wim Taymans 2018-02-20 10:31:55 +01:00
parent a9a95a4205
commit 58667d6ced
14 changed files with 977 additions and 259 deletions

View file

@ -150,6 +150,14 @@ int pw_node_for_each_port(struct pw_node *node,
int (*callback) (void *data, struct pw_port *port),
void *data);
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);
/** Find the port with direction and port_id or NULL when not found */
struct pw_port *