mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-17 19:16:14 +02:00
added latency and volume to settings
This commit is contained in:
parent
128989ef98
commit
442263af31
2 changed files with 12 additions and 5 deletions
|
@ -133,7 +133,7 @@ void Controller::worker()
|
||||||
msg::Request requestMsg(kServerSettings);
|
msg::Request requestMsg(kServerSettings);
|
||||||
shared_ptr<msg::ServerSettings> serverSettings(NULL);
|
shared_ptr<msg::ServerSettings> serverSettings(NULL);
|
||||||
while (active_ && !(serverSettings = clientConnection_->sendReq<msg::ServerSettings>(&requestMsg)));
|
while (active_ && !(serverSettings = clientConnection_->sendReq<msg::ServerSettings>(&requestMsg)));
|
||||||
logO << "ServerSettings buffer: " << serverSettings->bufferMs << "\n";
|
logO << "ServerSettings buffer: " << serverSettings->bufferMs << ", latency: " << serverSettings->latency << ", volume: " << serverSettings->volume << "\n";
|
||||||
|
|
||||||
requestMsg.request = kSampleFormat;
|
requestMsg.request = kSampleFormat;
|
||||||
while (active_ && !(sampleFormat_ = clientConnection_->sendReq<msg::SampleFormat>(&requestMsg)));
|
while (active_ && !(sampleFormat_ = clientConnection_->sendReq<msg::SampleFormat>(&requestMsg)));
|
||||||
|
@ -168,6 +168,7 @@ void Controller::worker()
|
||||||
stream_->setBufferLen(serverSettings->bufferMs - latency_);
|
stream_->setBufferLen(serverSettings->bufferMs - latency_);
|
||||||
|
|
||||||
Player player(pcmDevice_, stream_);
|
Player player(pcmDevice_, stream_);
|
||||||
|
player.setVolume(serverSettings->volume);
|
||||||
player.start();
|
player.start();
|
||||||
|
|
||||||
msg::Command startStream("startStream");
|
msg::Command startStream("startStream");
|
||||||
|
|
|
@ -28,7 +28,7 @@ namespace msg
|
||||||
class ServerSettings : public BaseMessage
|
class ServerSettings : public BaseMessage
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ServerSettings() : BaseMessage(message_type::kServerSettings)
|
ServerSettings() : BaseMessage(message_type::kServerSettings), bufferMs(0), latency(0), volume(1.0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,20 +38,26 @@ public:
|
||||||
|
|
||||||
virtual void read(std::istream& stream)
|
virtual void read(std::istream& stream)
|
||||||
{
|
{
|
||||||
stream.read(reinterpret_cast<char *>(&bufferMs), sizeof(int32_t));
|
stream.read(reinterpret_cast<char*>(&bufferMs), sizeof(int32_t));
|
||||||
|
stream.read(reinterpret_cast<char*>(&latency), sizeof(int32_t));
|
||||||
|
stream.read(reinterpret_cast<char*>(&volume), sizeof(double));
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual uint32_t getSize() const
|
virtual uint32_t getSize() const
|
||||||
{
|
{
|
||||||
return sizeof(int32_t);
|
return sizeof(int32_t) + sizeof(int32_t) + sizeof(double);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t bufferMs;
|
int32_t bufferMs;
|
||||||
|
int32_t latency;
|
||||||
|
double volume;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void doserialize(std::ostream& stream) const
|
virtual void doserialize(std::ostream& stream) const
|
||||||
{
|
{
|
||||||
stream.write(reinterpret_cast<const char *>(&bufferMs), sizeof(int32_t));
|
stream.write(reinterpret_cast<const char*>(&bufferMs), sizeof(int32_t));
|
||||||
|
stream.write(reinterpret_cast<const char*>(&latency), sizeof(int32_t));
|
||||||
|
stream.write(reinterpret_cast<const char*>(&volume), sizeof(double));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue