X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/e3953a418a97e0512da7421bb1374c0336fdfd4d..5dba54ab01bce6ca8a6f1fd64b46cd304501b596:/server/speaker.c diff --git a/server/speaker.c b/server/speaker.c index e470759..719a6d8 100644 --- a/server/speaker.c +++ b/server/speaker.c @@ -235,7 +235,7 @@ static const struct option options[] = { }; /* Display usage message and terminate. */ -static void help(void) { +static void attribute((noreturn)) help(void) { xprintf("Usage:\n" " disorder-speaker [OPTIONS]\n" "Options:\n" @@ -660,6 +660,15 @@ static void mainloop(void) { disorder_error(0, "cannot read configuration"); disorder_info("reloaded configuration"); break; + case SM_RTP_REQUEST: + /* TODO the error behavior here is really unhelpful */ + if(rtp_add_recipient(&sm.u.address)) + disorder_error(0, "unacceptable RTP destination"); + break; + case SM_RTP_CANCEL: + if(rtp_remove_recipient(&sm.u.address)) + disorder_error(0, "unacceptable RTP destination for removal"); + break; default: disorder_error(0, "unknown message type %d", sm.type); } @@ -760,6 +769,7 @@ int main(int argc, char **argv) { log_default = &log_syslog; } config_uaudio_apis = uaudio_apis; + config_per_user = 0; if(config_read(1, NULL)) disorder_fatal(0, "cannot read configuration"); /* ignore SIGPIPE */ signal(SIGPIPE, SIG_IGN);