mirror of
https://github.com/hyprwm/xdg-desktop-portal-hyprland.git
synced 2024-11-22 14:35:57 +01:00
screencast: disable instance sharing
PipeWire currently will not renegotiate the used format of a stream when a new client connects. This causes clients to get stuck when they are incompatible with the format negotiated for the existing stream. This will be problematic when some clients support dmabuf transport while others won't. Thus we disable it until a solution is found.
This commit is contained in:
parent
3a57c24437
commit
ba0f40e45c
1 changed files with 3 additions and 0 deletions
|
@ -112,6 +112,8 @@ bool setup_outputs(struct xdpw_screencast_context *ctx, struct xdpw_session *ses
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Disable screencast sharing to avoid sharing between dmabuf and shm capable clients
|
||||||
|
/*
|
||||||
struct xdpw_screencast_instance *cast, *tmp_c;
|
struct xdpw_screencast_instance *cast, *tmp_c;
|
||||||
wl_list_for_each_reverse_safe(cast, tmp_c, &ctx->screencast_instances, link) {
|
wl_list_for_each_reverse_safe(cast, tmp_c, &ctx->screencast_instances, link) {
|
||||||
logprint(INFO, "xdpw: existing screencast instance: %d %s cursor",
|
logprint(INFO, "xdpw: existing screencast instance: %d %s cursor",
|
||||||
|
@ -132,6 +134,7 @@ bool setup_outputs(struct xdpw_screencast_context *ctx, struct xdpw_session *ses
|
||||||
cast, cast->refcount);
|
cast, cast->refcount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if (!sess->screencast_instance) {
|
if (!sess->screencast_instance) {
|
||||||
sess->screencast_instance = calloc(1, sizeof(struct xdpw_screencast_instance));
|
sess->screencast_instance = calloc(1, sizeof(struct xdpw_screencast_instance));
|
||||||
|
|
Loading…
Reference in a new issue