diff --git a/server/snapServer.cpp b/server/snapServer.cpp index eab6b76b..e790bed8 100644 --- a/server/snapServer.cpp +++ b/server/snapServer.cpp @@ -57,6 +57,7 @@ int main(int argc, char* argv[]) ("test", "for testing") ("version,v", "show version number") ("port,p", po::value(&settings.port)->default_value(settings.port), "server port") + ("controlPort", po::value(&settings.controlPort)->default_value(settings.controlPort), "Remote control port") ("sampleformat,s", po::value(&sampleFormat)->default_value(settings.sampleFormat.getFormat()), "sample format") ("codec,c", po::value(&settings.codec)->default_value(settings.codec), "transport codec [flac|ogg|pcm][:options]. Type codec:? to get codec specific options") ("fifo,f", po::value(&settings.fifoName)->default_value(settings.fifoName), "name of the input fifo file") @@ -126,6 +127,7 @@ int main(int argc, char* argv[]) PublishAvahi publishAvahi("SnapCast"); std::vector services; services.push_back(AvahiService("_snapcast._tcp", settings.port)); + services.push_back(AvahiService("_snapcast-jsonrpc._tcp", settings.controlPort)); publishAvahi.publish(services); if (settings.bufferMs < 400) diff --git a/server/streamServer.cpp b/server/streamServer.cpp index 2cb3ec22..5895400b 100644 --- a/server/streamServer.cpp +++ b/server/streamServer.cpp @@ -313,7 +313,7 @@ void StreamServer::handleAccept(socket_ptr socket) void StreamServer::start() { - controlServer_.reset(new ControlServer(io_service_, settings_.port + 1, this)); + controlServer_.reset(new ControlServer(io_service_, settings_.controlPort, this)); controlServer_->start(); pipeReader_ = new PipeReader(this, settings_.sampleFormat, settings_.codec, settings_.fifoName, settings_.pipeReadMs); diff --git a/server/streamServer.h b/server/streamServer.h index fc40288d..0c6aa1b5 100644 --- a/server/streamServer.h +++ b/server/streamServer.h @@ -45,6 +45,7 @@ struct StreamServerSettings { StreamServerSettings() : port(1704), + controlPort(1705), fifoName("/tmp/snapfifo"), codec("flac"), bufferMs(1000), @@ -53,6 +54,7 @@ struct StreamServerSettings { } size_t port; + size_t controlPort; std::string fifoName; std::string codec; int32_t bufferMs;