mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
modules: ensure node.name and description are set
Most apps need this and some even crash when they are not set.
This commit is contained in:
parent
bb2f637839
commit
abf37f618e
5 changed files with 31 additions and 0 deletions
|
|
@ -858,6 +858,11 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "echo-cancel-%u", id);
|
pw_properties_setf(props, PW_KEY_NODE_LINK_GROUP, "echo-cancel-%u", id);
|
||||||
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
||||||
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL)
|
||||||
|
pw_properties_setf(props, PW_KEY_NODE_NAME, "echo-cancel-%u", id);
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||||
|
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION,
|
||||||
|
pw_properties_get(props, PW_KEY_NODE_NAME));
|
||||||
|
|
||||||
parse_audio_info(props, &impl->info);
|
parse_audio_info(props, &impl->info);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -364,6 +364,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
{
|
{
|
||||||
struct pw_context *context = pw_impl_module_get_context(module);
|
struct pw_context *context = pw_impl_module_get_context(module);
|
||||||
struct pw_properties *props = NULL;
|
struct pw_properties *props = NULL;
|
||||||
|
uint32_t id = pw_global_get_id(pw_impl_module_get_global(module));
|
||||||
struct impl *impl;
|
struct impl *impl;
|
||||||
const char *str;
|
const char *str;
|
||||||
int res;
|
int res;
|
||||||
|
|
@ -409,6 +410,12 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
if (pw_properties_get(props, PW_KEY_MEDIA_CLASS) == NULL)
|
if (pw_properties_get(props, PW_KEY_MEDIA_CLASS) == NULL)
|
||||||
pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Sink");
|
pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Sink");
|
||||||
|
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL)
|
||||||
|
pw_properties_setf(props, PW_KEY_NODE_NAME, "example-sink-%u", id);
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||||
|
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION,
|
||||||
|
pw_properties_get(props, PW_KEY_NODE_NAME));
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "stream.props")) != NULL)
|
if ((str = pw_properties_get(props, "stream.props")) != NULL)
|
||||||
pw_properties_update_string(impl->stream_props, str, strlen(str));
|
pw_properties_update_string(impl->stream_props, str, strlen(str));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -383,6 +383,7 @@ SPA_EXPORT
|
||||||
int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
{
|
{
|
||||||
struct pw_context *context = pw_impl_module_get_context(module);
|
struct pw_context *context = pw_impl_module_get_context(module);
|
||||||
|
uint32_t id = pw_global_get_id(pw_impl_module_get_global(module));
|
||||||
struct pw_properties *props = NULL;
|
struct pw_properties *props = NULL;
|
||||||
struct impl *impl;
|
struct impl *impl;
|
||||||
const char *str;
|
const char *str;
|
||||||
|
|
@ -429,6 +430,12 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
if (pw_properties_get(props, PW_KEY_MEDIA_CLASS) == NULL)
|
if (pw_properties_get(props, PW_KEY_MEDIA_CLASS) == NULL)
|
||||||
pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Source");
|
pw_properties_set(props, PW_KEY_MEDIA_CLASS, "Audio/Source");
|
||||||
|
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL)
|
||||||
|
pw_properties_setf(props, PW_KEY_NODE_NAME, "example-source-%u", id);
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||||
|
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION,
|
||||||
|
pw_properties_get(props, PW_KEY_NODE_NAME));
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "stream.props")) != NULL)
|
if ((str = pw_properties_get(props, "stream.props")) != NULL)
|
||||||
pw_properties_update_string(impl->stream_props, str, strlen(str));
|
pw_properties_update_string(impl->stream_props, str, strlen(str));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1675,6 +1675,12 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
||||||
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
||||||
|
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL)
|
||||||
|
pw_properties_setf(props, PW_KEY_NODE_NAME, "filter-chain-%u", id);
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||||
|
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION,
|
||||||
|
pw_properties_get(props, PW_KEY_NODE_NAME));
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "capture.props")) != NULL)
|
if ((str = pw_properties_get(props, "capture.props")) != NULL)
|
||||||
pw_properties_update_string(impl->capture_props, str, strlen(str));
|
pw_properties_update_string(impl->capture_props, str, strlen(str));
|
||||||
if ((str = pw_properties_get(props, "playback.props")) != NULL)
|
if ((str = pw_properties_get(props, "playback.props")) != NULL)
|
||||||
|
|
|
||||||
|
|
@ -438,6 +438,12 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args)
|
||||||
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
if (pw_properties_get(props, PW_KEY_NODE_VIRTUAL) == NULL)
|
||||||
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
pw_properties_set(props, PW_KEY_NODE_VIRTUAL, "true");
|
||||||
|
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_NAME) == NULL)
|
||||||
|
pw_properties_setf(props, PW_KEY_NODE_NAME, "loopback-%u", id);
|
||||||
|
if (pw_properties_get(props, PW_KEY_NODE_DESCRIPTION) == NULL)
|
||||||
|
pw_properties_set(props, PW_KEY_NODE_DESCRIPTION,
|
||||||
|
pw_properties_get(props, PW_KEY_NODE_NAME));
|
||||||
|
|
||||||
if ((str = pw_properties_get(props, "capture.props")) != NULL)
|
if ((str = pw_properties_get(props, "capture.props")) != NULL)
|
||||||
pw_properties_update_string(impl->capture_props, str, strlen(str));
|
pw_properties_update_string(impl->capture_props, str, strlen(str));
|
||||||
if ((str = pw_properties_get(props, "playback.props")) != NULL)
|
if ((str = pw_properties_get(props, "playback.props")) != NULL)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue