From de8e0c8f8c59aa44ba56f0eacd12afbad0351ae2 Mon Sep 17 00:00:00 2001 From: David Svensson Fors Date: Fri, 22 Sep 2017 17:44:01 +0200 Subject: [PATCH] stream: let recycle_buffer() have effect for input streams For PW_DIRECTION_INPUT streams, set the used flag for buffers before emitting new_buffer. This makes recycle_buffer() effective. Change-Id: I869c2bd303e19974de79e8ada334a485c58f6592 --- src/pipewire/stream.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index b61e4f312..0127102eb 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -521,12 +521,16 @@ static void handle_rtnode_message(struct pw_stream *stream, struct pw_client_nod for (i = 0; i < impl->trans->area->n_input_ports; i++) { struct spa_port_io *input = &impl->trans->inputs[i]; + struct buffer_id *bid; pw_log_trace("stream %p: process input %d %d", stream, input->status, input->buffer_id); if (input->buffer_id == SPA_ID_INVALID) continue; + bid = find_buffer(stream, input->buffer_id); + bid->used = true; + spa_hook_list_call(&stream->listener_list, struct pw_stream_events, new_buffer, input->buffer_id); input->buffer_id = SPA_ID_INVALID;