mirror of
https://github.com/badaix/snapcast.git
synced 2025-05-18 03:26:15 +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);
|
||||
shared_ptr<msg::ServerSettings> serverSettings(NULL);
|
||||
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;
|
||||
while (active_ && !(sampleFormat_ = clientConnection_->sendReq<msg::SampleFormat>(&requestMsg)));
|
||||
|
@ -168,6 +168,7 @@ void Controller::worker()
|
|||
stream_->setBufferLen(serverSettings->bufferMs - latency_);
|
||||
|
||||
Player player(pcmDevice_, stream_);
|
||||
player.setVolume(serverSettings->volume);
|
||||
player.start();
|
||||
|
||||
msg::Command startStream("startStream");
|
||||
|
|
|
@ -28,7 +28,7 @@ namespace msg
|
|||
class ServerSettings : public BaseMessage
|
||||
{
|
||||
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)
|
||||
{
|
||||
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
|
||||
{
|
||||
return sizeof(int32_t);
|
||||
return sizeof(int32_t) + sizeof(int32_t) + sizeof(double);
|
||||
}
|
||||
|
||||
int32_t bufferMs;
|
||||
int32_t latency;
|
||||
double volume;
|
||||
|
||||
protected:
|
||||
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