From d3ab5bc3b8bcf2abfd9e3eeac8f86dac6308aa48 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 2 Jul 2020 14:37:32 +0200 Subject: [PATCH] stream: only unconnect when core unconnects Ignore all other core errors, only make the stream unconnected when the core is unconnected. --- src/pipewire/filter.c | 5 +++-- src/pipewire/stream.c | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pipewire/filter.c b/src/pipewire/filter.c index a43a982f1..97a56663e 100644 --- a/src/pipewire/filter.c +++ b/src/pipewire/filter.c @@ -920,9 +920,10 @@ static void on_core_error(void *_data, uint32_t id, int seq, int res, const char { struct pw_filter *filter = _data; - pw_log_error(NAME" %p: error id:%u seq:%d res:%d (%s): %s", filter, + pw_log_debug(NAME" %p: error id:%u seq:%d res:%d (%s): %s", filter, id, seq, res, spa_strerror(res), message); - if (id == 0) { + + if (id == PW_ID_CORE && res == -EPIPE) { filter_set_state(filter, PW_FILTER_STATE_UNCONNECTED, message); } } diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index c8b8d3a61..086c34680 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -1047,9 +1047,10 @@ static void on_core_error(void *object, uint32_t id, int seq, int res, const cha { struct pw_stream *stream = object; - pw_log_error(NAME" %p: error id:%u seq:%d res:%d (%s): %s", stream, + pw_log_debug(NAME" %p: error id:%u seq:%d res:%d (%s): %s", stream, id, seq, res, spa_strerror(res), message); - if (id == 0) { + + if (id == PW_ID_CORE && res == -EPIPE) { stream_set_state(stream, PW_STREAM_STATE_UNCONNECTED, message); } }