diff --git a/src/pipewire/filter.c b/src/pipewire/filter.c index 281b1e83d..7bacc7fb4 100644 --- a/src/pipewire/filter.c +++ b/src/pipewire/filter.c @@ -684,7 +684,7 @@ static int impl_port_use_buffers(void *object, return res; SPA_FLAG_SET(b->flags, BUFFER_FLAG_MAPPED); } - else if (d->data == NULL) { + else if (d->type == SPA_DATA_MemPtr && d->data == NULL) { pw_log_error(NAME" %p: invalid buffer mem", filter); return -EINVAL; } diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index 5da8dc765..cb87996b3 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -687,7 +687,7 @@ static int impl_port_use_buffers(void *object, return res; SPA_FLAG_SET(b->flags, BUFFER_FLAG_MAPPED); } - else if (d->data == NULL) { + else if (d->type == SPA_DATA_MemPtr && d->data == NULL) { pw_log_error(NAME" %p: invalid buffer mem", stream); return -EINVAL; }