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
This commit is contained in:
David Svensson Fors 2017-09-22 17:44:01 +02:00 committed by Wim Taymans
parent 46b738282c
commit de8e0c8f8c

View file

@ -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;