From b759f9a691b6b8c9ee0733814d6064ebbade12cb Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 24 Mar 2021 17:45:18 +0100 Subject: [PATCH] pw-loopback: handle NULL buffers Make sure we return the non-NULL buffers in all cases. --- src/tools/pw-loopback.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/tools/pw-loopback.c b/src/tools/pw-loopback.c index 6aec21443..090b8709d 100644 --- a/src/tools/pw-loopback.c +++ b/src/tools/pw-loopback.c @@ -68,19 +68,19 @@ static void capture_process(void *d) struct data *data = d; struct pw_buffer *in, *out; - if ((in = pw_stream_dequeue_buffer(data->capture)) == NULL) { + if ((in = pw_stream_dequeue_buffer(data->capture)) == NULL) pw_log_warn("out of capture buffers: %m"); - return; - } - if ((out = pw_stream_dequeue_buffer(data->playback)) == NULL) { + + if ((out = pw_stream_dequeue_buffer(data->playback)) == NULL) pw_log_warn("out of playback buffers: %m"); - return; - } - *out->buffer = *in->buffer; + if (in != NULL && out != NULL) + *out->buffer = *in->buffer; - pw_stream_queue_buffer(data->capture, in); - pw_stream_queue_buffer(data->playback, out); + if (in != NULL) + pw_stream_queue_buffer(data->capture, in); + if (out != NULL) + pw_stream_queue_buffer(data->playback, out); } static const struct pw_stream_events in_stream_events = {