configurable control port (avahi: _snapcast-jsonrpc._tcp)

This commit is contained in:
badaix 2015-09-08 21:27:08 +02:00
parent 0893f40fd1
commit 041f9b9fed
3 changed files with 5 additions and 1 deletions

View file

@ -57,6 +57,7 @@ int main(int argc, char* argv[])
("test", "for testing")
("version,v", "show version number")
("port,p", po::value<size_t>(&settings.port)->default_value(settings.port), "server port")
("controlPort", po::value<size_t>(&settings.controlPort)->default_value(settings.controlPort), "Remote control port")
("sampleformat,s", po::value<string>(&sampleFormat)->default_value(settings.sampleFormat.getFormat()), "sample format")
("codec,c", po::value<string>(&settings.codec)->default_value(settings.codec), "transport codec [flac|ogg|pcm][:options]. Type codec:? to get codec specific options")
("fifo,f", po::value<string>(&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<AvahiService> 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)

View file

@ -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);

View file

@ -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;