From 96c87c3f7f8ec32fdd16143b6f8fe9a909c257b2 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 12 Apr 2018 09:47:43 +0200 Subject: [PATCH] stream: only install converter io once --- src/pipewire/stream.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index c13927e9b..fb22466d7 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -213,15 +213,17 @@ static int configure_converter(struct stream *impl) if (!impl->use_converter) return -ENOTSUP; - res = spa_node_port_set_io(impl->convert, - impl->direction, 0, - t->io.Buffers, - impl->io, sizeof(struct spa_io_buffers)); - impl->io = &impl->conv_io; - res = spa_node_port_set_io(impl->convert, - SPA_DIRECTION_REVERSE(impl->direction), 0, - t->io.Buffers, - impl->io, sizeof(struct spa_io_buffers)); + if (impl->io != &impl->conv_io) { + res = spa_node_port_set_io(impl->convert, + impl->direction, 0, + t->io.Buffers, + impl->io, sizeof(struct spa_io_buffers)); + impl->io = &impl->conv_io; + res = spa_node_port_set_io(impl->convert, + SPA_DIRECTION_REVERSE(impl->direction), 0, + t->io.Buffers, + impl->io, sizeof(struct spa_io_buffers)); + } return 0; }