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:
columbarius 2021-06-23 01:40:42 +02:00
parent 3a57c24437
commit ba0f40e45c
1 changed files with 3 additions and 0 deletions

View File

@ -112,6 +112,8 @@ bool setup_outputs(struct xdpw_screencast_context *ctx, struct xdpw_session *ses
return false;
}
// Disable screencast sharing to avoid sharing between dmabuf and shm capable clients
/*
struct xdpw_screencast_instance *cast, *tmp_c;
wl_list_for_each_reverse_safe(cast, tmp_c, &ctx->screencast_instances, link) {
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);
}
}
*/
if (!sess->screencast_instance) {
sess->screencast_instance = calloc(1, sizeof(struct xdpw_screencast_instance));