X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fshairplay.c;h=82f1183d0f231bfb42aff498c39eb0e4987d00bf;hb=cd84b7ece74e25ac25c36723e0877ffaafc4725a;hp=64cc864a33cd4e393e327144738af23eaeb995c6;hpb=f95c4d2da37b73c2010b4332831cb1f582314b6b;p=deb_shairplay.git diff --git a/src/shairplay.c b/src/shairplay.c index 64cc864..82f1183 100644 --- a/src/shairplay.c +++ b/src/shairplay.c @@ -1,3 +1,26 @@ +/** + * Copyright (C) 2012-2013 Juho Vähä-Herttua + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + #include #include #include @@ -83,7 +106,6 @@ audio_open_device(shairplay_options_t *opt, int bits, int channels, int samplera } /* Add all available libao options */ - ao_append_option(&ao_options, "client_name", opt->apname); if (strlen(opt->ao_devicename)) { ao_append_option(&ao_options, "dev", opt->ao_devicename); } @@ -203,7 +225,8 @@ parse_options(shairplay_options_t *opt, int argc, char *argv[]) char *path = argv[0]; char *arg; - strcpy(opt->apname, "Shairplay"); + /* Set default values for apname and port */ + strncpy(opt->apname, "Shairplay", sizeof(opt->apname)-1); opt->port = 5000; while ((arg = *++argv)) { @@ -241,13 +264,6 @@ parse_options(shairplay_options_t *opt, int argc, char *argv[]) } } - /* Set default values for apname and port */ - if (!strlen(opt->apname)) { - strncpy(opt->apname, "Shairplay", sizeof(opt->apname)-1); - } - if (!opt->port) { - opt->port = 5000; - } return 0; } @@ -262,6 +278,7 @@ main(int argc, char *argv[]) dnssd_t *dnssd; raop_t *raop; raop_callbacks_t raop_cbs; + char *password = NULL; int error; @@ -299,8 +316,11 @@ main(int argc, char *argv[]) return -1; } + if (strlen(options.password)) { + password = options.password; + } raop_set_log_level(raop, RAOP_LOG_DEBUG); - raop_start(raop, &options.port, hwaddr, sizeof(hwaddr), NULL); + raop_start(raop, &options.port, hwaddr, sizeof(hwaddr), password); error = 0; dnssd = dnssd_init(&error);