mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-19 16:01:45 +00:00
buffer: handle the case where only MemPtr is selected
When we need to allocate buffers with shared memory but only MemPtr is allowed, make sure we change this to MemFd.
This commit is contained in:
parent
a0bf0e0686
commit
11b8a2aad4
|
@ -318,10 +318,12 @@ int pw_buffers_negotiate(struct pw_context *context, uint32_t flags,
|
|||
minsize = 8192;
|
||||
max_buffers = 2;
|
||||
}
|
||||
|
||||
if (types == SPA_ID_INVALID &&
|
||||
SPA_FLAG_IS_SET(flags, PW_BUFFERS_FLAG_SHARED_MEM))
|
||||
types = 1<<SPA_DATA_MemFd;
|
||||
if (SPA_FLAG_IS_SET(flags, PW_BUFFERS_FLAG_SHARED_MEM)) {
|
||||
if (types != SPA_ID_INVALID)
|
||||
SPA_FLAG_CLEAR(types, 1<<SPA_DATA_MemPtr);
|
||||
if (types == 0 || types == SPA_ID_INVALID)
|
||||
types = 1<<SPA_DATA_MemFd;
|
||||
}
|
||||
|
||||
if (SPA_FLAG_IS_SET(flags, PW_BUFFERS_FLAG_NO_MEM))
|
||||
minsize = 0;
|
||||
|
|
Loading…
Reference in a new issue