mirror of
https://github.com/badaix/snapcast.git
synced 2025-04-28 09:47:09 +02:00
Fix crash
This commit is contained in:
parent
d7ddfc8b88
commit
3d5744c6b0
3 changed files with 18 additions and 11 deletions
|
@ -173,15 +173,15 @@ void ClientConnection::connect(const ResultHandler& handler)
|
|||
void ClientConnection::sendNext()
|
||||
{
|
||||
auto& message = messages_.front();
|
||||
boost::asio::streambuf streambuf;
|
||||
std::ostream stream(&streambuf);
|
||||
std::ostream stream(&streambuf_);
|
||||
tv t;
|
||||
message.msg->sent = t;
|
||||
message.msg->serialize(stream);
|
||||
ResultHandler handler = message.handler;
|
||||
|
||||
write(streambuf, [this, handler](boost::system::error_code ec, std::size_t length)
|
||||
write(streambuf_, [this, handler](boost::system::error_code ec, std::size_t length)
|
||||
{
|
||||
streambuf_.consume(length);
|
||||
if (ec)
|
||||
LOG(ERROR, LOG_TAG) << "Failed to send message, error: " << ec.message() << "\n";
|
||||
else
|
||||
|
|
|
@ -173,6 +173,8 @@ protected:
|
|||
ClientSettings::Server server_;
|
||||
/// Size of a base message (= message header)
|
||||
const size_t base_msg_size_;
|
||||
/// Send stream buffer
|
||||
boost::asio::streambuf streambuf_;
|
||||
|
||||
/// A pending request
|
||||
struct PendingMessage
|
||||
|
|
|
@ -204,14 +204,6 @@ int main(int argc, char** argv)
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
if (!op.non_option_args().empty())
|
||||
{
|
||||
streamreader::StreamUri uri(op.non_option_args().front());
|
||||
settings.server.host = uri.host;
|
||||
settings.server.port = uri.port.value_or(settings.server.port);
|
||||
settings.server.protocol = uri.scheme;
|
||||
}
|
||||
|
||||
if (versionSwitch->is_set())
|
||||
{
|
||||
cout << "snapclient v" << version::code << (!version::rev().empty() ? (" (rev " + version::rev(8) + ")") : ("")) << "\n"
|
||||
|
@ -313,6 +305,19 @@ int main(int argc, char** argv)
|
|||
else
|
||||
throw SnapException("Invalid log sink: " + settings.logging.sink);
|
||||
|
||||
if (!op.non_option_args().empty())
|
||||
{
|
||||
streamreader::StreamUri uri(op.non_option_args().front());
|
||||
settings.server.host = uri.host;
|
||||
settings.server.protocol = uri.scheme;
|
||||
if (uri.port.has_value())
|
||||
settings.server.port = uri.port.value();
|
||||
else if (settings.server.protocol == "ws")
|
||||
settings.server.port = 1780;
|
||||
else if (settings.server.protocol == "wss")
|
||||
settings.server.port = 1788;
|
||||
}
|
||||
|
||||
#if !defined(HAS_AVAHI) && !defined(HAS_BONJOUR)
|
||||
if (settings.server.host.empty())
|
||||
throw SnapException("Snapserver host not configured and mDNS not available, please configure with \"--host\".");
|
||||
|
|
Loading…
Add table
Reference in a new issue