summaryrefslogtreecommitdiff
path: root/pipewire
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2020-11-05 19:30:51 +0200
committerMarius Vlad <marius.vlad@collabora.com>2020-11-09 11:36:12 +0200
commitbb7ed37a89f3698509986d1de64897797981a70b (patch)
treed82dd38e1a60a026f5adb7a54d797591cafd262c /pipewire
parentcf83b48be4bfa452f5ec9045d420f8ca7b38f713 (diff)
downloadweston-bb7ed37a89f3698509986d1de64897797981a70b.tar.gz
remoting,pipewire: Use the connector and the output name for the head name
Makes the client's life much easier to identify between multiple remote outputs. xdg_output is advertising (in later versions) the head name, but in case we have different plug-ins or multiple remote outputs created, it would only repeat/advertise the same name for all (remoting) outputs. This instead uses a string that uses both the connector and name to derive a more easier identifier a client can choose from. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Diffstat (limited to 'pipewire')
-rw-r--r--pipewire/pipewire-plugin.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/pipewire/pipewire-plugin.c b/pipewire/pipewire-plugin.c
index 2c65f502..ca5cbfec 100644
--- a/pipewire/pipewire-plugin.c
+++ b/pipewire/pipewire-plugin.c
@@ -23,6 +23,8 @@
* SOFTWARE.
*/
+#include "config.h"
+
#include <libweston/pipewire-plugin.h>
#include "backend.h"
#include "libweston-internal.h"
@@ -630,6 +632,7 @@ pipewire_output_create(struct weston_compositor *c, char *name)
const char *model = "Virtual Display";
const char *serial_number = "unknown";
const char *connector_name = "pipewire";
+ char *remoting_name;
if (!name || !strlen(name))
return NULL;
@@ -672,7 +675,8 @@ pipewire_output_create(struct weston_compositor *c, char *name)
output->pipewire = pipewire;
wl_list_insert(pipewire->output_list.prev, &output->link);
- weston_head_init(head, connector_name);
+ asprintf(&remoting_name, "%s-%s", connector_name, name);
+ weston_head_init(head, remoting_name);
weston_head_set_subpixel(head, WL_OUTPUT_SUBPIXEL_NONE);
weston_head_set_monitor_strings(head, make, model, serial_number);
head->compositor = c;
@@ -680,6 +684,7 @@ pipewire_output_create(struct weston_compositor *c, char *name)
weston_output_attach_head(output->output, head);
+ free(remoting_name);
pipewire_output_debug(output, "created");
return output->output;