client-node: remove the MAPPABLE flag for MemPtr data

af3ad7bf9f set the fd and MAPPABLE
flag on buffer data when it was allocated inline in shared mem, even
for MemPtr data. In the client-node however we don't pass along this
fd and so we also should not pass the MAPPABLE flag for MemPtr data.

This fixes an issue in older clients that blindly try to map the fd when
the MAPPABLE flag is set, even when there is no fd (and there is already
a data pointer).

Fixes #5003
This commit is contained in:
Wim Taymans 2025-12-02 12:03:35 +01:00
parent c81ee31c3b
commit 0d7cb9b39f

View file

@ -894,6 +894,7 @@ do_port_use_buffers(struct impl *impl,
case SPA_DATA_MemPtr:
spa_log_debug(impl->log, "mem %d %zd", j, SPA_PTRDIFF(d->data, baseptr));
b->datas[j].data = SPA_INT_TO_PTR(SPA_PTRDIFF(d->data, baseptr));
SPA_FLAG_CLEAR(b->datas[j].flags, SPA_DATA_FLAG_MAPPABLE);
break;
default:
b->datas[j].type = SPA_ID_INVALID;