From 912371097144e37e1f23c1b9f7a3ff9161912cc4 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 1 Sep 2022 15:39:34 +0200 Subject: [PATCH] spa: clean up some port io checks We should not generate a warning. --- spa/plugins/alsa/alsa-pcm-sink.c | 28 ++++++++++----------- spa/plugins/audiomixer/audiomixer.c | 4 +-- spa/plugins/audiomixer/mixer-dsp.c | 4 +-- spa/plugins/avb/avb-pcm-sink.c | 29 +++++++++++----------- spa/plugins/control/mixer.c | 4 +-- spa/plugins/volume/volume.c | 8 +++--- spa/plugins/vulkan/vulkan-compute-filter.c | 8 +++--- 7 files changed, 42 insertions(+), 43 deletions(-) diff --git a/spa/plugins/alsa/alsa-pcm-sink.c b/spa/plugins/alsa/alsa-pcm-sink.c index f13b0b8b8..a0b5b4e68 100644 --- a/spa/plugins/alsa/alsa-pcm-sink.c +++ b/spa/plugins/alsa/alsa-pcm-sink.c @@ -798,38 +798,38 @@ static int impl_node_port_reuse_buffer(void *object, uint32_t port_id, uint32_t static int impl_node_process(void *object) { struct state *this = object; - struct spa_io_buffers *input; + struct spa_io_buffers *io; spa_return_val_if_fail(this != NULL, -EINVAL); - input = this->io; - spa_return_val_if_fail(input != NULL, -EIO); + if ((io = this->io) == NULL) + return -EIO; - spa_log_trace_fp(this->log, "%p: process %d %d/%d", this, input->status, - input->buffer_id, this->n_buffers); + spa_log_trace_fp(this->log, "%p: process %d %d/%d", this, io->status, + io->buffer_id, this->n_buffers); if (this->position && this->position->clock.flags & SPA_IO_CLOCK_FLAG_FREEWHEEL) { - input->status = SPA_STATUS_NEED_DATA; + io->status = SPA_STATUS_NEED_DATA; return SPA_STATUS_HAVE_DATA; } - if (input->status == SPA_STATUS_HAVE_DATA && - input->buffer_id < this->n_buffers) { - struct buffer *b = &this->buffers[input->buffer_id]; + if (io->status == SPA_STATUS_HAVE_DATA && + io->buffer_id < this->n_buffers) { + struct buffer *b = &this->buffers[io->buffer_id]; if (!SPA_FLAG_IS_SET(b->flags, BUFFER_FLAG_OUT)) { spa_log_warn(this->log, "%p: buffer %u in use", - this, input->buffer_id); - input->status = -EINVAL; + this, io->buffer_id); + io->status = -EINVAL; return -EINVAL; } - spa_log_trace_fp(this->log, "%p: queue buffer %u", this, input->buffer_id); + spa_log_trace_fp(this->log, "%p: queue buffer %u", this, io->buffer_id); spa_list_append(&this->ready, &b->link); SPA_FLAG_CLEAR(b->flags, BUFFER_FLAG_OUT); - input->buffer_id = SPA_ID_INVALID; + io->buffer_id = SPA_ID_INVALID; spa_alsa_write(this); - input->status = SPA_STATUS_OK; + io->status = SPA_STATUS_OK; } return SPA_STATUS_HAVE_DATA; } diff --git a/spa/plugins/audiomixer/audiomixer.c b/spa/plugins/audiomixer/audiomixer.c index 09128eb73..5e682bba5 100644 --- a/spa/plugins/audiomixer/audiomixer.c +++ b/spa/plugins/audiomixer/audiomixer.c @@ -730,8 +730,8 @@ static int impl_node_process(void *object) spa_return_val_if_fail(this != NULL, -EINVAL); outport = GET_OUT_PORT(this, 0); - outio = outport->io; - spa_return_val_if_fail(outio != NULL, -EIO); + if ((outio = outport->io) == NULL) + return -EIO; spa_log_trace_fp(this->log, "%p: status %p %d %d", this, outio, outio->status, outio->buffer_id); diff --git a/spa/plugins/audiomixer/mixer-dsp.c b/spa/plugins/audiomixer/mixer-dsp.c index 0c0fda95b..f93796b97 100644 --- a/spa/plugins/audiomixer/mixer-dsp.c +++ b/spa/plugins/audiomixer/mixer-dsp.c @@ -675,8 +675,8 @@ static int impl_node_process(void *object) spa_return_val_if_fail(this != NULL, -EINVAL); outport = GET_OUT_PORT(this, 0); - outio = outport->io; - spa_return_val_if_fail(outio != NULL, -EIO); + if ((outio = outport->io) == NULL) + return -EIO; spa_log_trace_fp(this->log, "%p: status %p %d %d", this, outio, outio->status, outio->buffer_id); diff --git a/spa/plugins/avb/avb-pcm-sink.c b/spa/plugins/avb/avb-pcm-sink.c index 9a66aa657..00f4e9593 100644 --- a/spa/plugins/avb/avb-pcm-sink.c +++ b/spa/plugins/avb/avb-pcm-sink.c @@ -699,40 +699,39 @@ static int impl_node_process(void *object) { struct state *this = object; struct port *port; - struct spa_io_buffers *input; + struct spa_io_buffers *io; spa_return_val_if_fail(this != NULL, -EINVAL); port = GET_PORT(this, SPA_DIRECTION_INPUT, 0); + if ((io = port->io) == NULL) + return -EIO; - input = port->io; - spa_return_val_if_fail(input != NULL, -EIO); - - spa_log_trace_fp(this->log, "%p: process %d %d/%d", this, input->status, - input->buffer_id, port->n_buffers); + spa_log_trace_fp(this->log, "%p: process %d %d/%d", this, io->status, + io->buffer_id, port->n_buffers); if (this->position && this->position->clock.flags & SPA_IO_CLOCK_FLAG_FREEWHEEL) { - input->status = SPA_STATUS_NEED_DATA; + io->status = SPA_STATUS_NEED_DATA; return SPA_STATUS_HAVE_DATA; } - if (input->status == SPA_STATUS_HAVE_DATA && - input->buffer_id < port->n_buffers) { - struct buffer *b = &port->buffers[input->buffer_id]; + if (io->status == SPA_STATUS_HAVE_DATA && + io->buffer_id < port->n_buffers) { + struct buffer *b = &port->buffers[io->buffer_id]; if (!SPA_FLAG_IS_SET(b->flags, BUFFER_FLAG_OUT)) { spa_log_warn(this->log, "%p: buffer %u in use", - this, input->buffer_id); - input->status = -EINVAL; + this, io->buffer_id); + io->status = -EINVAL; return -EINVAL; } - spa_log_trace_fp(this->log, "%p: queue buffer %u", this, input->buffer_id); + spa_log_trace_fp(this->log, "%p: queue buffer %u", this, io->buffer_id); spa_list_append(&port->ready, &b->link); SPA_FLAG_CLEAR(b->flags, BUFFER_FLAG_OUT); - input->buffer_id = SPA_ID_INVALID; + io->buffer_id = SPA_ID_INVALID; spa_avb_write(this); - input->status = SPA_STATUS_OK; + io->status = SPA_STATUS_OK; } return SPA_STATUS_HAVE_DATA; } diff --git a/spa/plugins/control/mixer.c b/spa/plugins/control/mixer.c index 29c537613..81a3bd519 100644 --- a/spa/plugins/control/mixer.c +++ b/spa/plugins/control/mixer.c @@ -587,8 +587,8 @@ static int impl_node_process(void *object) spa_return_val_if_fail(this != NULL, -EINVAL); outport = GET_OUT_PORT(this, 0); - outio = outport->io; - spa_return_val_if_fail(outio != NULL, -EIO); + if ((outio = outport->io) == NULL) + return -EIO; spa_log_trace_fp(this->log, NAME " %p: status %p %d %d", this, outio, outio->status, outio->buffer_id); diff --git a/spa/plugins/volume/volume.c b/spa/plugins/volume/volume.c index fb49ab74f..40556a33c 100644 --- a/spa/plugins/volume/volume.c +++ b/spa/plugins/volume/volume.c @@ -679,8 +679,8 @@ static int impl_node_process(void *object) spa_return_val_if_fail(this != NULL, -EINVAL); out_port = GET_OUT_PORT(this, 0); - output = out_port->io; - spa_return_val_if_fail(output != NULL, -EIO); + if ((output = out_port->io) == NULL) + return -EIO; if (output->status == SPA_STATUS_HAVE_DATA) return SPA_STATUS_HAVE_DATA; @@ -692,8 +692,8 @@ static int impl_node_process(void *object) } in_port = GET_IN_PORT(this, 0); - input = in_port->io; - spa_return_val_if_fail(input != NULL, -EIO); + if ((input = in_port->io) == NULL) + return -EIO; if (input->status != SPA_STATUS_HAVE_DATA) return SPA_STATUS_NEED_DATA; diff --git a/spa/plugins/vulkan/vulkan-compute-filter.c b/spa/plugins/vulkan/vulkan-compute-filter.c index fbe9e769e..66157075a 100644 --- a/spa/plugins/vulkan/vulkan-compute-filter.c +++ b/spa/plugins/vulkan/vulkan-compute-filter.c @@ -578,8 +578,8 @@ static int impl_node_process(void *object) spa_return_val_if_fail(this != NULL, -EINVAL); inport = &this->port[SPA_DIRECTION_INPUT]; - inio = inport->io; - spa_return_val_if_fail(inio != NULL, -EIO); + if ((inio = inport->io) == NULL) + return -EIO; if (inio->status != SPA_STATUS_HAVE_DATA) return inio->status; @@ -590,8 +590,8 @@ static int impl_node_process(void *object) } outport = &this->port[SPA_DIRECTION_OUTPUT]; - outio = outport->io; - spa_return_val_if_fail(outio != NULL, -EIO); + if ((outio = outport->io) == NULL) + return -EIO; if (outio->status == SPA_STATUS_HAVE_DATA) return SPA_STATUS_HAVE_DATA;