From 0c6af89807bcf5ce68f986cf003132276f640fe6 Mon Sep 17 00:00:00 2001 From: ejurgensen Date: Sat, 15 Oct 2016 00:51:22 +0200 Subject: [PATCH] [raop] Just remove ipv6 address if we can't connect with the one avahi gave us --- src/outputs/raop.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/outputs/raop.c b/src/outputs/raop.c index 353c2973..ec98cbea 100644 --- a/src/outputs/raop.c +++ b/src/outputs/raop.c @@ -3802,6 +3802,14 @@ raop_cb_startup_options(struct evrtsp_request *req, void *arg) { DPRINTF(E_LOG, L_RAOP, "No response from '%s' (%s) to OPTIONS request\n", rs->devname, rs->address); + if (rs->device->v4_address && (rs->sa.ss.ss_family == AF_INET6)) + { + DPRINTF(E_LOG, L_RAOP, "Falling back to ipv4, the ipv6 address is not responding\n"); + + free(rs->device->v6_address); + rs->device->v6_address = NULL; + } + goto cleanup; } @@ -3906,6 +3914,14 @@ raop_cb_probe_options(struct evrtsp_request *req, void *arg) { DPRINTF(E_LOG, L_RAOP, "No response from '%s' (%s) to OPTIONS request\n", rs->devname, rs->address); + if (rs->device->v4_address && (rs->sa.ss.ss_family == AF_INET6)) + { + DPRINTF(E_LOG, L_RAOP, "Falling back to ipv4, the ipv6 address is not responding\n"); + + free(rs->device->v6_address); + rs->device->v6_address = NULL; + } + goto cleanup; }