int monitor = 0;
static const int one = 1;
- static const struct addrinfo prefs = {
+ struct addrinfo prefs = {
.ai_flags = AI_PASSIVE,
.ai_family = PF_INET,
.ai_socktype = SOCK_DGRAM,
}
}
if(config_read(0, NULL)) disorder_fatal(0, "cannot read configuration");
+ /* Choose a sensible default audio backend */
if(!backend) {
backend = uaudio_default(uaudio_apis, UAUDIO_API_CLIENT);
if(!backend)
struct sockaddr *addr;
socklen_t addr_len;
if(!strcmp(sl.s[0], "-")) {
+ /* We'll need a connection to request the incoming stream, so open one if
+ * we don't have one already */
+ if(!c) {
+ if(!(c = disorder_new(1))) exit(EXIT_FAILURE);
+ if(disorder_connect(c)) exit(EXIT_FAILURE);
+ }
/* Pick address family to match known-working connectivity to the server */
int family = disorder_client_af(c);
/* Get a list of interfaces */
disorder_fatal(errno, "error calling getifaddrs");
/* Try to pick a good one */
for(; ifa; ifa = ifa->ifa_next) {
+ if(!ifa->ifa_addr) continue;
if(bestifa == NULL
|| compare_interfaces(ifa, bestifa, family) > 0)
bestifa = ifa;