mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-02-11 04:27:56 -05:00
keys: add object.register property
Add a new object.register boolean property. Make adapter and remote-note only register when object.register is true. Make stream and filter not register themselves. They are always exported to a remote server and thus don't need local registration. Fixes #1309
This commit is contained in:
parent
2c5d89ff19
commit
324894e605
5 changed files with 27 additions and 8 deletions
|
|
@ -168,7 +168,7 @@ static void *create_object(void *_data,
|
|||
const char *str, *factory_name;
|
||||
int res;
|
||||
struct node_data *nd;
|
||||
bool linger;
|
||||
bool linger, do_register;
|
||||
|
||||
if (properties == NULL)
|
||||
goto error_properties;
|
||||
|
|
@ -179,6 +179,9 @@ static void *create_object(void *_data,
|
|||
str = pw_properties_get(properties, PW_KEY_OBJECT_LINGER);
|
||||
linger = str ? pw_properties_parse_bool(str) : false;
|
||||
|
||||
str = pw_properties_get(properties, PW_KEY_OBJECT_REGISTER);
|
||||
do_register = str ? pw_properties_parse_bool(str) : true;
|
||||
|
||||
client = resource ? pw_resource_get_client(resource): NULL;
|
||||
if (client && !linger) {
|
||||
pw_properties_setf(properties, PW_KEY_CLIENT_ID, "%d",
|
||||
|
|
@ -231,7 +234,10 @@ static void *create_object(void *_data,
|
|||
|
||||
pw_impl_node_add_listener(adapter, &nd->adapter_listener, &node_events, nd);
|
||||
|
||||
pw_impl_node_register(adapter, NULL);
|
||||
if (do_register)
|
||||
pw_impl_node_register(adapter, NULL);
|
||||
else
|
||||
pw_impl_node_initialized(adapter);
|
||||
|
||||
return adapter;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue