remote-node: map buffer metadata readwrite

Map the buffer metadata in read/write mode. Some metadata might
need to be writable even for input buffers (like ref-count metadata)
This commit is contained in:
Wim Taymans 2020-03-02 16:51:32 +01:00
parent 37a1dc5265
commit c8633767e7

View file

@ -526,7 +526,9 @@ static int clear_buffers(struct node_data *data, struct mix *mix)
struct buffer *b; struct buffer *b;
int res; int res;
pw_log_debug("port %p: clear buffers mix:%d %zd", port, mix->mix_id, mix->buffers.size); pw_log_debug("port %p: clear %zd buffers mix:%d", port,
pw_array_get_len(&mix->buffers, struct buffer *),
mix->mix_id);
if ((res = pw_impl_port_use_buffers(port, &mix->mix, 0, NULL, 0)) < 0) { if ((res = pw_impl_port_use_buffers(port, &mix->mix, 0, NULL, 0)) < 0) {
pw_log_error("port %p: error clear buffers %s", port, spa_strerror(res)); pw_log_error("port %p: error clear buffers %s", port, spa_strerror(res));
@ -602,7 +604,7 @@ client_node_port_use_buffers(void *object,
goto error_exit; goto error_exit;
} }
prot = PW_MEMMAP_FLAG_READ | (direction == SPA_DIRECTION_OUTPUT ? PW_MEMMAP_FLAG_WRITE : 0); prot = PW_MEMMAP_FLAG_READWRITE;
/* clear previous buffers */ /* clear previous buffers */
clear_buffers(data, mix); clear_buffers(data, mix);