mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
parent
498b4bd080
commit
b4f359ed77
2 changed files with 28 additions and 4 deletions
|
|
@ -314,7 +314,7 @@ static struct node *alsa_create_node(struct device *device, uint32_t id,
|
||||||
struct impl *impl = device->impl;
|
struct impl *impl = device->impl;
|
||||||
int res;
|
int res;
|
||||||
const char *dev, *subdev, *stream, *profile, *profile_desc;
|
const char *dev, *subdev, *stream, *profile, *profile_desc;
|
||||||
int priority;
|
int i, priority;
|
||||||
|
|
||||||
pw_log_debug("new node %u", id);
|
pw_log_debug("new node %u", id);
|
||||||
|
|
||||||
|
|
@ -390,7 +390,8 @@ static struct node *alsa_create_node(struct device *device, uint32_t id,
|
||||||
|
|
||||||
}
|
}
|
||||||
if (pw_properties_get(node->props, SPA_KEY_NODE_NAME) == NULL) {
|
if (pw_properties_get(node->props, SPA_KEY_NODE_NAME) == NULL) {
|
||||||
const char *devname;
|
const char *devname, *d;
|
||||||
|
|
||||||
if ((devname = pw_properties_get(device->props, SPA_KEY_DEVICE_NAME)) == NULL)
|
if ((devname = pw_properties_get(device->props, SPA_KEY_DEVICE_NAME)) == NULL)
|
||||||
devname = "unnamed-device";
|
devname = "unnamed-device";
|
||||||
if (strstr(devname, "alsa_card.") == devname)
|
if (strstr(devname, "alsa_card.") == devname)
|
||||||
|
|
@ -398,6 +399,18 @@ static struct node *alsa_create_node(struct device *device, uint32_t id,
|
||||||
pw_properties_setf(node->props, SPA_KEY_NODE_NAME, "%s.%s.%s",
|
pw_properties_setf(node->props, SPA_KEY_NODE_NAME, "%s.%s.%s",
|
||||||
node->direction == PW_DIRECTION_OUTPUT ?
|
node->direction == PW_DIRECTION_OUTPUT ?
|
||||||
"alsa_input" : "alsa_output", devname, profile);
|
"alsa_input" : "alsa_output", devname, profile);
|
||||||
|
|
||||||
|
for (i = 2; i <= 99; i++) {
|
||||||
|
if ((d = pw_properties_get(node->props, PW_KEY_NODE_NAME)) == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (alsa_find_node(device, SPA_ID_INVALID, d) == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
pw_properties_setf(node->props, SPA_KEY_NODE_NAME, "%s.%s.%s.%d",
|
||||||
|
node->direction == PW_DIRECTION_OUTPUT ?
|
||||||
|
"alsa_input" : "alsa_output", devname, profile, i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (pw_properties_get(node->props, PW_KEY_NODE_DESCRIPTION) == NULL) {
|
if (pw_properties_get(node->props, PW_KEY_NODE_DESCRIPTION) == NULL) {
|
||||||
const char *desc, *name = NULL;
|
const char *desc, *name = NULL;
|
||||||
|
|
|
||||||
|
|
@ -122,8 +122,8 @@ static struct node *v4l2_create_node(struct device *dev, uint32_t id,
|
||||||
{
|
{
|
||||||
struct node *node;
|
struct node *node;
|
||||||
struct impl *impl = dev->impl;
|
struct impl *impl = dev->impl;
|
||||||
int res;
|
int i, res;
|
||||||
const char *str;
|
const char *str, *d;
|
||||||
|
|
||||||
pw_log_debug("new node %u", id);
|
pw_log_debug("new node %u", id);
|
||||||
|
|
||||||
|
|
@ -150,6 +150,17 @@ static struct node *v4l2_create_node(struct device *dev, uint32_t id,
|
||||||
str = "v4l2-device";
|
str = "v4l2-device";
|
||||||
pw_properties_setf(node->props, PW_KEY_NODE_NAME, "%s.%s", info->factory_name, str);
|
pw_properties_setf(node->props, PW_KEY_NODE_NAME, "%s.%s", info->factory_name, str);
|
||||||
|
|
||||||
|
for (i = 2; i <= 99; i++) {
|
||||||
|
if ((d = pw_properties_get(node->props, PW_KEY_NODE_NAME)) == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (v4l2_find_node(dev, SPA_ID_INVALID, d) == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
pw_properties_setf(node->props, PW_KEY_NODE_NAME, "%s.%s.%d",
|
||||||
|
info->factory_name, str, i);
|
||||||
|
}
|
||||||
|
|
||||||
str = pw_properties_get(dev->props, SPA_KEY_DEVICE_DESCRIPTION);
|
str = pw_properties_get(dev->props, SPA_KEY_DEVICE_DESCRIPTION);
|
||||||
if (str == NULL)
|
if (str == NULL)
|
||||||
str = "v4l2-device";
|
str = "v4l2-device";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue