From 30dfe16c527dde2f96ddc9e1adafad9532ee52a8 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 14 Sep 2020 16:45:39 +0200 Subject: [PATCH] media-session: destroy errored links When a link we create is in error, destroy it. --- src/examples/media-session/media-session.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/examples/media-session/media-session.c b/src/examples/media-session/media-session.c index c25fcd0a4..5c420d748 100644 --- a/src/examples/media-session/media-session.c +++ b/src/examples/media-session/media-session.c @@ -1486,6 +1486,15 @@ static void check_endpoint_link(struct endpoint_link *link) } } +static void proxy_link_error(void *data, int seq, int res, const char *message) +{ + struct link *l = data; + pw_log_warn("can't link %d:%d -> %d:%d: %s", + l->output_node, l->output_port, + l->input_node, l->input_port, message); + pw_proxy_destroy(l->proxy); +} + static void proxy_link_removed(void *data) { struct link *l = data; @@ -1506,6 +1515,7 @@ static void proxy_link_destroy(void *data) static const struct pw_proxy_events proxy_link_events = { PW_VERSION_PROXY_EVENTS, + .error = proxy_link_error, .removed = proxy_link_removed, .destroy = proxy_link_destroy };