mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-22 08:56:59 -05:00
node_factory -> factory
Rename the node-factory to a more generic object factory. Add type and version to create objects from a factory Start on factory introspection
This commit is contained in:
parent
3c1957fd9d
commit
7f20e04803
24 changed files with 472 additions and 325 deletions
|
|
@ -48,10 +48,11 @@ struct data {
|
|||
|
||||
static int make_node(struct data *data)
|
||||
{
|
||||
struct pw_node_factory *factory;
|
||||
struct pw_factory *factory;
|
||||
struct pw_type *t = data->t;
|
||||
struct pw_properties *props;
|
||||
|
||||
factory = pw_core_find_node_factory(data->core, "spa-node-factory");
|
||||
factory = pw_core_find_factory(data->core, "spa-node-factory");
|
||||
if (factory == NULL)
|
||||
return -1;
|
||||
|
||||
|
|
@ -63,7 +64,11 @@ static int make_node(struct data *data)
|
|||
pw_properties_set(props, "pipewire.target.node", data->path);
|
||||
}
|
||||
|
||||
data->node = pw_node_factory_create_node(factory, NULL, data->factory, props);
|
||||
data->node = pw_factory_create_object(factory,
|
||||
NULL,
|
||||
t->node,
|
||||
PW_VERSION_NODE,
|
||||
props, SPA_ID_INVALID);
|
||||
|
||||
pw_remote_export(data->remote, data->node);
|
||||
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ static const struct spa_node impl_node = {
|
|||
|
||||
static void make_nodes(struct data *data)
|
||||
{
|
||||
struct pw_node_factory *factory;
|
||||
struct pw_factory *factory;
|
||||
struct pw_properties *props;
|
||||
|
||||
data->node = pw_node_new(data->core, NULL, NULL, "SDL-sink", NULL, 0);
|
||||
|
|
@ -456,10 +456,15 @@ static void make_nodes(struct data *data)
|
|||
|
||||
pw_node_register(data->node);
|
||||
|
||||
factory = pw_core_find_node_factory(data->core, "spa-node-factory");
|
||||
factory = pw_core_find_factory(data->core, "spa-node-factory");
|
||||
props = pw_properties_new("spa.library.name", "v4l2/libspa-v4l2",
|
||||
"spa.factory.name", "v4l2-source", NULL);
|
||||
data->v4l2 = pw_node_factory_create_node(factory, NULL, "v4l2-source", props);
|
||||
data->v4l2 = pw_factory_create_object(factory,
|
||||
NULL,
|
||||
data->t->node,
|
||||
PW_VERSION_NODE,
|
||||
props,
|
||||
SPA_ID_INVALID);
|
||||
|
||||
data->link = pw_link_new(data->core,
|
||||
NULL,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue