mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
builder: make methods to save and restore state
This commit is contained in:
parent
737b428077
commit
cd5e697e9f
20 changed files with 120 additions and 112 deletions
|
|
@ -156,7 +156,7 @@ static int spa_proxy_node_enum_params(struct spa_node *node,
|
|||
struct spa_pod_builder *builder)
|
||||
{
|
||||
struct proxy *this;
|
||||
uint32_t offset;
|
||||
struct spa_pod_builder_state state;
|
||||
|
||||
spa_return_val_if_fail(node != NULL, -EINVAL);
|
||||
spa_return_val_if_fail(index != NULL, -EINVAL);
|
||||
|
|
@ -164,7 +164,7 @@ static int spa_proxy_node_enum_params(struct spa_node *node,
|
|||
|
||||
this = SPA_CONTAINER_OF(node, struct proxy, node);
|
||||
|
||||
offset = builder->offset;
|
||||
spa_pod_builder_get_state(builder, &state);
|
||||
|
||||
while (true) {
|
||||
struct spa_pod_object *param;
|
||||
|
|
@ -180,7 +180,7 @@ static int spa_proxy_node_enum_params(struct spa_node *node,
|
|||
if (spa_pod_filter(builder, ¶m->pod, &filter->pod) == 0)
|
||||
break;
|
||||
|
||||
spa_pod_builder_reset(builder, offset);
|
||||
spa_pod_builder_reset(builder, &state);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -456,7 +456,7 @@ spa_proxy_node_port_enum_params(struct spa_node *node,
|
|||
{
|
||||
struct proxy *this;
|
||||
struct proxy_port *port;
|
||||
uint32_t offset;
|
||||
struct spa_pod_builder_state state;
|
||||
|
||||
spa_return_val_if_fail(node != NULL, -EINVAL);
|
||||
spa_return_val_if_fail(index != NULL, -EINVAL);
|
||||
|
|
@ -468,7 +468,8 @@ spa_proxy_node_port_enum_params(struct spa_node *node,
|
|||
|
||||
port = GET_PORT(this, direction, port_id);
|
||||
|
||||
offset = builder->offset;
|
||||
spa_pod_builder_get_state(builder, &state);
|
||||
|
||||
while (true) {
|
||||
struct spa_pod_object *param;
|
||||
|
||||
|
|
@ -483,7 +484,7 @@ spa_proxy_node_port_enum_params(struct spa_node *node,
|
|||
if (spa_pod_filter(builder, ¶m->pod, &filter->pod) == 0)
|
||||
break;
|
||||
|
||||
spa_pod_builder_reset(builder, offset);
|
||||
spa_pod_builder_reset(builder, &state);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue